From b3489e1ede62b69d54524aed83fbc37acc51164e Mon Sep 17 00:00:00 2001 From: Evandro Date: Mon, 1 Jun 2026 00:50:06 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20Initial=20commit:=20PiAgentUI=20?= =?UTF-8?q?=E2=80=94=20AI=20Agent=20Desktop=20&=20Web=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A professional workspace for AI coding agents with: - Real-time streaming chat with SSE - Session management (fork, clone, tree navigation) - MCP tools browser & metadata panel - Skills browser (global, project, package sources) - Voice input & STT provider configuration - Integrated terminal & file explorer - Model selector with capability metadata - Keyboard-first UI with command palette - 8 languages (en, pt-BR, es, ja, zh-CN, ar, bn, hi) - Tauri 2 desktop app - React 19 + TypeScript + Vite 8 + Tailwind CSS 4 - Pi Agent extension runtime Originally forked from OpenCodeUI, now an independent project. License: GPL-3.0-only --- .dockerignore | 15 + .editorconfig | 9 + .env.example | 46 + .gitattributes | 24 + .github/workflows/build.yml | 32 + .github/workflows/deploy.yml | 46 + .github/workflows/docker-backend.yml | 66 + .github/workflows/docker-frontend.yml | 71 + .github/workflows/docker-gateway.yml | 65 + .github/workflows/release.yml | 240 + .gitignore | 8 + .pi-lens/cache/review-graph.json | 1 + .prettierignore | 5 + .prettierrc.json | 7 + .tool-versions | 2 + CHANGELOG.md | 796 + LICENSE | 674 + README.es.md | 212 + README.ja.md | 212 + README.md | 241 + README.pt-BR.md | 212 + README_EN.md | 11 + .../app-icons/app-icon-android-background.svg | 3 + .../app-icons/app-icon-android-foreground.svg | 19 + assets/app-icons/app-icon.svg | 20 + docker-compose.build.yml | 31 + docker-compose.host.yml | 15 + docker-compose.standalone.yml | 25 + docker-compose.yml | 100 + docker/Caddyfile | 19 + docker/Caddyfile.gateway | 36 + docker/Caddyfile.standalone | 21 + docker/Dockerfile.backend | 114 + docker/Dockerfile.frontend | 48 + docker/Dockerfile.gateway | 27 + docker/backend-entrypoint.sh | 86 + docker/entrypoint-gateway.sh | 25 + docker/nginx.host.conf.example | 46 + ...2026-05-28-pi-agent-extension-migration.md | 845 + ...6-05-30-piagentui-active-session-switch.md | 531 + ...2026-05-30-piagentui-sql-settings-voice.md | 51 + ...i-stt-lan-real-sessions-project-folders.md | 93 + .../2026-05-30-roadmap-contexto-skills-mcp.md | 81 + ...26-05-31-piagentui-git-composer-control.md | 58 + ...-28-pi-agent-extension-migration-design.md | 66 + .../2026-05-28-pi-agent-ui-field-inventory.md | 105 + ...-piagentui-active-session-switch-design.md | 140 + ...05-30-piagentui-readme-audio-stt-design.md | 326 + ...an-real-sessions-project-folders-design.md | 565 + ...1-piagentui-git-composer-control-design.md | 87 + eslint.config.js | 45 + .../piagentui-extension-manager.test.ts | 128 + extensions/piagentui-extension-manager.ts | 513 + extensions/piagentui-git-manager.test.ts | 103 + extensions/piagentui-git-manager.ts | 259 + extensions/piagentui-server-core.test.ts | 171 + extensions/piagentui-server-core.ts | 172 + extensions/piagentui-server.test.ts | 1043 + extensions/piagentui-server.ts | 2345 ++ extensions/piagentui-settings-store.test.ts | 99 + extensions/piagentui-settings-store.ts | 214 + index.html | 27 + openapi_doc.json | 5378 +++++ openapi_formatted.json | 10277 ++++++++ package-lock.json | 8808 +++++++ package.json | 127 + pnpm-lock.yaml | 6239 +++++ pnpm-workspace.yaml | 2 + public/404.html | 26 + public/manifest.json | 18 + public/material-icons/angular.svg | 1 + public/material-icons/assembly.svg | 1 + public/material-icons/astro-config.svg | 1 + public/material-icons/astro.svg | 1 + public/material-icons/audio.svg | 1 + public/material-icons/babel.svg | 1 + public/material-icons/bun.svg | 1 + public/material-icons/c.svg | 1 + public/material-icons/certificate.svg | 1 + public/material-icons/changelog.svg | 1 + public/material-icons/clojure.svg | 1 + public/material-icons/cmake.svg | 1 + public/material-icons/console.svg | 1 + public/material-icons/cpp.svg | 1 + public/material-icons/csharp.svg | 1 + public/material-icons/css-map.svg | 1 + public/material-icons/css.svg | 1 + public/material-icons/dart.svg | 1 + public/material-icons/database.svg | 1 + public/material-icons/deno.svg | 1 + public/material-icons/docker.svg | 1 + public/material-icons/document.svg | 1 + public/material-icons/elixir.svg | 1 + public/material-icons/erlang.svg | 1 + public/material-icons/eslint.svg | 1 + public/material-icons/file.svg | 1 + public/material-icons/firebase.svg | 1 + public/material-icons/folder-android-open.svg | 1 + public/material-icons/folder-android.svg | 1 + public/material-icons/folder-api-open.svg | 1 + public/material-icons/folder-api.svg | 1 + .../material-icons/folder-buildkite-open.svg | 1 + public/material-icons/folder-buildkite.svg | 1 + public/material-icons/folder-ci-open.svg | 1 + public/material-icons/folder-ci.svg | 1 + .../material-icons/folder-circleci-open.svg | 1 + public/material-icons/folder-circleci.svg | 1 + .../material-icons/folder-components-open.svg | 1 + public/material-icons/folder-components.svg | 1 + public/material-icons/folder-config-open.svg | 1 + public/material-icons/folder-config.svg | 1 + .../material-icons/folder-container-open.svg | 1 + public/material-icons/folder-container.svg | 1 + public/material-icons/folder-content-open.svg | 1 + public/material-icons/folder-content.svg | 1 + public/material-icons/folder-context-open.svg | 1 + public/material-icons/folder-context.svg | 1 + .../material-icons/folder-controller-open.svg | 1 + public/material-icons/folder-controller.svg | 1 + public/material-icons/folder-core-open.svg | 1 + public/material-icons/folder-core.svg | 1 + public/material-icons/folder-css-open.svg | 1 + public/material-icons/folder-css.svg | 1 + public/material-icons/folder-cursor-open.svg | 1 + public/material-icons/folder-cursor.svg | 1 + public/material-icons/folder-cypress-open.svg | 1 + public/material-icons/folder-cypress.svg | 1 + .../material-icons/folder-database-open.svg | 1 + public/material-icons/folder-database.svg | 1 + public/material-icons/folder-desktop-open.svg | 1 + public/material-icons/folder-desktop.svg | 1 + public/material-icons/folder-dist-open.svg | 1 + public/material-icons/folder-dist.svg | 1 + public/material-icons/folder-docker-open.svg | 1 + public/material-icons/folder-docker.svg | 1 + public/material-icons/folder-docs-open.svg | 1 + public/material-icons/folder-docs.svg | 1 + public/material-icons/folder-drizzle-open.svg | 1 + public/material-icons/folder-drizzle.svg | 1 + .../folder-environment-open.svg | 1 + public/material-icons/folder-environment.svg | 1 + .../material-icons/folder-examples-open.svg | 1 + public/material-icons/folder-examples.svg | 1 + .../material-icons/folder-firebase-open.svg | 1 + public/material-icons/folder-firebase.svg | 1 + public/material-icons/folder-font-open.svg | 1 + public/material-icons/folder-font.svg | 1 + .../material-icons/folder-functions-open.svg | 1 + public/material-icons/folder-functions.svg | 1 + .../folder-gh-workflows-open.svg | 1 + public/material-icons/folder-gh-workflows.svg | 1 + public/material-icons/folder-git-open.svg | 1 + public/material-icons/folder-git.svg | 1 + public/material-icons/folder-github-open.svg | 1 + public/material-icons/folder-github.svg | 1 + public/material-icons/folder-gitlab-open.svg | 1 + public/material-icons/folder-gitlab.svg | 1 + public/material-icons/folder-helper-open.svg | 1 + public/material-icons/folder-helper.svg | 1 + public/material-icons/folder-hook-open.svg | 1 + public/material-icons/folder-hook.svg | 1 + public/material-icons/folder-i18n-open.svg | 1 + public/material-icons/folder-i18n.svg | 1 + public/material-icons/folder-images-open.svg | 1 + public/material-icons/folder-images.svg | 1 + .../material-icons/folder-intellij-open.svg | 1 + public/material-icons/folder-intellij.svg | 1 + .../material-icons/folder-interface-open.svg | 1 + public/material-icons/folder-interface.svg | 1 + public/material-icons/folder-ios-open.svg | 1 + public/material-icons/folder-ios.svg | 1 + public/material-icons/folder-job-open.svg | 1 + public/material-icons/folder-job.svg | 1 + public/material-icons/folder-keys-open.svg | 1 + public/material-icons/folder-keys.svg | 1 + .../material-icons/folder-kubernetes-open.svg | 1 + public/material-icons/folder-kubernetes.svg | 1 + public/material-icons/folder-layout-open.svg | 1 + public/material-icons/folder-layout.svg | 1 + public/material-icons/folder-less-open.svg | 1 + public/material-icons/folder-less.svg | 1 + public/material-icons/folder-lib-open.svg | 1 + public/material-icons/folder-lib.svg | 1 + public/material-icons/folder-linux-open.svg | 1 + public/material-icons/folder-linux.svg | 1 + public/material-icons/folder-log-open.svg | 1 + public/material-icons/folder-log.svg | 1 + public/material-icons/folder-macos-open.svg | 1 + public/material-icons/folder-macos.svg | 1 + .../material-icons/folder-middleware-open.svg | 1 + public/material-icons/folder-middleware.svg | 1 + public/material-icons/folder-mobile-open.svg | 1 + public/material-icons/folder-mobile.svg | 1 + public/material-icons/folder-mock-open.svg | 1 + public/material-icons/folder-mock.svg | 1 + public/material-icons/folder-netlify-open.svg | 1 + public/material-icons/folder-netlify.svg | 1 + .../material-icons/folder-ngrx-store-open.svg | 1 + public/material-icons/folder-ngrx-store.svg | 1 + public/material-icons/folder-node-open.svg | 1 + public/material-icons/folder-node.svg | 1 + public/material-icons/folder-open.svg | 1 + .../material-icons/folder-packages-open.svg | 1 + public/material-icons/folder-packages.svg | 1 + public/material-icons/folder-prisma-open.svg | 1 + public/material-icons/folder-prisma.svg | 1 + public/material-icons/folder-public-open.svg | 1 + public/material-icons/folder-public.svg | 1 + public/material-icons/folder-queue-open.svg | 1 + public/material-icons/folder-queue.svg | 1 + public/material-icons/folder-routes-open.svg | 1 + public/material-icons/folder-routes.svg | 1 + public/material-icons/folder-sass-open.svg | 1 + public/material-icons/folder-sass.svg | 1 + public/material-icons/folder-scripts-open.svg | 1 + public/material-icons/folder-scripts.svg | 1 + public/material-icons/folder-secure-open.svg | 1 + public/material-icons/folder-secure.svg | 1 + public/material-icons/folder-server-open.svg | 1 + public/material-icons/folder-server.svg | 1 + .../material-icons/folder-serverless-open.svg | 1 + public/material-icons/folder-serverless.svg | 1 + public/material-icons/folder-shared-open.svg | 1 + public/material-icons/folder-shared.svg | 1 + public/material-icons/folder-src-open.svg | 1 + .../material-icons/folder-src-tauri-open.svg | 1 + public/material-icons/folder-src-tauri.svg | 1 + public/material-icons/folder-src.svg | 1 + public/material-icons/folder-store-open.svg | 1 + public/material-icons/folder-store.svg | 1 + .../material-icons/folder-storybook-open.svg | 1 + public/material-icons/folder-storybook.svg | 1 + .../material-icons/folder-supabase-open.svg | 1 + public/material-icons/folder-supabase.svg | 1 + public/material-icons/folder-target-open.svg | 1 + public/material-icons/folder-target.svg | 1 + public/material-icons/folder-tasks-open.svg | 1 + public/material-icons/folder-tasks.svg | 1 + public/material-icons/folder-temp-open.svg | 1 + public/material-icons/folder-temp.svg | 1 + .../material-icons/folder-template-open.svg | 1 + public/material-icons/folder-template.svg | 1 + .../material-icons/folder-terraform-open.svg | 1 + public/material-icons/folder-terraform.svg | 1 + public/material-icons/folder-test-open.svg | 1 + public/material-icons/folder-test.svg | 1 + public/material-icons/folder-tools-open.svg | 1 + public/material-icons/folder-tools.svg | 1 + .../material-icons/folder-typescript-open.svg | 1 + public/material-icons/folder-typescript.svg | 1 + public/material-icons/folder-utils-open.svg | 1 + public/material-icons/folder-utils.svg | 1 + public/material-icons/folder-vercel-open.svg | 1 + public/material-icons/folder-vercel.svg | 1 + public/material-icons/folder-views-open.svg | 1 + public/material-icons/folder-views.svg | 1 + public/material-icons/folder-vscode-open.svg | 1 + public/material-icons/folder-vscode.svg | 1 + public/material-icons/folder-windows-open.svg | 1 + public/material-icons/folder-windows.svg | 1 + public/material-icons/folder.svg | 1 + public/material-icons/font.svg | 1 + public/material-icons/fsharp.svg | 1 + public/material-icons/git.svg | 1 + public/material-icons/go-mod.svg | 1 + public/material-icons/go.svg | 1 + public/material-icons/gradle.svg | 1 + public/material-icons/graphql.svg | 1 + public/material-icons/gulp.svg | 1 + public/material-icons/haskell.svg | 1 + public/material-icons/html.svg | 1 + public/material-icons/image.svg | 1 + public/material-icons/java.svg | 1 + public/material-icons/javascript-map.svg | 1 + public/material-icons/javascript.svg | 1 + public/material-icons/jest.svg | 1 + public/material-icons/jsconfig.svg | 1 + public/material-icons/json.svg | 1 + public/material-icons/julia.svg | 1 + public/material-icons/key.svg | 1 + public/material-icons/kotlin.svg | 1 + public/material-icons/less.svg | 1 + public/material-icons/license.svg | 1 + public/material-icons/lock.svg | 1 + public/material-icons/lua.svg | 1 + public/material-icons/makefile.svg | 1 + public/material-icons/markdown.svg | 1 + public/material-icons/maven.svg | 1 + public/material-icons/mdx.svg | 1 + public/material-icons/netlify.svg | 1 + public/material-icons/next.svg | 1 + public/material-icons/nim.svg | 1 + public/material-icons/nodejs.svg | 1 + public/material-icons/nuxt.svg | 1 + public/material-icons/ocaml.svg | 1 + public/material-icons/pdf.svg | 1 + public/material-icons/perl.svg | 1 + public/material-icons/php.svg | 1 + public/material-icons/pnpm.svg | 1 + public/material-icons/powershell.svg | 1 + public/material-icons/prettier.svg | 1 + public/material-icons/prisma.svg | 1 + public/material-icons/proto.svg | 1 + public/material-icons/python.svg | 1 + public/material-icons/r.svg | 1 + public/material-icons/react.svg | 1 + public/material-icons/react_ts.svg | 1 + public/material-icons/readme.svg | 1 + public/material-icons/rollup.svg | 1 + public/material-icons/ruby.svg | 1 + public/material-icons/rust.svg | 1 + public/material-icons/sass.svg | 1 + public/material-icons/scala.svg | 1 + public/material-icons/settings.svg | 1 + public/material-icons/storybook.svg | 1 + public/material-icons/svelte.svg | 1 + public/material-icons/svg.svg | 1 + public/material-icons/swift.svg | 1 + public/material-icons/tailwindcss.svg | 1 + public/material-icons/toml.svg | 1 + public/material-icons/tsconfig.svg | 1 + public/material-icons/turborepo.svg | 1 + public/material-icons/typescript-def.svg | 1 + public/material-icons/typescript.svg | 1 + public/material-icons/vercel.svg | 1 + public/material-icons/video.svg | 1 + public/material-icons/vite.svg | 1 + public/material-icons/vitest.svg | 1 + public/material-icons/vue-config.svg | 1 + public/material-icons/vue.svg | 1 + public/material-icons/webpack.svg | 1 + public/material-icons/xml.svg | 1 + public/material-icons/yaml.svg | 1 + public/material-icons/yarn.svg | 1 + public/material-icons/zig.svg | 1 + public/material-icons/zip.svg | 1 + public/notification-sw.js | 39 + public/pi.svg | 17 + public/piagentui-logo.png | Bin 0 -> 424625 bytes public/vite.svg | 1 + scripts/bump-version.mjs | 204 + scripts/copy-material-icons.mjs | 70 + scripts/dev-android.sh | 13 + scripts/prepare-release.mjs | 94 + src-router/Cargo.lock | 930 + src-router/Cargo.toml | 29 + src-router/src/caddy.rs | 71 + src-router/src/config.rs | 127 + src-router/src/main.rs | 36 + src-router/src/router.html | 730 + src-router/src/router.rs | 396 + src-router/src/scanner.rs | 89 + src-router/src/state.rs | 85 + src-tauri/.gitignore | 4 + src-tauri/Cargo.lock | 6565 +++++ src-tauri/Cargo.toml | 46 + src-tauri/app-icon.manifest.json | 6 + src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 42 + src-tauri/gen/android/.editorconfig | 12 + src-tauri/gen/android/.gitignore | 19 + src-tauri/gen/android/app/.gitignore | 6 + src-tauri/gen/android/app/build.gradle.kts | 95 + src-tauri/gen/android/app/proguard-rules.pro | 21 + .../android/app/src/main/AndroidManifest.xml | 40 + .../java/com/opencodeui/app/MainActivity.kt | 304 + .../drawable-v24/ic_launcher_foreground.xml | 30 + .../res/drawable/ic_launcher_background.xml | 170 + .../app/src/main/res/layout/activity_main.xml | 18 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1511 bytes .../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 373 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 1449 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 1705 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1446 bytes .../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 239 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 957 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1703 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3287 bytes .../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 514 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 1883 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 3916 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 5084 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 900 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 2787 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 6023 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 6955 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 1355 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 3862 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 8177 bytes .../app/src/main/res/values-night/themes.xml | 14 + .../app/src/main/res/values/colors.xml | 10 + .../res/values/ic_launcher_background.xml | 4 + .../app/src/main/res/values/strings.xml | 4 + .../app/src/main/res/values/themes.xml | 14 + .../app/src/main/res/xml/file_paths.xml | 5 + src-tauri/gen/android/build.gradle.kts | 22 + .../gen/android/buildSrc/build.gradle.kts | 23 + .../com/opencodeui/app/kotlin/BuildTask.kt | 68 + .../com/opencodeui/app/kotlin/RustPlugin.kt | 85 + src-tauri/gen/android/gradle.properties | 24 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + src-tauri/gen/android/gradlew | 185 + src-tauri/gen/android/gradlew.bat | 89 + src-tauri/gen/android/settings.gradle | 3 + src-tauri/icons/128x128.png | Bin 0 -> 14420 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 38432 bytes src-tauri/icons/32x32.png | Bin 0 -> 2247 bytes src-tauri/icons/64x64.png | Bin 0 -> 5705 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 11175 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 16498 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 17790 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 44463 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 2032 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 50526 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 3469 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 6431 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 8763 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 4203 bytes src-tauri/icons/icon.icns | Bin 0 -> 592266 bytes src-tauri/icons/icon.ico | Bin 0 -> 53176 bytes src-tauri/icons/icon.png | Bin 0 -> 104268 bytes src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 1039 bytes src-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 2523 bytes src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 2523 bytes src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 4322 bytes src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 1670 bytes src-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 4113 bytes src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 4113 bytes src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 7062 bytes src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 2523 bytes src-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 6332 bytes src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 6332 bytes src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 10997 bytes src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 255070 bytes src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 10997 bytes src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 19420 bytes src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 5868 bytes src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 15316 bytes src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 17702 bytes src-tauri/src/app/bridge/args.rs | 74 + src-tauri/src/app/bridge/event.rs | 15 + src-tauri/src/app/bridge/mod.rs | 7 + src-tauri/src/app/bridge/state.rs | 142 + src-tauri/src/app/commands/bridge.rs | 402 + src-tauri/src/app/commands/mod.rs | 5 + src-tauri/src/app/commands/pi_agent.rs | 166 + src-tauri/src/app/commands/utils.rs | 45 + src-tauri/src/app/dir_state.rs | 27 + src-tauri/src/app/mod.rs | 301 + src-tauri/src/app/service.rs | 18 + src-tauri/src/lib.rs | 6 + src-tauri/src/main.rs | 8 + src-tauri/tauri.conf.json | 49 + src-tauri/windows/hooks.nsi | 19 + src/App.tsx | 631 + src/api/agent.ts | 29 + src/api/client.test.ts | 73 + src/api/client.ts | 140 + src/api/command.test.ts | 66 + src/api/command.ts | 107 + src/api/config.ts | 58 + src/api/events.test.ts | 317 + src/api/events.ts | 896 + src/api/extension.test.ts | 43 + src/api/extension.ts | 36 + src/api/file.ts | 151 + src/api/global.ts | 46 + src/api/http.test.ts | 41 + src/api/http.ts | 47 + src/api/index.ts | 3 + src/api/lsp.ts | 29 + src/api/mcp.test.ts | 40 + src/api/mcp.ts | 62 + src/api/message.ts | 156 + src/api/network.test.ts | 47 + src/api/network.ts | 10 + src/api/permission.ts | 111 + src/api/piClient.test.ts | 51 + src/api/piClient.ts | 115 + src/api/piContract.ts | 51 + src/api/pty.ts | 53 + src/api/ptyBridge.ts | 25 + src/api/session.test.ts | 44 + src/api/session.ts | 215 + src/api/skill.test.ts | 35 + src/api/skill.ts | 18 + src/api/sse.test.ts | 19 + src/api/sse.ts | 36 + src/api/stt.test.ts | 93 + src/api/stt.ts | 44 + src/api/todo.ts | 39 + src/api/tool.ts | 32 + src/api/tts.ts | 38 + src/api/types.ts | 67 + src/api/vcs.test.ts | 61 + src/api/vcs.ts | 89 + src/api/worktree.ts | 34 + src/assets/icons/agent.svg | 4 + src/assets/icons/alert-circle.svg | 5 + src/assets/icons/arrow-up.svg | 4 + src/assets/icons/at.svg | 4 + src/assets/icons/bolt.svg | 3 + src/assets/icons/check.svg | 3 + src/assets/icons/checklist.svg | 7 + src/assets/icons/chevron-down.svg | 3 + src/assets/icons/chevron-right.svg | 3 + src/assets/icons/circle.svg | 3 + src/assets/icons/clipboard-list.svg | 8 + src/assets/icons/clock.svg | 4 + src/assets/icons/close.svg | 4 + src/assets/icons/compact.svg | 9 + src/assets/icons/copy.svg | 4 + src/assets/icons/cpu.svg | 7 + src/assets/icons/dollar-sign.svg | 4 + src/assets/icons/download.svg | 1 + src/assets/icons/expand.svg | 5 + src/assets/icons/external-link.svg | 5 + src/assets/icons/eye.svg | 4 + src/assets/icons/file-read.svg | 6 + src/assets/icons/file-write.svg | 4 + src/assets/icons/file.svg | 4 + src/assets/icons/folder.svg | 3 + src/assets/icons/globe.svg | 5 + src/assets/icons/grid.svg | 6 + src/assets/icons/hand.svg | 6 + src/assets/icons/image.svg | 5 + src/assets/icons/layers.svg | 5 + src/assets/icons/lightbulb.svg | 5 + src/assets/icons/link.svg | 4 + src/assets/icons/maximize.svg | 3 + src/assets/icons/menu-dots.svg | 5 + src/assets/icons/message-square.svg | 3 + src/assets/icons/minimize.svg | 3 + src/assets/icons/moon.svg | 3 + src/assets/icons/new-chat.svg | 4 + src/assets/icons/patch.svg | 5 + src/assets/icons/path-auto.svg | 4 + src/assets/icons/path-unix.svg | 3 + src/assets/icons/path-windows.svg | 3 + src/assets/icons/pencil.svg | 4 + src/assets/icons/permission-list.svg | 8 + src/assets/icons/plus.svg | 4 + src/assets/icons/question.svg | 4 + src/assets/icons/redo.svg | 4 + src/assets/icons/retry.svg | 6 + src/assets/icons/return.svg | 4 + src/assets/icons/search.svg | 4 + src/assets/icons/send.svg | 4 + src/assets/icons/settings.svg | 4 + src/assets/icons/share.svg | 5 + src/assets/icons/sidebar.svg | 4 + src/assets/icons/spinner.svg | 4 + src/assets/icons/stop.svg | 3 + src/assets/icons/sun.svg | 11 + src/assets/icons/system.svg | 5 + src/assets/icons/task.svg | 7 + src/assets/icons/teach.svg | 5 + src/assets/icons/terminal.svg | 4 + src/assets/icons/thinking.svg | 4 + src/assets/icons/trash.svg | 5 + src/assets/icons/undo.svg | 4 + src/assets/icons/users.svg | 6 + src/assets/icons/wrench.svg | 3 + src/assets/images/img1.png | Bin 0 -> 619111 bytes src/assets/images/img2.png | Bin 0 -> 298763 bytes src/assets/images/img3.png | Bin 0 -> 455576 bytes src/assets/images/logo/PiAgentUiBlack (1).png | Bin 0 -> 893315 bytes src/assets/images/logo/PiAgentUiBlack (2).png | Bin 0 -> 417900 bytes src/assets/images/logo/PiAgentUiBlack (3).png | Bin 0 -> 826295 bytes src/assets/images/logo/PiAgentUiBlack (4).png | Bin 0 -> 860658 bytes src/assets/images/logo/PiAgentUiBlack (5).png | Bin 0 -> 571396 bytes .../logo/PiAgentUiLogoBlackletterBGTransp.png | Bin 0 -> 424625 bytes .../logo/PiAgentUiLogoWhiteletterBGTransp.png | Bin 0 -> 438930 bytes src/assets/images/logo/PiAgentUiWhite (1).png | Bin 0 -> 791514 bytes src/assets/images/logo/PiAgentUiWhite (2).png | Bin 0 -> 705291 bytes src/assets/images/logo/PiAgentUiWhite (3).png | Bin 0 -> 753466 bytes src/assets/images/logo/PiAgentUiWhite (4).png | Bin 0 -> 732715 bytes src/assets/images/logo/PiAgentUiWhite (5).png | Bin 0 -> 747687 bytes src/assets/models.json | 19864 ++++++++++++++++ src/assets/react.svg | 1 + src/components/BottomPanel.tsx | 324 + src/components/CircularProgress.tsx | 63 + src/components/CloseServiceDialog.tsx | 67 + src/components/CodeBlock.test.tsx | 60 + src/components/CodeBlock.tsx | 156 + src/components/CodeMirrorReadonly.tsx | 86 + src/components/CodePreview.test.tsx | 55 + src/components/CodePreview.tsx | 34 + src/components/CommandPalette.test.tsx | 58 + src/components/CommandPalette.tsx | 307 + src/components/ContentBlock.tsx | 328 + src/components/DesktopTitlebar.test.tsx | 48 + src/components/DesktopTitlebar.tsx | 190 + src/components/DiffView.test.tsx | 36 + src/components/DiffView.tsx | 174 + src/components/DiffViewer.test.tsx | 82 + src/components/DiffViewer.tsx | 1847 ++ src/components/ErrorBoundary.tsx | 111 + src/components/ExtensionPanel.test.tsx | 103 + src/components/ExtensionPanel.tsx | 427 + src/components/FileExplorer.tsx | 1061 + src/components/FullscreenViewer.test.tsx | 98 + src/components/FullscreenViewer.tsx | 162 + src/components/Icons.tsx | 212 + src/components/MarkdownRenderer.test.tsx | 105 + src/components/MarkdownRenderer.tsx | 496 + src/components/McpPanel.tsx | 622 + src/components/OutlineIndex.tsx | 601 + src/components/PanelContainer.tsx | 713 + src/components/PreviewTabsBar.tsx | 150 + src/components/RightPanel.tsx | 269 + src/components/SessionChangesPanel.test.tsx | 290 + src/components/SessionChangesPanel.tsx | 1225 + src/components/SkillPanel.test.tsx | 60 + src/components/SkillPanel.tsx | 209 + src/components/Terminal.tsx | 1033 + src/components/ToastContainer.tsx | 218 + src/components/WorktreePanel.tsx | 536 + .../codeMirrorReadonlyExtensions.ts | 267 + src/components/index.ts | 22 + src/components/ui/AnimatedPresence.tsx | 73 + src/components/ui/Button.tsx | 55 + src/components/ui/ConfirmDialog.tsx | 51 + src/components/ui/CopyButton.tsx | 67 + src/components/ui/Dialog.test.tsx | 180 + src/components/ui/Dialog.tsx | 381 + src/components/ui/DropdownMenu.test.tsx | 119 + src/components/ui/DropdownMenu.tsx | 188 + src/components/ui/IconButton.tsx | 48 + src/components/ui/MenuItem.tsx | 62 + src/components/ui/ModalShell.tsx | 48 + src/components/ui/ResizablePanel.tsx | 301 + src/components/ui/ScrollArea.tsx | 33 + src/components/ui/SmoothHeight.tsx | 76 + src/components/ui/index.ts | 11 + src/constants/animation.ts | 2 + src/constants/api.ts | 2 + src/constants/desktopWindow.ts | 9 + src/constants/index.ts | 11 + src/constants/pagination.ts | 5 + src/constants/storage.ts | 15 + src/constants/time.ts | 11 + src/constants/ui.ts | 2 + src/contexts/DirectoryContext.shared.ts | 23 + src/contexts/DirectoryContext.tsx | 208 + src/contexts/SessionContext.shared.ts | 17 + src/contexts/SessionContext.test.tsx | 157 + src/contexts/SessionContext.tsx | 255 + src/contexts/SessionNavigationContext.tsx | 37 + src/contexts/index.ts | 8 + src/contexts/useDirectory.ts | 35 + src/contexts/useSessionContext.ts | 10 + .../attachment/AttachmentDetailModal.test.tsx | 71 + .../attachment/AttachmentDetailModal.tsx | 479 + src/features/attachment/AttachmentItem.tsx | 384 + src/features/attachment/AttachmentPreview.tsx | 63 + src/features/attachment/index.ts | 4 + src/features/attachment/types.ts | 61 + src/features/attachment/utils.ts | 145 + src/features/chat/ChatArea.test.ts | 159 + src/features/chat/ChatArea.tsx | 622 + src/features/chat/ChatPane.tsx | 910 + src/features/chat/EmptyState.tsx | 199 + src/features/chat/Header.tsx | 275 + src/features/chat/InlinePermission.tsx | 130 + src/features/chat/InlineQuestion.tsx | 309 + .../chat/InlineToolRequestContext.tsx | 85 + src/features/chat/InputBox.test.tsx | 362 + src/features/chat/InputBox.tsx | 1178 + .../chat/InputBoxAttachments.test.tsx | 93 + src/features/chat/ModelSelector.test.tsx | 158 + src/features/chat/ModelSelector.tsx | 893 + src/features/chat/PaneDropOverlay.tsx | 116 + src/features/chat/PaneHeader.tsx | 306 + src/features/chat/PermissionDialog.tsx | 222 + src/features/chat/ProjectDialog.test.tsx | 46 + src/features/chat/ProjectDialog.tsx | 451 + src/features/chat/QuestionDialog.tsx | 397 + src/features/chat/RetryStatusInline.tsx | 90 + src/features/chat/ShareDialog.tsx | 135 + src/features/chat/Sidebar.tsx | 351 + src/features/chat/SplitContainer.tsx | 205 + src/features/chat/chatAreaVisibility.ts | 135 + src/features/chat/chatViewport.tsx | 371 + src/features/chat/index.ts | 8 + .../chat/input/GitComposerControl.test.tsx | 103 + .../chat/input/GitComposerControl.tsx | 533 + src/features/chat/input/InputActions.tsx | 152 + src/features/chat/input/InputFooter.tsx | 408 + src/features/chat/input/InputToolbar.test.tsx | 281 + src/features/chat/input/InputToolbar.tsx | 558 + src/features/chat/input/UndoStatus.tsx | 37 + .../chat/input/VoiceInputButton.test.tsx | 66 + src/features/chat/input/VoiceInputButton.tsx | 38 + src/features/chat/input/inputUtils.ts | 73 + src/features/chat/input/useAttachmentRail.ts | 128 + src/features/chat/input/useInputHistory.ts | 202 + src/features/chat/input/useMobileCollapse.ts | 200 + .../chat/sidebar/ActiveSessionItem.tsx | 114 + .../chat/sidebar/ContextDetailsDialog.tsx | 360 + .../chat/sidebar/FolderRecentList.tsx | 1044 + .../chat/sidebar/NotificationItem.test.tsx | 73 + .../chat/sidebar/NotificationItem.tsx | 201 + .../chat/sidebar/SessionChildrenSlot.tsx | 137 + src/features/chat/sidebar/SidePanel.tsx | 1301 + src/features/chat/sidebar/SidebarFooter.tsx | 416 + .../chat/sidebar/activeSessionTree.test.ts | 41 + .../chat/sidebar/activeSessionTree.ts | 33 + .../chat/sidebar/projectGrouping.test.ts | 25 + src/features/chat/sidebar/projectGrouping.ts | 23 + src/features/chat/sidebar/sidebarUtils.ts | 20 + src/features/mention/MentionMenu.test.tsx | 84 + src/features/mention/MentionMenu.tsx | 431 + src/features/mention/MentionTag.tsx | 127 + src/features/mention/createMentionElement.ts | 55 + src/features/mention/index.ts | 32 + src/features/mention/types.ts | 46 + src/features/mention/useMention.ts | 339 + src/features/mention/utils.test.ts | 51 + src/features/mention/utils.ts | 215 + src/features/message/MessageRenderer.test.tsx | 167 + src/features/message/MessageRenderer.tsx | 1047 + src/features/message/index.ts | 2 + .../message/parts/AttachmentPartViews.tsx | 50 + .../message/parts/MessageErrorView.tsx | 132 + .../message/parts/ReasoningPartView.test.tsx | 91 + .../message/parts/ReasoningPartView.tsx | 259 + .../message/parts/StepFinishPartView.tsx | 87 + .../message/parts/SubtaskPartView.tsx | 173 + .../message/parts/SystemPartViews.test.tsx | 69 + .../message/parts/SystemPartViews.tsx | 145 + src/features/message/parts/TextPartView.tsx | 27 + .../message/parts/ToolPartView.test.tsx | 134 + src/features/message/parts/ToolPartView.tsx | 534 + src/features/message/parts/index.ts | 8 + src/features/message/tools/icons.tsx | 45 + src/features/message/tools/index.ts | 11 + src/features/message/tools/registry.test.ts | 45 + src/features/message/tools/registry.tsx | 365 + .../message/tools/renderers/BashRenderer.tsx | 315 + .../tools/renderers/DefaultRenderer.tsx | 232 + .../tools/renderers/QuestionRenderer.tsx | 243 + .../message/tools/renderers/TaskRenderer.tsx | 437 + .../message/tools/renderers/TodoRenderer.tsx | 112 + src/features/message/tools/renderers/index.ts | 6 + .../message/tools/renderers/todoUtils.ts | 20 + src/features/message/tools/types.ts | 90 + .../sessions/ProjectSelector.test.tsx | 70 + src/features/sessions/ProjectSelector.tsx | 261 + src/features/sessions/SessionList.test.tsx | 146 + src/features/sessions/SessionList.tsx | 901 + src/features/sessions/index.ts | 3 + .../sessions/sessionProjectGroups.test.ts | 45 + src/features/sessions/sessionProjectGroups.ts | 64 + src/features/settings/KeybindingsSection.tsx | 332 + src/features/settings/SettingsDialog.test.tsx | 43 + src/features/settings/SettingsDialog.tsx | 430 + .../settings/components/AboutSettings.tsx | 173 + .../settings/components/AgentSettings.tsx | 131 + .../components/AppearanceSettings.tsx | 719 + .../settings/components/ChatSettings.tsx | 137 + .../components/ModelsSettings.test.tsx | 117 + .../settings/components/ModelsSettings.tsx | 171 + .../components/NetworkAccessSettings.test.tsx | 72 + .../components/NetworkAccessSettings.tsx | 114 + .../components/NotificationSettings.tsx | 533 + .../settings/components/ServersSettings.tsx | 595 + .../settings/components/ServiceSettings.tsx | 244 + .../settings/components/SettingsUI.tsx | 202 + .../settings/components/SttSettings.test.tsx | 86 + .../settings/components/SttSettings.tsx | 176 + .../settings/components/TtsSettings.test.tsx | 45 + .../settings/components/TtsSettings.tsx | 199 + .../settings/components/VoiceSettings.tsx | 11 + .../settings/components/WorkspaceSettings.tsx | 153 + .../slash-command/SlashCommandMenu.test.tsx | 49 + .../slash-command/SlashCommandMenu.tsx | 242 + src/features/slash-command/index.ts | 2 + src/hooks/index.ts | 54 + src/hooks/sessionStatsUtils.ts | 5 + src/hooks/useCancelHint.ts | 50 + src/hooks/useChatSession.test.tsx | 369 + src/hooks/useChatSession.ts | 1141 + src/hooks/useClickOutside.ts | 25 + src/hooks/useCloseServiceDialog.ts | 50 + src/hooks/useDelayedRender.test.tsx | 53 + src/hooks/useDelayedRender.ts | 32 + src/hooks/useDropdown.ts | 47 + src/hooks/useDynamicVirtualScroll.ts | 195 + src/hooks/useFileExplorer.test.tsx | 195 + src/hooks/useFileExplorer.ts | 495 + src/hooks/useGitWorkspaceCatalog.ts | 177 + src/hooks/useGlobalEvents.test.tsx | 483 + src/hooks/useGlobalEvents.ts | 622 + src/hooks/useInView.test.tsx | 54 + src/hooks/useInView.ts | 42 + src/hooks/useInputCapabilities.ts | 73 + src/hooks/useIsMobile.ts | 22 + src/hooks/useKeybindings.ts | 143 + src/hooks/useMessageAnimation.ts | 118 + src/hooks/useModalAnimation.ts | 40 + src/hooks/useModelSelection.test.tsx | 196 + src/hooks/useModelSelection.ts | 175 + src/hooks/useModels.test.tsx | 117 + src/hooks/useModels.ts | 95 + src/hooks/useNotification.ts | 241 + src/hooks/useNow.ts | 18 + src/hooks/usePanelResizeStatus.ts | 21 + src/hooks/usePathMode.ts | 61 + src/hooks/usePermissionHandler.ts | 213 + src/hooks/usePermissions.ts | 50 + src/hooks/usePresence.ts | 69 + src/hooks/useProject.ts | 92 + src/hooks/useResponsiveMaxHeight.ts | 41 + src/hooks/useRevertState.ts | 228 + src/hooks/useRouter.ts | 192 + src/hooks/useServerStore.ts | 74 + src/hooks/useSessionContextUsage.ts | 32 + src/hooks/useSessionManager.ts | 385 + src/hooks/useSessionStats.test.ts | 33 + src/hooks/useSessionStats.test.tsx | 148 + src/hooks/useSessionStats.ts | 270 + src/hooks/useSessions.test.tsx | 163 + src/hooks/useSessions.ts | 295 + src/hooks/useSyntaxHighlight.test.ts | 14 + src/hooks/useSyntaxHighlight.ts | 509 + src/hooks/useTheme.ts | 310 + src/hooks/useVcsInfo.ts | 78 + src/hooks/useVerticalSplitResize.ts | 170 + src/hooks/useViewportHeight.ts | 77 + src/hooks/useVoiceTranscription.test.tsx | 162 + src/hooks/useVoiceTranscription.ts | 139 + src/hooks/useWakeLock.ts | 46 + src/i18n.ts | 41 + src/index.css | 952 + src/lib/overlayScrollbar.ts | 408 + src/lib/shiki.ts | 121 + src/locales/ar/chat.json | 228 + src/locales/ar/commands.json | 124 + src/locales/ar/common.json | 70 + src/locales/ar/components.json | 215 + src/locales/ar/message.json | 155 + src/locales/ar/settings.json | 344 + src/locales/bn/chat.json | 228 + src/locales/bn/commands.json | 124 + src/locales/bn/common.json | 70 + src/locales/bn/components.json | 215 + src/locales/bn/message.json | 155 + src/locales/bn/settings.json | 344 + src/locales/en/chat.json | 228 + src/locales/en/commands.json | 124 + src/locales/en/common.json | 70 + src/locales/en/components.json | 215 + src/locales/en/message.json | 155 + src/locales/en/settings.json | 344 + src/locales/es/chat.json | 228 + src/locales/es/commands.json | 124 + src/locales/es/common.json | 70 + src/locales/es/components.json | 215 + src/locales/es/message.json | 155 + src/locales/es/settings.json | 344 + src/locales/hi/chat.json | 228 + src/locales/hi/commands.json | 124 + src/locales/hi/common.json | 70 + src/locales/hi/components.json | 215 + src/locales/hi/message.json | 155 + src/locales/hi/settings.json | 344 + src/locales/locales.test.ts | 48 + src/locales/pt-BR/chat.json | 228 + src/locales/pt-BR/commands.json | 124 + src/locales/pt-BR/common.json | 70 + src/locales/pt-BR/components.json | 215 + src/locales/pt-BR/message.json | 155 + src/locales/pt-BR/settings.json | 344 + src/locales/zh-CN/chat.json | 228 + src/locales/zh-CN/commands.json | 124 + src/locales/zh-CN/common.json | 70 + src/locales/zh-CN/components.json | 215 + src/locales/zh-CN/message.json | 155 + src/locales/zh-CN/settings.json | 344 + src/main.tsx | 164 + src/store/activeSessionStore.test.ts | 47 + src/store/activeSessionStore.ts | 366 + src/store/autoApproveStore.ts | 284 + src/store/changeScopeStore.ts | 46 + src/store/childSessionStore.ts | 283 + src/store/followupQueueStore.ts | 220 + src/store/index.ts | 101 + src/store/keybindingStore.test.ts | 21 + src/store/keybindingStore.ts | 789 + src/store/layoutStore.test.ts | 162 + src/store/layoutStore.ts | 1293 + src/store/messageStore.test.ts | 331 + src/store/messageStore.ts | 855 + src/store/messageStoreHooks.test.tsx | 80 + src/store/messageStoreHooks.ts | 211 + src/store/messageStoreTypes.ts | 80 + src/store/modelVisibilityStore.ts | 95 + .../notificationEventSettingsStore.test.ts | 25 + src/store/notificationEventSettingsStore.ts | 181 + src/store/notificationStore.ts | 325 + src/store/paneControllerStore.ts | 101 + src/store/paneLayoutStore.test.ts | 21 + src/store/paneLayoutStore.ts | 485 + src/store/serverStore.test.ts | 53 + src/store/serverStore.ts | 572 + src/store/serviceStore.ts | 214 + src/store/soundStore.ts | 556 + src/store/themeStore.ts | 955 + src/store/todoStore.ts | 172 + src/store/updateStore.test.ts | 109 + src/store/updateStore.ts | 275 + src/test/setup.ts | 83 + src/themes/index.ts | 979 + src/types/api/agent.ts | 15 + src/types/api/common.ts | 37 + src/types/api/compat.ts | 272 + src/types/api/config.ts | 48 + src/types/api/event.ts | 173 + src/types/api/extension.ts | 59 + src/types/api/file.ts | 67 + src/types/api/index.ts | 210 + src/types/api/mcp.ts | 67 + src/types/api/message.ts | 71 + src/types/api/model.ts | 53 + src/types/api/network.ts | 12 + src/types/api/permission.ts | 42 + src/types/api/project.ts | 21 + src/types/api/pty.ts | 29 + src/types/api/session.ts | 42 + src/types/api/skill.ts | 12 + src/types/api/stt.ts | 36 + src/types/api/tool.ts | 9 + src/types/api/tts.ts | 28 + src/types/api/vcs.ts | 60 + src/types/api/worktree.ts | 19 + src/types/chat.ts | 130 + src/types/index.ts | 85 + src/types/message.ts | 380 + src/types/ui.ts | 109 + src/types/view-transitions.d.ts | 10 + src/utils/activeScope.test.ts | 26 + src/utils/activeScope.ts | 30 + src/utils/ansiUtils.ts | 140 + src/utils/clipboard.test.ts | 59 + src/utils/clipboard.ts | 65 + src/utils/dateUtils.ts | 19 + src/utils/diffUtils.ts | 28 + src/utils/directoryUtils.ts | 299 + src/utils/downloadUtils.ts | 101 + src/utils/errorHandling.ts | 90 + src/utils/formatUtils.test.ts | 47 + src/utils/formatUtils.ts | 79 + src/utils/index.ts | 9 + src/utils/languageUtils.ts | 131 + src/utils/lineNumberUtils.ts | 14 + src/utils/logger.ts | 22 + src/utils/materialIcons.ts | 461 + src/utils/messageConversion.ts | 36 + src/utils/mimeUtils.ts | 109 + src/utils/modelUtils.ts | 401 + src/utils/notificationSoundBridge.ts | 73 + src/utils/openRouterModelMetadata.test.ts | 60 + src/utils/openRouterModelMetadata.ts | 106 + src/utils/perServerStorage.ts | 122 + src/utils/ptyProtocol.test.ts | 30 + src/utils/ptyProtocol.ts | 39 + src/utils/sessionHelpers.ts | 48 + src/utils/settingsBackup.test.ts | 67 + src/utils/settingsBackup.ts | 189 + src/utils/soundPlayer.ts | 389 + src/utils/stringUtils.ts | 11 + src/utils/tauri.test.ts | 54 + src/utils/tauri.ts | 63 + src/vite-env.d.ts | 3 + tsconfig.app.json | 28 + tsconfig.extension.json | 22 + tsconfig.json | 4 + tsconfig.node.json | 26 + vite.config.ts | 74 + vitest.config.ts | 16 + 983 files changed, 158475 insertions(+) create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/docker-backend.yml create mode 100644 .github/workflows/docker-frontend.yml create mode 100644 .github/workflows/docker-gateway.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .pi-lens/cache/review-graph.json create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 .tool-versions create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.es.md create mode 100644 README.ja.md create mode 100644 README.md create mode 100644 README.pt-BR.md create mode 100644 README_EN.md create mode 100644 assets/app-icons/app-icon-android-background.svg create mode 100644 assets/app-icons/app-icon-android-foreground.svg create mode 100644 assets/app-icons/app-icon.svg create mode 100644 docker-compose.build.yml create mode 100644 docker-compose.host.yml create mode 100644 docker-compose.standalone.yml create mode 100644 docker-compose.yml create mode 100644 docker/Caddyfile create mode 100644 docker/Caddyfile.gateway create mode 100644 docker/Caddyfile.standalone create mode 100644 docker/Dockerfile.backend create mode 100644 docker/Dockerfile.frontend create mode 100644 docker/Dockerfile.gateway create mode 100644 docker/backend-entrypoint.sh create mode 100644 docker/entrypoint-gateway.sh create mode 100644 docker/nginx.host.conf.example create mode 100644 docs/superpowers/plans/2026-05-28-pi-agent-extension-migration.md create mode 100644 docs/superpowers/plans/2026-05-30-piagentui-active-session-switch.md create mode 100644 docs/superpowers/plans/2026-05-30-piagentui-sql-settings-voice.md create mode 100644 docs/superpowers/plans/2026-05-30-piagentui-stt-lan-real-sessions-project-folders.md create mode 100644 docs/superpowers/plans/2026-05-30-roadmap-contexto-skills-mcp.md create mode 100644 docs/superpowers/plans/2026-05-31-piagentui-git-composer-control.md create mode 100644 docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md create mode 100644 docs/superpowers/specs/2026-05-28-pi-agent-ui-field-inventory.md create mode 100644 docs/superpowers/specs/2026-05-30-piagentui-active-session-switch-design.md create mode 100644 docs/superpowers/specs/2026-05-30-piagentui-readme-audio-stt-design.md create mode 100644 docs/superpowers/specs/2026-05-30-piagentui-stt-lan-real-sessions-project-folders-design.md create mode 100644 docs/superpowers/specs/2026-05-31-piagentui-git-composer-control-design.md create mode 100644 eslint.config.js create mode 100644 extensions/piagentui-extension-manager.test.ts create mode 100644 extensions/piagentui-extension-manager.ts create mode 100644 extensions/piagentui-git-manager.test.ts create mode 100644 extensions/piagentui-git-manager.ts create mode 100644 extensions/piagentui-server-core.test.ts create mode 100644 extensions/piagentui-server-core.ts create mode 100644 extensions/piagentui-server.test.ts create mode 100644 extensions/piagentui-server.ts create mode 100644 extensions/piagentui-settings-store.test.ts create mode 100644 extensions/piagentui-settings-store.ts create mode 100644 index.html create mode 100644 openapi_doc.json create mode 100644 openapi_formatted.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 public/404.html create mode 100644 public/manifest.json create mode 100644 public/material-icons/angular.svg create mode 100644 public/material-icons/assembly.svg create mode 100644 public/material-icons/astro-config.svg create mode 100644 public/material-icons/astro.svg create mode 100644 public/material-icons/audio.svg create mode 100644 public/material-icons/babel.svg create mode 100644 public/material-icons/bun.svg create mode 100644 public/material-icons/c.svg create mode 100644 public/material-icons/certificate.svg create mode 100644 public/material-icons/changelog.svg create mode 100644 public/material-icons/clojure.svg create mode 100644 public/material-icons/cmake.svg create mode 100644 public/material-icons/console.svg create mode 100644 public/material-icons/cpp.svg create mode 100644 public/material-icons/csharp.svg create mode 100644 public/material-icons/css-map.svg create mode 100644 public/material-icons/css.svg create mode 100644 public/material-icons/dart.svg create mode 100644 public/material-icons/database.svg create mode 100644 public/material-icons/deno.svg create mode 100644 public/material-icons/docker.svg create mode 100644 public/material-icons/document.svg create mode 100644 public/material-icons/elixir.svg create mode 100644 public/material-icons/erlang.svg create mode 100644 public/material-icons/eslint.svg create mode 100644 public/material-icons/file.svg create mode 100644 public/material-icons/firebase.svg create mode 100644 public/material-icons/folder-android-open.svg create mode 100644 public/material-icons/folder-android.svg create mode 100644 public/material-icons/folder-api-open.svg create mode 100644 public/material-icons/folder-api.svg create mode 100644 public/material-icons/folder-buildkite-open.svg create mode 100644 public/material-icons/folder-buildkite.svg create mode 100644 public/material-icons/folder-ci-open.svg create mode 100644 public/material-icons/folder-ci.svg create mode 100644 public/material-icons/folder-circleci-open.svg create mode 100644 public/material-icons/folder-circleci.svg create mode 100644 public/material-icons/folder-components-open.svg create mode 100644 public/material-icons/folder-components.svg create mode 100644 public/material-icons/folder-config-open.svg create mode 100644 public/material-icons/folder-config.svg create mode 100644 public/material-icons/folder-container-open.svg create mode 100644 public/material-icons/folder-container.svg create mode 100644 public/material-icons/folder-content-open.svg create mode 100644 public/material-icons/folder-content.svg create mode 100644 public/material-icons/folder-context-open.svg create mode 100644 public/material-icons/folder-context.svg create mode 100644 public/material-icons/folder-controller-open.svg create mode 100644 public/material-icons/folder-controller.svg create mode 100644 public/material-icons/folder-core-open.svg create mode 100644 public/material-icons/folder-core.svg create mode 100644 public/material-icons/folder-css-open.svg create mode 100644 public/material-icons/folder-css.svg create mode 100644 public/material-icons/folder-cursor-open.svg create mode 100644 public/material-icons/folder-cursor.svg create mode 100644 public/material-icons/folder-cypress-open.svg create mode 100644 public/material-icons/folder-cypress.svg create mode 100644 public/material-icons/folder-database-open.svg create mode 100644 public/material-icons/folder-database.svg create mode 100644 public/material-icons/folder-desktop-open.svg create mode 100644 public/material-icons/folder-desktop.svg create mode 100644 public/material-icons/folder-dist-open.svg create mode 100644 public/material-icons/folder-dist.svg create mode 100644 public/material-icons/folder-docker-open.svg create mode 100644 public/material-icons/folder-docker.svg create mode 100644 public/material-icons/folder-docs-open.svg create mode 100644 public/material-icons/folder-docs.svg create mode 100644 public/material-icons/folder-drizzle-open.svg create mode 100644 public/material-icons/folder-drizzle.svg create mode 100644 public/material-icons/folder-environment-open.svg create mode 100644 public/material-icons/folder-environment.svg create mode 100644 public/material-icons/folder-examples-open.svg create mode 100644 public/material-icons/folder-examples.svg create mode 100644 public/material-icons/folder-firebase-open.svg create mode 100644 public/material-icons/folder-firebase.svg create mode 100644 public/material-icons/folder-font-open.svg create mode 100644 public/material-icons/folder-font.svg create mode 100644 public/material-icons/folder-functions-open.svg create mode 100644 public/material-icons/folder-functions.svg create mode 100644 public/material-icons/folder-gh-workflows-open.svg create mode 100644 public/material-icons/folder-gh-workflows.svg create mode 100644 public/material-icons/folder-git-open.svg create mode 100644 public/material-icons/folder-git.svg create mode 100644 public/material-icons/folder-github-open.svg create mode 100644 public/material-icons/folder-github.svg create mode 100644 public/material-icons/folder-gitlab-open.svg create mode 100644 public/material-icons/folder-gitlab.svg create mode 100644 public/material-icons/folder-helper-open.svg create mode 100644 public/material-icons/folder-helper.svg create mode 100644 public/material-icons/folder-hook-open.svg create mode 100644 public/material-icons/folder-hook.svg create mode 100644 public/material-icons/folder-i18n-open.svg create mode 100644 public/material-icons/folder-i18n.svg create mode 100644 public/material-icons/folder-images-open.svg create mode 100644 public/material-icons/folder-images.svg create mode 100644 public/material-icons/folder-intellij-open.svg create mode 100644 public/material-icons/folder-intellij.svg create mode 100644 public/material-icons/folder-interface-open.svg create mode 100644 public/material-icons/folder-interface.svg create mode 100644 public/material-icons/folder-ios-open.svg create mode 100644 public/material-icons/folder-ios.svg create mode 100644 public/material-icons/folder-job-open.svg create mode 100644 public/material-icons/folder-job.svg create mode 100644 public/material-icons/folder-keys-open.svg create mode 100644 public/material-icons/folder-keys.svg create mode 100644 public/material-icons/folder-kubernetes-open.svg create mode 100644 public/material-icons/folder-kubernetes.svg create mode 100644 public/material-icons/folder-layout-open.svg create mode 100644 public/material-icons/folder-layout.svg create mode 100644 public/material-icons/folder-less-open.svg create mode 100644 public/material-icons/folder-less.svg create mode 100644 public/material-icons/folder-lib-open.svg create mode 100644 public/material-icons/folder-lib.svg create mode 100644 public/material-icons/folder-linux-open.svg create mode 100644 public/material-icons/folder-linux.svg create mode 100644 public/material-icons/folder-log-open.svg create mode 100644 public/material-icons/folder-log.svg create mode 100644 public/material-icons/folder-macos-open.svg create mode 100644 public/material-icons/folder-macos.svg create mode 100644 public/material-icons/folder-middleware-open.svg create mode 100644 public/material-icons/folder-middleware.svg create mode 100644 public/material-icons/folder-mobile-open.svg create mode 100644 public/material-icons/folder-mobile.svg create mode 100644 public/material-icons/folder-mock-open.svg create mode 100644 public/material-icons/folder-mock.svg create mode 100644 public/material-icons/folder-netlify-open.svg create mode 100644 public/material-icons/folder-netlify.svg create mode 100644 public/material-icons/folder-ngrx-store-open.svg create mode 100644 public/material-icons/folder-ngrx-store.svg create mode 100644 public/material-icons/folder-node-open.svg create mode 100644 public/material-icons/folder-node.svg create mode 100644 public/material-icons/folder-open.svg create mode 100644 public/material-icons/folder-packages-open.svg create mode 100644 public/material-icons/folder-packages.svg create mode 100644 public/material-icons/folder-prisma-open.svg create mode 100644 public/material-icons/folder-prisma.svg create mode 100644 public/material-icons/folder-public-open.svg create mode 100644 public/material-icons/folder-public.svg create mode 100644 public/material-icons/folder-queue-open.svg create mode 100644 public/material-icons/folder-queue.svg create mode 100644 public/material-icons/folder-routes-open.svg create mode 100644 public/material-icons/folder-routes.svg create mode 100644 public/material-icons/folder-sass-open.svg create mode 100644 public/material-icons/folder-sass.svg create mode 100644 public/material-icons/folder-scripts-open.svg create mode 100644 public/material-icons/folder-scripts.svg create mode 100644 public/material-icons/folder-secure-open.svg create mode 100644 public/material-icons/folder-secure.svg create mode 100644 public/material-icons/folder-server-open.svg create mode 100644 public/material-icons/folder-server.svg create mode 100644 public/material-icons/folder-serverless-open.svg create mode 100644 public/material-icons/folder-serverless.svg create mode 100644 public/material-icons/folder-shared-open.svg create mode 100644 public/material-icons/folder-shared.svg create mode 100644 public/material-icons/folder-src-open.svg create mode 100644 public/material-icons/folder-src-tauri-open.svg create mode 100644 public/material-icons/folder-src-tauri.svg create mode 100644 public/material-icons/folder-src.svg create mode 100644 public/material-icons/folder-store-open.svg create mode 100644 public/material-icons/folder-store.svg create mode 100644 public/material-icons/folder-storybook-open.svg create mode 100644 public/material-icons/folder-storybook.svg create mode 100644 public/material-icons/folder-supabase-open.svg create mode 100644 public/material-icons/folder-supabase.svg create mode 100644 public/material-icons/folder-target-open.svg create mode 100644 public/material-icons/folder-target.svg create mode 100644 public/material-icons/folder-tasks-open.svg create mode 100644 public/material-icons/folder-tasks.svg create mode 100644 public/material-icons/folder-temp-open.svg create mode 100644 public/material-icons/folder-temp.svg create mode 100644 public/material-icons/folder-template-open.svg create mode 100644 public/material-icons/folder-template.svg create mode 100644 public/material-icons/folder-terraform-open.svg create mode 100644 public/material-icons/folder-terraform.svg create mode 100644 public/material-icons/folder-test-open.svg create mode 100644 public/material-icons/folder-test.svg create mode 100644 public/material-icons/folder-tools-open.svg create mode 100644 public/material-icons/folder-tools.svg create mode 100644 public/material-icons/folder-typescript-open.svg create mode 100644 public/material-icons/folder-typescript.svg create mode 100644 public/material-icons/folder-utils-open.svg create mode 100644 public/material-icons/folder-utils.svg create mode 100644 public/material-icons/folder-vercel-open.svg create mode 100644 public/material-icons/folder-vercel.svg create mode 100644 public/material-icons/folder-views-open.svg create mode 100644 public/material-icons/folder-views.svg create mode 100644 public/material-icons/folder-vscode-open.svg create mode 100644 public/material-icons/folder-vscode.svg create mode 100644 public/material-icons/folder-windows-open.svg create mode 100644 public/material-icons/folder-windows.svg create mode 100644 public/material-icons/folder.svg create mode 100644 public/material-icons/font.svg create mode 100644 public/material-icons/fsharp.svg create mode 100644 public/material-icons/git.svg create mode 100644 public/material-icons/go-mod.svg create mode 100644 public/material-icons/go.svg create mode 100644 public/material-icons/gradle.svg create mode 100644 public/material-icons/graphql.svg create mode 100644 public/material-icons/gulp.svg create mode 100644 public/material-icons/haskell.svg create mode 100644 public/material-icons/html.svg create mode 100644 public/material-icons/image.svg create mode 100644 public/material-icons/java.svg create mode 100644 public/material-icons/javascript-map.svg create mode 100644 public/material-icons/javascript.svg create mode 100644 public/material-icons/jest.svg create mode 100644 public/material-icons/jsconfig.svg create mode 100644 public/material-icons/json.svg create mode 100644 public/material-icons/julia.svg create mode 100644 public/material-icons/key.svg create mode 100644 public/material-icons/kotlin.svg create mode 100644 public/material-icons/less.svg create mode 100644 public/material-icons/license.svg create mode 100644 public/material-icons/lock.svg create mode 100644 public/material-icons/lua.svg create mode 100644 public/material-icons/makefile.svg create mode 100644 public/material-icons/markdown.svg create mode 100644 public/material-icons/maven.svg create mode 100644 public/material-icons/mdx.svg create mode 100644 public/material-icons/netlify.svg create mode 100644 public/material-icons/next.svg create mode 100644 public/material-icons/nim.svg create mode 100644 public/material-icons/nodejs.svg create mode 100644 public/material-icons/nuxt.svg create mode 100644 public/material-icons/ocaml.svg create mode 100644 public/material-icons/pdf.svg create mode 100644 public/material-icons/perl.svg create mode 100644 public/material-icons/php.svg create mode 100644 public/material-icons/pnpm.svg create mode 100644 public/material-icons/powershell.svg create mode 100644 public/material-icons/prettier.svg create mode 100644 public/material-icons/prisma.svg create mode 100644 public/material-icons/proto.svg create mode 100644 public/material-icons/python.svg create mode 100644 public/material-icons/r.svg create mode 100644 public/material-icons/react.svg create mode 100644 public/material-icons/react_ts.svg create mode 100644 public/material-icons/readme.svg create mode 100644 public/material-icons/rollup.svg create mode 100644 public/material-icons/ruby.svg create mode 100644 public/material-icons/rust.svg create mode 100644 public/material-icons/sass.svg create mode 100644 public/material-icons/scala.svg create mode 100644 public/material-icons/settings.svg create mode 100644 public/material-icons/storybook.svg create mode 100644 public/material-icons/svelte.svg create mode 100644 public/material-icons/svg.svg create mode 100644 public/material-icons/swift.svg create mode 100644 public/material-icons/tailwindcss.svg create mode 100644 public/material-icons/toml.svg create mode 100644 public/material-icons/tsconfig.svg create mode 100644 public/material-icons/turborepo.svg create mode 100644 public/material-icons/typescript-def.svg create mode 100644 public/material-icons/typescript.svg create mode 100644 public/material-icons/vercel.svg create mode 100644 public/material-icons/video.svg create mode 100644 public/material-icons/vite.svg create mode 100644 public/material-icons/vitest.svg create mode 100644 public/material-icons/vue-config.svg create mode 100644 public/material-icons/vue.svg create mode 100644 public/material-icons/webpack.svg create mode 100644 public/material-icons/xml.svg create mode 100644 public/material-icons/yaml.svg create mode 100644 public/material-icons/yarn.svg create mode 100644 public/material-icons/zig.svg create mode 100644 public/material-icons/zip.svg create mode 100644 public/notification-sw.js create mode 100644 public/pi.svg create mode 100644 public/piagentui-logo.png create mode 100644 public/vite.svg create mode 100644 scripts/bump-version.mjs create mode 100644 scripts/copy-material-icons.mjs create mode 100644 scripts/dev-android.sh create mode 100644 scripts/prepare-release.mjs create mode 100644 src-router/Cargo.lock create mode 100644 src-router/Cargo.toml create mode 100644 src-router/src/caddy.rs create mode 100644 src-router/src/config.rs create mode 100644 src-router/src/main.rs create mode 100644 src-router/src/router.html create mode 100644 src-router/src/router.rs create mode 100644 src-router/src/scanner.rs create mode 100644 src-router/src/state.rs create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/app-icon.manifest.json create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/gen/android/.editorconfig create mode 100644 src-tauri/gen/android/.gitignore create mode 100644 src-tauri/gen/android/app/.gitignore create mode 100644 src-tauri/gen/android/app/build.gradle.kts create mode 100644 src-tauri/gen/android/app/proguard-rules.pro create mode 100644 src-tauri/gen/android/app/src/main/AndroidManifest.xml create mode 100644 src-tauri/gen/android/app/src/main/java/com/opencodeui/app/MainActivity.kt create mode 100644 src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 src-tauri/gen/android/app/src/main/res/layout/activity_main.xml create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src-tauri/gen/android/app/src/main/res/values-night/themes.xml create mode 100644 src-tauri/gen/android/app/src/main/res/values/colors.xml create mode 100644 src-tauri/gen/android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 src-tauri/gen/android/app/src/main/res/values/strings.xml create mode 100644 src-tauri/gen/android/app/src/main/res/values/themes.xml create mode 100644 src-tauri/gen/android/app/src/main/res/xml/file_paths.xml create mode 100644 src-tauri/gen/android/build.gradle.kts create mode 100644 src-tauri/gen/android/buildSrc/build.gradle.kts create mode 100644 src-tauri/gen/android/buildSrc/src/main/java/com/opencodeui/app/kotlin/BuildTask.kt create mode 100644 src-tauri/gen/android/buildSrc/src/main/java/com/opencodeui/app/kotlin/RustPlugin.kt create mode 100644 src-tauri/gen/android/gradle.properties create mode 100644 src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 src-tauri/gen/android/gradlew create mode 100644 src-tauri/gen/android/gradlew.bat create mode 100644 src-tauri/gen/android/settings.gradle create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 src-tauri/src/app/bridge/args.rs create mode 100644 src-tauri/src/app/bridge/event.rs create mode 100644 src-tauri/src/app/bridge/mod.rs create mode 100644 src-tauri/src/app/bridge/state.rs create mode 100644 src-tauri/src/app/commands/bridge.rs create mode 100644 src-tauri/src/app/commands/mod.rs create mode 100644 src-tauri/src/app/commands/pi_agent.rs create mode 100644 src-tauri/src/app/commands/utils.rs create mode 100644 src-tauri/src/app/dir_state.rs create mode 100644 src-tauri/src/app/mod.rs create mode 100644 src-tauri/src/app/service.rs create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src-tauri/windows/hooks.nsi create mode 100644 src/App.tsx create mode 100644 src/api/agent.ts create mode 100644 src/api/client.test.ts create mode 100644 src/api/client.ts create mode 100644 src/api/command.test.ts create mode 100644 src/api/command.ts create mode 100644 src/api/config.ts create mode 100644 src/api/events.test.ts create mode 100644 src/api/events.ts create mode 100644 src/api/extension.test.ts create mode 100644 src/api/extension.ts create mode 100644 src/api/file.ts create mode 100644 src/api/global.ts create mode 100644 src/api/http.test.ts create mode 100644 src/api/http.ts create mode 100644 src/api/index.ts create mode 100644 src/api/lsp.ts create mode 100644 src/api/mcp.test.ts create mode 100644 src/api/mcp.ts create mode 100644 src/api/message.ts create mode 100644 src/api/network.test.ts create mode 100644 src/api/network.ts create mode 100644 src/api/permission.ts create mode 100644 src/api/piClient.test.ts create mode 100644 src/api/piClient.ts create mode 100644 src/api/piContract.ts create mode 100644 src/api/pty.ts create mode 100644 src/api/ptyBridge.ts create mode 100644 src/api/session.test.ts create mode 100644 src/api/session.ts create mode 100644 src/api/skill.test.ts create mode 100644 src/api/skill.ts create mode 100644 src/api/sse.test.ts create mode 100644 src/api/sse.ts create mode 100644 src/api/stt.test.ts create mode 100644 src/api/stt.ts create mode 100644 src/api/todo.ts create mode 100644 src/api/tool.ts create mode 100644 src/api/tts.ts create mode 100644 src/api/types.ts create mode 100644 src/api/vcs.test.ts create mode 100644 src/api/vcs.ts create mode 100644 src/api/worktree.ts create mode 100644 src/assets/icons/agent.svg create mode 100644 src/assets/icons/alert-circle.svg create mode 100644 src/assets/icons/arrow-up.svg create mode 100644 src/assets/icons/at.svg create mode 100644 src/assets/icons/bolt.svg create mode 100644 src/assets/icons/check.svg create mode 100644 src/assets/icons/checklist.svg create mode 100644 src/assets/icons/chevron-down.svg create mode 100644 src/assets/icons/chevron-right.svg create mode 100644 src/assets/icons/circle.svg create mode 100644 src/assets/icons/clipboard-list.svg create mode 100644 src/assets/icons/clock.svg create mode 100644 src/assets/icons/close.svg create mode 100644 src/assets/icons/compact.svg create mode 100644 src/assets/icons/copy.svg create mode 100644 src/assets/icons/cpu.svg create mode 100644 src/assets/icons/dollar-sign.svg create mode 100644 src/assets/icons/download.svg create mode 100644 src/assets/icons/expand.svg create mode 100644 src/assets/icons/external-link.svg create mode 100644 src/assets/icons/eye.svg create mode 100644 src/assets/icons/file-read.svg create mode 100644 src/assets/icons/file-write.svg create mode 100644 src/assets/icons/file.svg create mode 100644 src/assets/icons/folder.svg create mode 100644 src/assets/icons/globe.svg create mode 100644 src/assets/icons/grid.svg create mode 100644 src/assets/icons/hand.svg create mode 100644 src/assets/icons/image.svg create mode 100644 src/assets/icons/layers.svg create mode 100644 src/assets/icons/lightbulb.svg create mode 100644 src/assets/icons/link.svg create mode 100644 src/assets/icons/maximize.svg create mode 100644 src/assets/icons/menu-dots.svg create mode 100644 src/assets/icons/message-square.svg create mode 100644 src/assets/icons/minimize.svg create mode 100644 src/assets/icons/moon.svg create mode 100644 src/assets/icons/new-chat.svg create mode 100644 src/assets/icons/patch.svg create mode 100644 src/assets/icons/path-auto.svg create mode 100644 src/assets/icons/path-unix.svg create mode 100644 src/assets/icons/path-windows.svg create mode 100644 src/assets/icons/pencil.svg create mode 100644 src/assets/icons/permission-list.svg create mode 100644 src/assets/icons/plus.svg create mode 100644 src/assets/icons/question.svg create mode 100644 src/assets/icons/redo.svg create mode 100644 src/assets/icons/retry.svg create mode 100644 src/assets/icons/return.svg create mode 100644 src/assets/icons/search.svg create mode 100644 src/assets/icons/send.svg create mode 100644 src/assets/icons/settings.svg create mode 100644 src/assets/icons/share.svg create mode 100644 src/assets/icons/sidebar.svg create mode 100644 src/assets/icons/spinner.svg create mode 100644 src/assets/icons/stop.svg create mode 100644 src/assets/icons/sun.svg create mode 100644 src/assets/icons/system.svg create mode 100644 src/assets/icons/task.svg create mode 100644 src/assets/icons/teach.svg create mode 100644 src/assets/icons/terminal.svg create mode 100644 src/assets/icons/thinking.svg create mode 100644 src/assets/icons/trash.svg create mode 100644 src/assets/icons/undo.svg create mode 100644 src/assets/icons/users.svg create mode 100644 src/assets/icons/wrench.svg create mode 100644 src/assets/images/img1.png create mode 100644 src/assets/images/img2.png create mode 100644 src/assets/images/img3.png create mode 100644 src/assets/images/logo/PiAgentUiBlack (1).png create mode 100644 src/assets/images/logo/PiAgentUiBlack (2).png create mode 100644 src/assets/images/logo/PiAgentUiBlack (3).png create mode 100644 src/assets/images/logo/PiAgentUiBlack (4).png create mode 100644 src/assets/images/logo/PiAgentUiBlack (5).png create mode 100644 src/assets/images/logo/PiAgentUiLogoBlackletterBGTransp.png create mode 100644 src/assets/images/logo/PiAgentUiLogoWhiteletterBGTransp.png create mode 100644 src/assets/images/logo/PiAgentUiWhite (1).png create mode 100644 src/assets/images/logo/PiAgentUiWhite (2).png create mode 100644 src/assets/images/logo/PiAgentUiWhite (3).png create mode 100644 src/assets/images/logo/PiAgentUiWhite (4).png create mode 100644 src/assets/images/logo/PiAgentUiWhite (5).png create mode 100644 src/assets/models.json create mode 100644 src/assets/react.svg create mode 100644 src/components/BottomPanel.tsx create mode 100644 src/components/CircularProgress.tsx create mode 100644 src/components/CloseServiceDialog.tsx create mode 100644 src/components/CodeBlock.test.tsx create mode 100644 src/components/CodeBlock.tsx create mode 100644 src/components/CodeMirrorReadonly.tsx create mode 100644 src/components/CodePreview.test.tsx create mode 100644 src/components/CodePreview.tsx create mode 100644 src/components/CommandPalette.test.tsx create mode 100644 src/components/CommandPalette.tsx create mode 100644 src/components/ContentBlock.tsx create mode 100644 src/components/DesktopTitlebar.test.tsx create mode 100644 src/components/DesktopTitlebar.tsx create mode 100644 src/components/DiffView.test.tsx create mode 100644 src/components/DiffView.tsx create mode 100644 src/components/DiffViewer.test.tsx create mode 100644 src/components/DiffViewer.tsx create mode 100644 src/components/ErrorBoundary.tsx create mode 100644 src/components/ExtensionPanel.test.tsx create mode 100644 src/components/ExtensionPanel.tsx create mode 100644 src/components/FileExplorer.tsx create mode 100644 src/components/FullscreenViewer.test.tsx create mode 100644 src/components/FullscreenViewer.tsx create mode 100644 src/components/Icons.tsx create mode 100644 src/components/MarkdownRenderer.test.tsx create mode 100644 src/components/MarkdownRenderer.tsx create mode 100644 src/components/McpPanel.tsx create mode 100644 src/components/OutlineIndex.tsx create mode 100644 src/components/PanelContainer.tsx create mode 100644 src/components/PreviewTabsBar.tsx create mode 100644 src/components/RightPanel.tsx create mode 100644 src/components/SessionChangesPanel.test.tsx create mode 100644 src/components/SessionChangesPanel.tsx create mode 100644 src/components/SkillPanel.test.tsx create mode 100644 src/components/SkillPanel.tsx create mode 100644 src/components/Terminal.tsx create mode 100644 src/components/ToastContainer.tsx create mode 100644 src/components/WorktreePanel.tsx create mode 100644 src/components/codeMirrorReadonlyExtensions.ts create mode 100644 src/components/index.ts create mode 100644 src/components/ui/AnimatedPresence.tsx create mode 100644 src/components/ui/Button.tsx create mode 100644 src/components/ui/ConfirmDialog.tsx create mode 100644 src/components/ui/CopyButton.tsx create mode 100644 src/components/ui/Dialog.test.tsx create mode 100644 src/components/ui/Dialog.tsx create mode 100644 src/components/ui/DropdownMenu.test.tsx create mode 100644 src/components/ui/DropdownMenu.tsx create mode 100644 src/components/ui/IconButton.tsx create mode 100644 src/components/ui/MenuItem.tsx create mode 100644 src/components/ui/ModalShell.tsx create mode 100644 src/components/ui/ResizablePanel.tsx create mode 100644 src/components/ui/ScrollArea.tsx create mode 100644 src/components/ui/SmoothHeight.tsx create mode 100644 src/components/ui/index.ts create mode 100644 src/constants/animation.ts create mode 100644 src/constants/api.ts create mode 100644 src/constants/desktopWindow.ts create mode 100644 src/constants/index.ts create mode 100644 src/constants/pagination.ts create mode 100644 src/constants/storage.ts create mode 100644 src/constants/time.ts create mode 100644 src/constants/ui.ts create mode 100644 src/contexts/DirectoryContext.shared.ts create mode 100644 src/contexts/DirectoryContext.tsx create mode 100644 src/contexts/SessionContext.shared.ts create mode 100644 src/contexts/SessionContext.test.tsx create mode 100644 src/contexts/SessionContext.tsx create mode 100644 src/contexts/SessionNavigationContext.tsx create mode 100644 src/contexts/index.ts create mode 100644 src/contexts/useDirectory.ts create mode 100644 src/contexts/useSessionContext.ts create mode 100644 src/features/attachment/AttachmentDetailModal.test.tsx create mode 100644 src/features/attachment/AttachmentDetailModal.tsx create mode 100644 src/features/attachment/AttachmentItem.tsx create mode 100644 src/features/attachment/AttachmentPreview.tsx create mode 100644 src/features/attachment/index.ts create mode 100644 src/features/attachment/types.ts create mode 100644 src/features/attachment/utils.ts create mode 100644 src/features/chat/ChatArea.test.ts create mode 100644 src/features/chat/ChatArea.tsx create mode 100644 src/features/chat/ChatPane.tsx create mode 100644 src/features/chat/EmptyState.tsx create mode 100644 src/features/chat/Header.tsx create mode 100644 src/features/chat/InlinePermission.tsx create mode 100644 src/features/chat/InlineQuestion.tsx create mode 100644 src/features/chat/InlineToolRequestContext.tsx create mode 100644 src/features/chat/InputBox.test.tsx create mode 100644 src/features/chat/InputBox.tsx create mode 100644 src/features/chat/InputBoxAttachments.test.tsx create mode 100644 src/features/chat/ModelSelector.test.tsx create mode 100644 src/features/chat/ModelSelector.tsx create mode 100644 src/features/chat/PaneDropOverlay.tsx create mode 100644 src/features/chat/PaneHeader.tsx create mode 100644 src/features/chat/PermissionDialog.tsx create mode 100644 src/features/chat/ProjectDialog.test.tsx create mode 100644 src/features/chat/ProjectDialog.tsx create mode 100644 src/features/chat/QuestionDialog.tsx create mode 100644 src/features/chat/RetryStatusInline.tsx create mode 100644 src/features/chat/ShareDialog.tsx create mode 100644 src/features/chat/Sidebar.tsx create mode 100644 src/features/chat/SplitContainer.tsx create mode 100644 src/features/chat/chatAreaVisibility.ts create mode 100644 src/features/chat/chatViewport.tsx create mode 100644 src/features/chat/index.ts create mode 100644 src/features/chat/input/GitComposerControl.test.tsx create mode 100644 src/features/chat/input/GitComposerControl.tsx create mode 100644 src/features/chat/input/InputActions.tsx create mode 100644 src/features/chat/input/InputFooter.tsx create mode 100644 src/features/chat/input/InputToolbar.test.tsx create mode 100644 src/features/chat/input/InputToolbar.tsx create mode 100644 src/features/chat/input/UndoStatus.tsx create mode 100644 src/features/chat/input/VoiceInputButton.test.tsx create mode 100644 src/features/chat/input/VoiceInputButton.tsx create mode 100644 src/features/chat/input/inputUtils.ts create mode 100644 src/features/chat/input/useAttachmentRail.ts create mode 100644 src/features/chat/input/useInputHistory.ts create mode 100644 src/features/chat/input/useMobileCollapse.ts create mode 100644 src/features/chat/sidebar/ActiveSessionItem.tsx create mode 100644 src/features/chat/sidebar/ContextDetailsDialog.tsx create mode 100644 src/features/chat/sidebar/FolderRecentList.tsx create mode 100644 src/features/chat/sidebar/NotificationItem.test.tsx create mode 100644 src/features/chat/sidebar/NotificationItem.tsx create mode 100644 src/features/chat/sidebar/SessionChildrenSlot.tsx create mode 100644 src/features/chat/sidebar/SidePanel.tsx create mode 100644 src/features/chat/sidebar/SidebarFooter.tsx create mode 100644 src/features/chat/sidebar/activeSessionTree.test.ts create mode 100644 src/features/chat/sidebar/activeSessionTree.ts create mode 100644 src/features/chat/sidebar/projectGrouping.test.ts create mode 100644 src/features/chat/sidebar/projectGrouping.ts create mode 100644 src/features/chat/sidebar/sidebarUtils.ts create mode 100644 src/features/mention/MentionMenu.test.tsx create mode 100644 src/features/mention/MentionMenu.tsx create mode 100644 src/features/mention/MentionTag.tsx create mode 100644 src/features/mention/createMentionElement.ts create mode 100644 src/features/mention/index.ts create mode 100644 src/features/mention/types.ts create mode 100644 src/features/mention/useMention.ts create mode 100644 src/features/mention/utils.test.ts create mode 100644 src/features/mention/utils.ts create mode 100644 src/features/message/MessageRenderer.test.tsx create mode 100644 src/features/message/MessageRenderer.tsx create mode 100644 src/features/message/index.ts create mode 100644 src/features/message/parts/AttachmentPartViews.tsx create mode 100644 src/features/message/parts/MessageErrorView.tsx create mode 100644 src/features/message/parts/ReasoningPartView.test.tsx create mode 100644 src/features/message/parts/ReasoningPartView.tsx create mode 100644 src/features/message/parts/StepFinishPartView.tsx create mode 100644 src/features/message/parts/SubtaskPartView.tsx create mode 100644 src/features/message/parts/SystemPartViews.test.tsx create mode 100644 src/features/message/parts/SystemPartViews.tsx create mode 100644 src/features/message/parts/TextPartView.tsx create mode 100644 src/features/message/parts/ToolPartView.test.tsx create mode 100644 src/features/message/parts/ToolPartView.tsx create mode 100644 src/features/message/parts/index.ts create mode 100644 src/features/message/tools/icons.tsx create mode 100644 src/features/message/tools/index.ts create mode 100644 src/features/message/tools/registry.test.ts create mode 100644 src/features/message/tools/registry.tsx create mode 100644 src/features/message/tools/renderers/BashRenderer.tsx create mode 100644 src/features/message/tools/renderers/DefaultRenderer.tsx create mode 100644 src/features/message/tools/renderers/QuestionRenderer.tsx create mode 100644 src/features/message/tools/renderers/TaskRenderer.tsx create mode 100644 src/features/message/tools/renderers/TodoRenderer.tsx create mode 100644 src/features/message/tools/renderers/index.ts create mode 100644 src/features/message/tools/renderers/todoUtils.ts create mode 100644 src/features/message/tools/types.ts create mode 100644 src/features/sessions/ProjectSelector.test.tsx create mode 100644 src/features/sessions/ProjectSelector.tsx create mode 100644 src/features/sessions/SessionList.test.tsx create mode 100644 src/features/sessions/SessionList.tsx create mode 100644 src/features/sessions/index.ts create mode 100644 src/features/sessions/sessionProjectGroups.test.ts create mode 100644 src/features/sessions/sessionProjectGroups.ts create mode 100644 src/features/settings/KeybindingsSection.tsx create mode 100644 src/features/settings/SettingsDialog.test.tsx create mode 100644 src/features/settings/SettingsDialog.tsx create mode 100644 src/features/settings/components/AboutSettings.tsx create mode 100644 src/features/settings/components/AgentSettings.tsx create mode 100644 src/features/settings/components/AppearanceSettings.tsx create mode 100644 src/features/settings/components/ChatSettings.tsx create mode 100644 src/features/settings/components/ModelsSettings.test.tsx create mode 100644 src/features/settings/components/ModelsSettings.tsx create mode 100644 src/features/settings/components/NetworkAccessSettings.test.tsx create mode 100644 src/features/settings/components/NetworkAccessSettings.tsx create mode 100644 src/features/settings/components/NotificationSettings.tsx create mode 100644 src/features/settings/components/ServersSettings.tsx create mode 100644 src/features/settings/components/ServiceSettings.tsx create mode 100644 src/features/settings/components/SettingsUI.tsx create mode 100644 src/features/settings/components/SttSettings.test.tsx create mode 100644 src/features/settings/components/SttSettings.tsx create mode 100644 src/features/settings/components/TtsSettings.test.tsx create mode 100644 src/features/settings/components/TtsSettings.tsx create mode 100644 src/features/settings/components/VoiceSettings.tsx create mode 100644 src/features/settings/components/WorkspaceSettings.tsx create mode 100644 src/features/slash-command/SlashCommandMenu.test.tsx create mode 100644 src/features/slash-command/SlashCommandMenu.tsx create mode 100644 src/features/slash-command/index.ts create mode 100644 src/hooks/index.ts create mode 100644 src/hooks/sessionStatsUtils.ts create mode 100644 src/hooks/useCancelHint.ts create mode 100644 src/hooks/useChatSession.test.tsx create mode 100644 src/hooks/useChatSession.ts create mode 100644 src/hooks/useClickOutside.ts create mode 100644 src/hooks/useCloseServiceDialog.ts create mode 100644 src/hooks/useDelayedRender.test.tsx create mode 100644 src/hooks/useDelayedRender.ts create mode 100644 src/hooks/useDropdown.ts create mode 100644 src/hooks/useDynamicVirtualScroll.ts create mode 100644 src/hooks/useFileExplorer.test.tsx create mode 100644 src/hooks/useFileExplorer.ts create mode 100644 src/hooks/useGitWorkspaceCatalog.ts create mode 100644 src/hooks/useGlobalEvents.test.tsx create mode 100644 src/hooks/useGlobalEvents.ts create mode 100644 src/hooks/useInView.test.tsx create mode 100644 src/hooks/useInView.ts create mode 100644 src/hooks/useInputCapabilities.ts create mode 100644 src/hooks/useIsMobile.ts create mode 100644 src/hooks/useKeybindings.ts create mode 100644 src/hooks/useMessageAnimation.ts create mode 100644 src/hooks/useModalAnimation.ts create mode 100644 src/hooks/useModelSelection.test.tsx create mode 100644 src/hooks/useModelSelection.ts create mode 100644 src/hooks/useModels.test.tsx create mode 100644 src/hooks/useModels.ts create mode 100644 src/hooks/useNotification.ts create mode 100644 src/hooks/useNow.ts create mode 100644 src/hooks/usePanelResizeStatus.ts create mode 100644 src/hooks/usePathMode.ts create mode 100644 src/hooks/usePermissionHandler.ts create mode 100644 src/hooks/usePermissions.ts create mode 100644 src/hooks/usePresence.ts create mode 100644 src/hooks/useProject.ts create mode 100644 src/hooks/useResponsiveMaxHeight.ts create mode 100644 src/hooks/useRevertState.ts create mode 100644 src/hooks/useRouter.ts create mode 100644 src/hooks/useServerStore.ts create mode 100644 src/hooks/useSessionContextUsage.ts create mode 100644 src/hooks/useSessionManager.ts create mode 100644 src/hooks/useSessionStats.test.ts create mode 100644 src/hooks/useSessionStats.test.tsx create mode 100644 src/hooks/useSessionStats.ts create mode 100644 src/hooks/useSessions.test.tsx create mode 100644 src/hooks/useSessions.ts create mode 100644 src/hooks/useSyntaxHighlight.test.ts create mode 100644 src/hooks/useSyntaxHighlight.ts create mode 100644 src/hooks/useTheme.ts create mode 100644 src/hooks/useVcsInfo.ts create mode 100644 src/hooks/useVerticalSplitResize.ts create mode 100644 src/hooks/useViewportHeight.ts create mode 100644 src/hooks/useVoiceTranscription.test.tsx create mode 100644 src/hooks/useVoiceTranscription.ts create mode 100644 src/hooks/useWakeLock.ts create mode 100644 src/i18n.ts create mode 100644 src/index.css create mode 100644 src/lib/overlayScrollbar.ts create mode 100644 src/lib/shiki.ts create mode 100644 src/locales/ar/chat.json create mode 100644 src/locales/ar/commands.json create mode 100644 src/locales/ar/common.json create mode 100644 src/locales/ar/components.json create mode 100644 src/locales/ar/message.json create mode 100644 src/locales/ar/settings.json create mode 100644 src/locales/bn/chat.json create mode 100644 src/locales/bn/commands.json create mode 100644 src/locales/bn/common.json create mode 100644 src/locales/bn/components.json create mode 100644 src/locales/bn/message.json create mode 100644 src/locales/bn/settings.json create mode 100644 src/locales/en/chat.json create mode 100644 src/locales/en/commands.json create mode 100644 src/locales/en/common.json create mode 100644 src/locales/en/components.json create mode 100644 src/locales/en/message.json create mode 100644 src/locales/en/settings.json create mode 100644 src/locales/es/chat.json create mode 100644 src/locales/es/commands.json create mode 100644 src/locales/es/common.json create mode 100644 src/locales/es/components.json create mode 100644 src/locales/es/message.json create mode 100644 src/locales/es/settings.json create mode 100644 src/locales/hi/chat.json create mode 100644 src/locales/hi/commands.json create mode 100644 src/locales/hi/common.json create mode 100644 src/locales/hi/components.json create mode 100644 src/locales/hi/message.json create mode 100644 src/locales/hi/settings.json create mode 100644 src/locales/locales.test.ts create mode 100644 src/locales/pt-BR/chat.json create mode 100644 src/locales/pt-BR/commands.json create mode 100644 src/locales/pt-BR/common.json create mode 100644 src/locales/pt-BR/components.json create mode 100644 src/locales/pt-BR/message.json create mode 100644 src/locales/pt-BR/settings.json create mode 100644 src/locales/zh-CN/chat.json create mode 100644 src/locales/zh-CN/commands.json create mode 100644 src/locales/zh-CN/common.json create mode 100644 src/locales/zh-CN/components.json create mode 100644 src/locales/zh-CN/message.json create mode 100644 src/locales/zh-CN/settings.json create mode 100644 src/main.tsx create mode 100644 src/store/activeSessionStore.test.ts create mode 100644 src/store/activeSessionStore.ts create mode 100644 src/store/autoApproveStore.ts create mode 100644 src/store/changeScopeStore.ts create mode 100644 src/store/childSessionStore.ts create mode 100644 src/store/followupQueueStore.ts create mode 100644 src/store/index.ts create mode 100644 src/store/keybindingStore.test.ts create mode 100644 src/store/keybindingStore.ts create mode 100644 src/store/layoutStore.test.ts create mode 100644 src/store/layoutStore.ts create mode 100644 src/store/messageStore.test.ts create mode 100644 src/store/messageStore.ts create mode 100644 src/store/messageStoreHooks.test.tsx create mode 100644 src/store/messageStoreHooks.ts create mode 100644 src/store/messageStoreTypes.ts create mode 100644 src/store/modelVisibilityStore.ts create mode 100644 src/store/notificationEventSettingsStore.test.ts create mode 100644 src/store/notificationEventSettingsStore.ts create mode 100644 src/store/notificationStore.ts create mode 100644 src/store/paneControllerStore.ts create mode 100644 src/store/paneLayoutStore.test.ts create mode 100644 src/store/paneLayoutStore.ts create mode 100644 src/store/serverStore.test.ts create mode 100644 src/store/serverStore.ts create mode 100644 src/store/serviceStore.ts create mode 100644 src/store/soundStore.ts create mode 100644 src/store/themeStore.ts create mode 100644 src/store/todoStore.ts create mode 100644 src/store/updateStore.test.ts create mode 100644 src/store/updateStore.ts create mode 100644 src/test/setup.ts create mode 100644 src/themes/index.ts create mode 100644 src/types/api/agent.ts create mode 100644 src/types/api/common.ts create mode 100644 src/types/api/compat.ts create mode 100644 src/types/api/config.ts create mode 100644 src/types/api/event.ts create mode 100644 src/types/api/extension.ts create mode 100644 src/types/api/file.ts create mode 100644 src/types/api/index.ts create mode 100644 src/types/api/mcp.ts create mode 100644 src/types/api/message.ts create mode 100644 src/types/api/model.ts create mode 100644 src/types/api/network.ts create mode 100644 src/types/api/permission.ts create mode 100644 src/types/api/project.ts create mode 100644 src/types/api/pty.ts create mode 100644 src/types/api/session.ts create mode 100644 src/types/api/skill.ts create mode 100644 src/types/api/stt.ts create mode 100644 src/types/api/tool.ts create mode 100644 src/types/api/tts.ts create mode 100644 src/types/api/vcs.ts create mode 100644 src/types/api/worktree.ts create mode 100644 src/types/chat.ts create mode 100644 src/types/index.ts create mode 100644 src/types/message.ts create mode 100644 src/types/ui.ts create mode 100644 src/types/view-transitions.d.ts create mode 100644 src/utils/activeScope.test.ts create mode 100644 src/utils/activeScope.ts create mode 100644 src/utils/ansiUtils.ts create mode 100644 src/utils/clipboard.test.ts create mode 100644 src/utils/clipboard.ts create mode 100644 src/utils/dateUtils.ts create mode 100644 src/utils/diffUtils.ts create mode 100644 src/utils/directoryUtils.ts create mode 100644 src/utils/downloadUtils.ts create mode 100644 src/utils/errorHandling.ts create mode 100644 src/utils/formatUtils.test.ts create mode 100644 src/utils/formatUtils.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/languageUtils.ts create mode 100644 src/utils/lineNumberUtils.ts create mode 100644 src/utils/logger.ts create mode 100644 src/utils/materialIcons.ts create mode 100644 src/utils/messageConversion.ts create mode 100644 src/utils/mimeUtils.ts create mode 100644 src/utils/modelUtils.ts create mode 100644 src/utils/notificationSoundBridge.ts create mode 100644 src/utils/openRouterModelMetadata.test.ts create mode 100644 src/utils/openRouterModelMetadata.ts create mode 100644 src/utils/perServerStorage.ts create mode 100644 src/utils/ptyProtocol.test.ts create mode 100644 src/utils/ptyProtocol.ts create mode 100644 src/utils/sessionHelpers.ts create mode 100644 src/utils/settingsBackup.test.ts create mode 100644 src/utils/settingsBackup.ts create mode 100644 src/utils/soundPlayer.ts create mode 100644 src/utils/stringUtils.ts create mode 100644 src/utils/tauri.test.ts create mode 100644 src/utils/tauri.ts create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.extension.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 vitest.config.ts diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..eb3af06 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,15 @@ +node_modules +dist +dist-ssr +root +workspace +.opencode +.git +.gitignore +.vscode +.idea +*.log +*.local +.DS_Store +.ruff_cache +README.md diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b265b02 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[\*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..27fa7eb --- /dev/null +++ b/.env.example @@ -0,0 +1,46 @@ +# ============================================ +# OpenCode WebUI - 环境变量 +# ============================================ +# cp .env.example .env + +# ---- LLM Provider API Keys(至少填一个)---- +ANTHROPIC_API_KEY= +OPENAI_API_KEY= +GEMINI_API_KEY= +DEEPSEEK_API_KEY= +GROQ_API_KEY= +MISTRAL_API_KEY= +XAI_API_KEY= + +# ---- 端口 ---- +GATEWAY_PORT=6658 +PREVIEW_PORT=6659 + +# ---- 预览域名(绑定独立域名解决前端资源路径问题)---- +# 例如 preview.example.com,Nginx 将此域名转发到 PREVIEW_PORT +PREVIEW_DOMAIN= + +# ---- 工作目录 ---- +WORKSPACE=./workspace + +# ---- 安全(公网部署务必设置)---- +OPENCODE_SERVER_PASSWORD= +OPENCODE_SERVER_USERNAME=opencode + +# ---- 路由服务(由 gateway 内置)---- +PUBLIC_BASE_URL= +ROUTER_SCAN_INTERVAL=5 +ROUTER_TOKEN_LENGTH=12 +ROUTER_PORT_RANGE=3000-9999 +ROUTER_EXCLUDE_PORTS=4096 + +# ---- Backend 工具链镜像/运行时源(可选)---- +USE_CHINA_MIRROR=1 +APT_MIRROR=http://mirrors.tuna.tsinghua.edu.cn/debian +APT_SECURITY_MIRROR=http://mirrors.tuna.tsinghua.edu.cn/debian-security +NPM_CONFIG_REGISTRY=https://registry.npmmirror.com +NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node +PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple +PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn +MISE_INSTALL_URL=https://mise.run +OPENCODE_INSTALL_URL=https://opencode.ai/install diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..bf1ba2f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,24 @@ +# Auto-detect text files and normalize to LF +* text=auto eol=lf + +# Shell scripts always LF +*.sh text eol=lf + +# Caddy/Docker always LF +Caddyfile text eol=LF +Dockerfile text eol=lf +Dockerfile.* text eol=lf + +# Binary files +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.icns binary +*.pdf binary +*.zip binary +*.tar.gz binary +*.ttf binary +*.woff binary +*.woff2 binary diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..7d304a8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,32 @@ +name: Build Validation + +on: + pull_request: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: build-validation-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + validate: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: 22 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Validate app + run: npm run validate diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..54d7b1a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,46 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [dev] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: 22 + cache: npm + + - run: npm ci + + - run: npm run build + env: + VITE_BASE_PATH: /OpenCodeUI/ + + - uses: actions/upload-pages-artifact@v5 + with: + path: dist + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v5 diff --git a/.github/workflows/docker-backend.yml b/.github/workflows/docker-backend.yml new file mode 100644 index 0000000..a8b050f --- /dev/null +++ b/.github/workflows/docker-backend.yml @@ -0,0 +1,66 @@ +name: Build & Push Backend Docker Image + +on: + push: + branches: [main] + paths: + - 'docker/Dockerfile.backend' + - 'docker/backend-entrypoint.sh' + schedule: + # 每天自动重建,跟进 opencode 最新版本 + - cron: '0 4 * * *' + workflow_dispatch: + +concurrency: + group: docker-backend-${{ github.ref }} + cancel-in-progress: true + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository_owner }}/opencodeui-backend + +jobs: + build-and-push: + runs-on: ubuntu-latest + timeout-minutes: 120 + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v6 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=sha,prefix= + type=ref,event=branch + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: docker/Dockerfile.backend + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/docker-frontend.yml b/.github/workflows/docker-frontend.yml new file mode 100644 index 0000000..3f0a9e1 --- /dev/null +++ b/.github/workflows/docker-frontend.yml @@ -0,0 +1,71 @@ +name: Build & Push Frontend Docker Image + +on: + push: + branches: [main] + paths: + - 'src/**' + - 'public/**' + - 'index.html' + - 'package.json' + - 'package-lock.json' + - 'vite.config.ts' + - 'tsconfig*.json' + - 'docker/Dockerfile.frontend' + - 'docker/Caddyfile' + - 'docker/Caddyfile.standalone' + workflow_dispatch: + +concurrency: + group: docker-frontend-${{ github.ref }} + cancel-in-progress: true + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository_owner }}/opencodeui-frontend + +jobs: + build-and-push: + runs-on: ubuntu-latest + timeout-minutes: 30 + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v6 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=sha,prefix= + type=ref,event=branch + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: docker/Dockerfile.frontend + build-args: | + NPM_REGISTRY=https://registry.npmjs.org/ + NPM_REGISTRY_FALLBACK=https://registry.npmmirror.com/ + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/docker-gateway.yml b/.github/workflows/docker-gateway.yml new file mode 100644 index 0000000..5bff2d3 --- /dev/null +++ b/.github/workflows/docker-gateway.yml @@ -0,0 +1,65 @@ +name: Build & Push Gateway Docker Image + +on: + push: + branches: [main] + paths: + - 'docker/Dockerfile.gateway' + - 'docker/Caddyfile.gateway' + - 'docker/entrypoint-gateway.sh' + - 'src-router/**' + workflow_dispatch: + +concurrency: + group: docker-gateway-${{ github.ref }} + cancel-in-progress: true + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository_owner }}/opencodeui-gateway + +jobs: + build-and-push: + runs-on: ubuntu-latest + timeout-minutes: 45 + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v6 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=sha,prefix= + type=ref,event=branch + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: docker/Dockerfile.gateway + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f1cac98 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,240 @@ +name: Release + +on: + push: + tags: + - 'v*' + +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: true + +jobs: + # ============================================ + # Desktop builds (Windows, macOS, Linux) + # ============================================ + build-desktop: + strategy: + fail-fast: false + matrix: + include: + - platform: macos-latest + args: '--target aarch64-apple-darwin' + arch: aarch64 + os: macos + - platform: macos-latest + args: '--target x86_64-apple-darwin' + arch: x86_64 + os: macos + - platform: ubuntu-22.04 + args: '' + arch: x86_64 + os: linux + - platform: windows-latest + args: '' + arch: x86_64 + os: windows + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: 'npm' + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' + key: ${{ matrix.os }}-${{ matrix.arch }} + + - name: Install Linux dependencies + if: matrix.platform == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - run: npm ci + + # tauri-action 自动执行 beforeBuildCommand (npm run build) + cargo build + - name: Build desktop app + uses: tauri-apps/tauri-action@v0 + with: + args: ${{ matrix.args }} + + - name: Prepare artifacts + shell: bash + run: | + mkdir -p release-artifacts + BUNDLE_DIR="src-tauri/target/release/bundle" + if [[ "${{ matrix.os }}" == "macos" ]]; then + BUNDLE_DIR="src-tauri/target/${{ matrix.arch }}-apple-darwin/release/bundle" + fi + + if [[ "${{ matrix.os }}" == "windows" ]]; then + find "$BUNDLE_DIR/nsis" -name "*.exe" -exec cp {} release-artifacts/ \; 2>/dev/null || true + elif [[ "${{ matrix.os }}" == "macos" ]]; then + find "$BUNDLE_DIR/dmg" -name "*.dmg" -exec cp {} release-artifacts/ \; 2>/dev/null || true + elif [[ "${{ matrix.os }}" == "linux" ]]; then + find "$BUNDLE_DIR/deb" -name "*.deb" -exec cp {} release-artifacts/ \; 2>/dev/null || true + find "$BUNDLE_DIR/appimage" -name "*.AppImage" -exec cp {} release-artifacts/ \; 2>/dev/null || true + fi + + echo "Artifacts:" + ls -R release-artifacts + + - uses: actions/upload-artifact@v7 + with: + name: artifacts-desktop-${{ matrix.os }}-${{ matrix.arch }} + path: release-artifacts + if-no-files-found: warn + retention-days: 1 + + # ============================================ + # Android builds (arm64 + armv7 并行) + # ============================================ + build-android: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - target: aarch64 + rust_target: aarch64-linux-android + label: arm64 + - target: armv7 + rust_target: armv7-linux-androideabi + label: armv7 + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: 'npm' + + - uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '17' + + - uses: android-actions/setup-android@v3 + + - run: sdkmanager "ndk;29.0.14206865" + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.rust_target }} + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' + key: android-${{ matrix.target }} + + - name: Gradle cache + uses: actions/cache@v5 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + src-tauri/gen/android/.gradle + key: gradle-${{ matrix.target }}-${{ hashFiles('src-tauri/gen/android/**/*.gradle*', 'src-tauri/gen/android/**/gradle-wrapper.properties') }} + restore-keys: gradle- + + - run: npm ci + + - name: Setup Android signing + run: | + cd src-tauri/gen/android + echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties + echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties + base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks + echo "storeFile=$RUNNER_TEMP/keystore.jks" >> keystore.properties + + - name: Build and sign APK + run: | + VERSION=${{ github.ref_name }} + BT="$ANDROID_HOME/build-tools/$(ls $ANDROID_HOME/build-tools/ | tail -1)" + + npx tauri android build --apk --target ${{ matrix.target }} + + SIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk -path '*/release/*-signed*' -name '*.apk' -type f 2>/dev/null | head -1) + RELEASE_APK=$(find src-tauri/gen/android/app/build/outputs/apk -path '*/release/*.apk' -name '*.apk' -type f 2>/dev/null | head -1) + APK_PATH="${SIGNED_APK:-$RELEASE_APK}" + DEST="OpenCodeUI-${VERSION}-android-${{ matrix.label }}.apk" + + if $BT/apksigner verify "$APK_PATH" 2>/dev/null; then + cp "$APK_PATH" "$DEST" + else + $BT/zipalign -v 4 "$APK_PATH" "${APK_PATH}.aligned" + $BT/apksigner sign \ + --ks $RUNNER_TEMP/keystore.jks \ + --ks-key-alias ${{ secrets.ANDROID_KEY_ALIAS }} \ + --ks-pass pass:${{ secrets.ANDROID_KEY_PASSWORD }} \ + --key-pass pass:${{ secrets.ANDROID_KEY_PASSWORD }} \ + --out "$DEST" "${APK_PATH}.aligned" + fi + + mkdir -p release-artifacts + mv "$DEST" release-artifacts/ + env: + NDK_HOME: ${{ env.ANDROID_HOME }}/ndk/29.0.14206865 + + - uses: actions/upload-artifact@v7 + with: + name: artifacts-android-${{ matrix.label }} + path: release-artifacts/* + retention-days: 1 + + # ============================================ + # Publish Release + # ============================================ + publish-release: + permissions: + contents: write + runs-on: ubuntu-latest + needs: [build-desktop, build-android] + steps: + - uses: actions/checkout@v6 + + - uses: actions/download-artifact@v8 + with: + path: artifacts + pattern: artifacts-* + merge-multiple: true + + - name: Display artifacts + run: ls -R artifacts + + - name: Extract changelog + id: changelog + run: | + TAG="${{ github.ref_name }}" + BODY=$(sed -n "/^## \[${TAG}\]/,/^## \[/{ /^## \[${TAG}\]/d; /^## \[/d; p; }" CHANGELOG.md) + BODY=$(echo "$BODY" | sed -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba;}') + if [ -z "$BODY" ]; then + BODY="No changelog entry found for ${TAG}." + fi + echo "$BODY" > /tmp/release-body.md + printf '\n---\n\n**Desktop:** Windows (.exe), macOS (.dmg), Linux (.deb, .AppImage)\n**Mobile:** Android (.apk) — arm64, armeabi-v7a\n' >> /tmp/release-body.md + + - name: Create Release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + name: 'OpenCodeUI ${{ github.ref_name }}' + body_path: /tmp/release-body.md + files: artifacts/* + draft: false + prerelease: ${{ contains(github.ref_name, 'canary') || contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..947a59e --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +dist/ +target/ +.superpowers/ +tmp/ +*.log +.DS_Store +Thumbs.db diff --git a/.pi-lens/cache/review-graph.json b/.pi-lens/cache/review-graph.json new file mode 100644 index 0000000..16f460f --- /dev/null +++ b/.pi-lens/cache/review-graph.json @@ -0,0 +1 @@ +{"version":"v2","builtAt":"2026-06-01T00:40:39.785Z","signature":"D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js:1486:1780022589270.6587|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:5516:1780258362691.8145|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:16383:1780258362659.5957|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:4040:1780266481529.727|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:7293:1780266481600.4917|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:6112:1780253705167.7166|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:5140:1780253889743.0134|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:39380:1780272600127.7744|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:83661:1780272653246.032|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:2999:1780248290341.1304|D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:6608:1780250094524.6309|D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:1287:1780022589275.1758|D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:7766:1780022589276.6814|D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs:2053:1780022589276.6814|D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:2730:1780022589276.6814|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/caddy.rs:2091:1780022589277.6882|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/config.rs:3669:1780022589278.6926|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/main.rs:796:1780022589278.6926|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/router.rs:12128:1780022589278.6926|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/scanner.rs:2323:1780022589279.694|D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/state.rs:2417:1780022589279.694|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/build.rs:40:1780022589282.198|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/args.rs:1765:1780022589313.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/event.rs:558:1780022589313.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/mod.rs:197:1780022589313.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/state.rs:4232:1780022589313.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/bridge.rs:13983:1780022589314.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/mod.rs:124:1780027014784.0298|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/pi_agent.rs:4814:1780027011663.1926|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/utils.rs:1496:1780029769772.7441|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/dir_state.rs:773:1780022589315.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/mod.rs:10869:1780029779431.7087|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/service.rs:500:1780027024480.5833|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/lib.rs:100:1780022589315.2903|D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/main.rs:193:1780022589316.2898|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:929:1780026517593.7356|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:1876:1780180406861.2058|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:3901:1780257142048.0273|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:2375:1780194572795.3748|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:3632:1780194752659.6665|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:1414:1780026299997.4521|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:8606:1780119380006.358|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:27784:1780121498237.752|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:1680:1780258114988.9187|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:1197:1780258069136.5046|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:4453:1780026718153.368|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:981:1780026539178.5913|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:1443:1780022589319.4368|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:1509:1780029793129.7656|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/index.ts:135:1780022589319.4368|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:657:1780026505282.3206|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:1017:1780188851123.1152|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:1868:1780188942993.4717|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:4368:1780026289798.4277|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:1361:1780204655419.1777|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:439:1780204716377.468|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:2942:1780026552376.5452|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:1870:1780268829114.4573|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:3060:1780268787667.3633|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts:896:1780026384273.1921|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:1423:1780026481223.515|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:627:1780026486822.8467|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:1182:1780185367865.852|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:6528:1780184801737.9011|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:959:1780187058176.553|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:468:1780026579370.1785|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:694:1780022589322.9514|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:836:1780022589322.9514|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:3002:1780250094958.0671|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:1444:1780235558422.5256|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:1338:1780026427241.374|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:981:1780026850863.218|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:1288:1780249623159.286|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts:2041:1780022589323.9573|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:2330:1780266481495.614|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:3184:1780266481501.133|D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:946:1780026499378.833|D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:24048:1780022589317.4363|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:11357:1780022589339.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:1635:1780022589339.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:2491:1780027100203.3027|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:1783:1780022589340.3591|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:6182:1780022589340.3591|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:2868:1780022589340.3591|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:14231:1780022589350.3914|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:2150:1780022589340.3591|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:1108:1780022589341.8662|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:1983:1780022589341.8662|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:10523:1780022589341.8662|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:12059:1780022589341.8662|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:1702:1780022589342.8713|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:6569:1780022589342.8713|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:1363:1780022589342.8713|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:6349:1780022589342.8713|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:3379:1780022589343.872|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:66689:1780022589343.872|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:4019:1780106541381.2847|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:4111:1780258363074.6853|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:17100:1780258363061.562|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:35877:1780027116280.1743|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:2971:1780022589344.871|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:5813:1780022589345.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx:6136:1780246875211.5525|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/index.ts:627:1780022589350.3914|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:4061:1780022589345.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:17407:1780022589345.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:21248:1780189192710.225|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:19187:1780022589346.3794|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:24049:1780258363125.2507|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:5510:1780022589347.3848|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:9076:1780258363146.8884|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:8775:1780022589348.389|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:47070:1780022589348.389|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:1953:1780187416955.4294|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:8272:1780187416932.6677|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:34801:1780022589349.3901|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:8285:1780022589349.3901|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:1813:1780022589350.3914|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx:1776:1780022589350.3914|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:1436:1780022589350.3914|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:2139:1780022589351.896|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:5390:1780022589351.896|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:13215:1780022589351.896|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:3617:1780022589351.896|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:6167:1780022589352.9038|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx:1376:1780022589352.9038|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/index.ts:516:1780022589353.9045|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx:1931:1780022589352.9038|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:1311:1780022589352.9038|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:11243:1780022589353.9045|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx:950:1780022589353.9045|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:2282:1780022589353.9045|D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:20018:1780022589349.3901|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/animation.ts:95:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/api.ts:224:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/desktopWindow.ts:378:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/index.ts:317:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/pagination.ts:152:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts:521:1780022589354.902|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/time.ts:256:1780022589356.4062|D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/ui.ts:69:1780022589356.4062|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts:748:1780022589356.4062|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:7511:1780027130138.2334|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/index.ts:617:1780022589358.4167|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts:527:1780022589357.4175|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:4524:1780022589357.4175|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:8539:1780022589357.4175|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:1441:1780022589358.4167|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:1190:1780022589358.4167|D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:353:1780022589358.4167|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:2344:1780022589359.4126|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:16255:1780022589359.4126|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:13752:1780022589359.4126|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:1871:1780022589360.4148|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/index.ts:121:1780022589360.4148|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts:1570:1780022589360.4148|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:4185:1780022589360.4148|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:5318:1780022589360.4148|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:22891:1780122848713.8186|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:4973:1780022589368.492|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:34249:1780026890703.343|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:12535:1780022589369.4922|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:8780:1780022589362.9236|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:10274:1780027142292.7996|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/index.ts:349:1780022589369.4922|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:4929:1780026896891.7378|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:10353:1780026905157.0537|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:2685:1780036289744.754|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:3998:1780268251727.1592|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:21494:1780268215048.4636|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:5735:1780022589369.4922|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:14361:1780022589370.4917|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:8793:1780267037602.791|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:20718:1780267037653.0623|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:2352:1780022589370.4917|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:1511:1780022589370.4917|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:4187:1780022589371.9958|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:7273:1780022589371.9958|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:7745:1780022589371.9958|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:2053:1780252650541.2927|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:1409:1780253275237.348|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:11868:1780022589364.9248|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:40977:1780267037680.1135|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:2518:1780022589364.9248|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:5309:1780022589364.9248|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:34005:1780022589364.9248|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:3901:1780022589366.4297|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:9991:1780022589366.4297|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:9943:1780026912985.6226|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:1994:1780022589366.4297|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:15100:1780026766625.2542|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:14614:1780026907397.1956|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:3534:1780022589367.4346|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:4840:1780022589368.492|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:11952:1780022589368.492|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:4969:1780022589373.003|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:1425:1780022589375.002|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:1002:1780022589376.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:15090:1780188221215.4226|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:40491:1780022589374.002|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:2378:1780022589374.002|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:7721:1780022589374.002|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:983:1780022589376.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:797:1780022589376.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:4858:1780022589374.002|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:16213:1780188169043.3823|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:779:1780022589376.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:51200:1780182540370.8037|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:8175:1780022589368.492|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:1869:1780022589378.0496|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/index.ts:837:1780022589378.0496|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:2503:1780022589377.0503|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:15554:1780022589377.0503|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:3820:1780022589378.0496|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts:1415:1780022589378.0496|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:9675:1780022589379.053|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:2130:1780022589379.053|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:5580:1780022589379.053|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/index.ts:78:1780022589380.0503|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:4512:1780175052969.0212|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:37815:1780175052951.406|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:1561:1780022589381.0498|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/index.ts:496:1780022589384.0508|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:4441:1780022589381.0498|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:2977:1780022589382.05|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:10939:1780022589382.05|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:3485:1780036324857.5889|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:6956:1780022589382.05|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:2145:1780022589383.0508|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:5802:1780022589383.0508|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:784:1780022589383.0508|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:3703:1780022589383.0508|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:21682:1780107037280.7886|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:1289:1780022589385.0532|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/index.ts:376:1780022589385.0532|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:1337:1780022589385.0532|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:10522:1780036298482.3176|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:9933:1780022589386.0515|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:7911:1780022589386.0515|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/index.ts:289:1780022589387.6802|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:7602:1780107207446.853|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:15508:1780107228104.3372|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:4041:1780022589386.0515|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:667:1780107233914.855|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts:1864:1780022589387.6802|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/index.ts:147:1780022589389.6865|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:2106:1780022589388.6863|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:9318:1780022589388.6863|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:4338:1780205167096.1448|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:36297:1780205167228.0513|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:1783:1780203622512.286|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:2178:1780203697103.8794|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:7363:1780022589390.6868|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:5162:1780022589390.6868|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:23977:1780274355756.0908|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:6106:1780022589392.1924|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:3517:1780022589392.1924|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:7860:1780022589392.1924|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:2417:1780272653393.0984|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:4160:1780272399815.9475|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:19404:1780022589393.1975|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:19185:1780247004924.4036|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:9981:1780027092685.1008|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:7044:1780247004870.971|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:3275:1780252980814.3665|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:7260:1780252862592.3525|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:1692:1780249081288.8853|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:8182:1780250095061.869|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx:227:1780249286721.1772|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:5666:1780022589394.2007|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:12623:1780022589389.6865|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:2036:1780246566472.6035|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:14200:1780247004863.353|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/index.ts:118:1780022589395.1975|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:1399:1780022589394.2007|D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:8396:1780022589394.2007|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/index.ts:2756:1780235954147.186|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts:216:1780022589395.1975|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:1744:1780022589396.2004|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:11853:1780086179879.9922|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:39694:1780122246475.1692|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:806:1780022589397.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:1289:1780022589397.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:1317:1780022589397.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:739:1780022589397.3594|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:1024:1780022589398.3657|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:6667:1780022589398.3657|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:6329:1780022589398.3657|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:14742:1780022589398.3657|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:5714:1780022589399.3643|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:17066:1780022589399.3643|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:23983:1780119380074.8225|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:2441:1780022589400.3645|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:1438:1780022589400.3645|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:1258:1780022589400.3645|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:510:1780022589400.3645|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:4816:1780022589400.3645|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:3757:1780022589401.8691|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:1275:1780022589401.8691|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:3428:1780084834942.2798|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:2678:1780084436824.0815|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:7150:1780022589401.8691|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:6317:1780022589401.8691|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:7230:1780022589401.8691|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:511:1780022589403.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:634:1780022589403.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:1792:1780022589403.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:7948:1780022589403.3755|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:1502:1780022589404.3816|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:2496:1780022589404.3816|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:2694:1780022589404.3816|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:1128:1780022589404.3816|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:8190:1780022589405.3818|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:6191:1780022589405.3818|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:2035:1780022589405.3818|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:771:1780182849367.8904|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:14270:1780106632865.5571|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:4848:1780022589406.8855|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:9052:1780022589406.8855|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:942:1780022589406.381|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:5046:1780187967683.4421|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:9368:1780188097383.5657|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:561:1780022589407.8906|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:15195:1780022589407.8906|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:9287:1780022589407.8906|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:2267:1780022589408.8955|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:5395:1780022589408.8955|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:3466:1780022589409.456|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:5793:1780253108867.4456|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:4292:1780253215051.9373|D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:1564:1780022589409.456|D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts:1229:1780022589409.456|D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:13319:1780022589410.4626|D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:4379:1780022589410.4626|D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:1669:1780274431759.004|D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:6078:1780106558672.8792|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:1585:1780022589415.9756|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:12367:1780022589415.9756|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:8428:1780022589415.9756|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:1427:1780022589415.9756|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:8162:1780022589417.0808|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:6729:1780022589417.0808|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/index.ts:4012:1780022589417.0808|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:977:1780022589417.0808|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:20689:1780022589418.0823|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:5950:1780022589418.0823|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:41188:1780258823669.9514|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:12255:1780190508402.495|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:28030:1780190641696.2505|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:2335:1780022589419.0825|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:6751:1780022589419.0825|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts:2067:1780022589420.0828|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:2738:1780022589420.0828|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:864:1780022589420.0828|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:6183:1780022589420.0828|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:9551:1780022589421.0806|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:3076:1780022589421.0806|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:757:1780022589421.5852|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:14599:1780022589421.5852|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:1795:1780022589421.5852|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:15934:1780273390281.4038|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:5552:1780022589422.5906|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:17679:1780022589422.5906|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:35348:1780022589423.5903|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:4399:1780022589423.5903|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:3501:1780244811285.2305|D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:8566:1780244811286.23|D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:2176:1780022589423.5903|D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:25235:1780022589425.095|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/agent.ts:300:1780026744154.793|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/common.ts:598:1780026559070.3591|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts:4690:1780026403287.704|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts:958:1780026653187.643|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts:5624:1780026434945.4067|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts:1277:1780256955297.8262|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/file.ts:1160:1780026810955.8962|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/index.ts:4126:1780266116299.5862|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts:1526:1780188981418.066|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts:1902:1780027294472.0369|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts:939:1780026352018.4495|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts:260:1780253831806.3616|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts:777:1780026675159.9033|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts:406:1780026265960.813|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts:482:1780026806615.5762|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts:894:1780025780609.6736|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts:247:1780187159780.7637|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts:868:1780248535270.2334|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts:163:1780026589350.102|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts:692:1780249121379.6116|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts:982:1780266076415.6384|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts:307:1780026492809.2854|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts:3392:1780022589429.6895|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:2345:1780022589429.6895|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:8922:1780022589429.6895|D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts:2535:1780022589430.6912|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:1064:1780022589430.6912|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:832:1780022589430.6912|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:3759:1780022589430.6912|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:1934:1780022589432.1948|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:1956:1780022589432.1948|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:598:1780022589432.1948|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:773:1780022589432.1948|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:8441:1780022589432.1948|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:3215:1780026758464.4849|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:3041:1780105636247.5972|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:1827:1780022589434.1995|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:3250:1780022589434.1995|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/index.ts:322:1780022589434.1995|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:3096:1780022589435.1992|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:391:1780022589435.1992|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts:724:1780022589435.1992|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:12162:1780022589435.1992|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:1301:1780022589436.2034|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:3420:1780022589436.2034|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:10959:1780022589436.2034|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:2483:1780022589437.2446|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:2189:1780184376474.7517|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:3455:1780185401456.7922|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:3384:1780022589437.2446|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:1057:1780022589438.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:1121:1780022589438.0017|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:1328:1780022589438.5305|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:3180:1780022589438.5305|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:6104:1780022589439.055|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:12558:1780022589439.055|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:499:1780022589439.5813|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:1642:1780022589439.5813|D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:1883:1780022589440.103|D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:2449:1780022589441.2356|D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts:390:1780022589441.7632","fileSignatures":[["D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","1486:1780022589270.6587"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","5516:1780258362691.8145"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","16383:1780258362659.5957"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","4040:1780266481529.727"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","7293:1780266481600.4917"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","6112:1780253705167.7166"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","5140:1780253889743.0134"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","39380:1780272600127.7744"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","83661:1780272653246.032"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","2999:1780248290341.1304"],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","6608:1780250094524.6309"],["D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","1287:1780022589275.1758"],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","7766:1780022589276.6814"],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","2053:1780022589276.6814"],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","2730:1780022589276.6814"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","929:1780026517593.7356"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","1876:1780180406861.2058"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","3901:1780257142048.0273"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","2375:1780194572795.3748"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","3632:1780194752659.6665"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","1414:1780026299997.4521"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","8606:1780119380006.358"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","27784:1780121498237.752"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","1680:1780258114988.9187"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","1197:1780258069136.5046"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","4453:1780026718153.368"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","981:1780026539178.5913"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","1443:1780022589319.4368"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","1509:1780029793129.7656"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/index.ts","135:1780022589319.4368"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","657:1780026505282.3206"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","1017:1780188851123.1152"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","1868:1780188942993.4717"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","4368:1780026289798.4277"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","1361:1780204655419.1777"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","439:1780204716377.468"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","2942:1780026552376.5452"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","1870:1780268829114.4573"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","3060:1780268787667.3633"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts","896:1780026384273.1921"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","1423:1780026481223.515"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","627:1780026486822.8467"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","1182:1780185367865.852"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","6528:1780184801737.9011"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","959:1780187058176.553"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","468:1780026579370.1785"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","694:1780022589322.9514"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","836:1780022589322.9514"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","3002:1780250094958.0671"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","1444:1780235558422.5256"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","1338:1780026427241.374"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","981:1780026850863.218"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","1288:1780249623159.286"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","2041:1780022589323.9573"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","2330:1780266481495.614"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","3184:1780266481501.133"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","946:1780026499378.833"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","24048:1780022589317.4363"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","11357:1780022589339.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","1635:1780022589339.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","2491:1780027100203.3027"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","1783:1780022589340.3591"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","6182:1780022589340.3591"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","2868:1780022589340.3591"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","14231:1780022589350.3914"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","2150:1780022589340.3591"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","1108:1780022589341.8662"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","1983:1780022589341.8662"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","10523:1780022589341.8662"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","12059:1780022589341.8662"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","1702:1780022589342.8713"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","6569:1780022589342.8713"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","1363:1780022589342.8713"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","6349:1780022589342.8713"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","3379:1780022589343.872"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","66689:1780022589343.872"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","4019:1780106541381.2847"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","4111:1780258363074.6853"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","17100:1780258363061.562"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","35877:1780027116280.1743"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","2971:1780022589344.871"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","5813:1780022589345.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","6136:1780246875211.5525"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/index.ts","627:1780022589350.3914"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","4061:1780022589345.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","17407:1780022589345.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","21248:1780189192710.225"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","19187:1780022589346.3794"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","24049:1780258363125.2507"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","5510:1780022589347.3848"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","9076:1780258363146.8884"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","8775:1780022589348.389"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","47070:1780022589348.389"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","1953:1780187416955.4294"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","8272:1780187416932.6677"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","34801:1780022589349.3901"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","8285:1780022589349.3901"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","1813:1780022589350.3914"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","1776:1780022589350.3914"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","1436:1780022589350.3914"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","2139:1780022589351.896"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","5390:1780022589351.896"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","13215:1780022589351.896"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","3617:1780022589351.896"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","6167:1780022589352.9038"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","1376:1780022589352.9038"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/index.ts","516:1780022589353.9045"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","1931:1780022589352.9038"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","1311:1780022589352.9038"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","11243:1780022589353.9045"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","950:1780022589353.9045"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","2282:1780022589353.9045"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","20018:1780022589349.3901"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/animation.ts","95:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/api.ts","224:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/desktopWindow.ts","378:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/index.ts","317:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/pagination.ts","152:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","521:1780022589354.902"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/time.ts","256:1780022589356.4062"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/ui.ts","69:1780022589356.4062"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","748:1780022589356.4062"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","7511:1780027130138.2334"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/index.ts","617:1780022589358.4167"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","527:1780022589357.4175"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","4524:1780022589357.4175"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","8539:1780022589357.4175"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","1441:1780022589358.4167"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","1190:1780022589358.4167"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","353:1780022589358.4167"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","2344:1780022589359.4126"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","16255:1780022589359.4126"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","13752:1780022589359.4126"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","1871:1780022589360.4148"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/index.ts","121:1780022589360.4148"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","1570:1780022589360.4148"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","4185:1780022589360.4148"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","5318:1780022589360.4148"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","22891:1780122848713.8186"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","4973:1780022589368.492"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","34249:1780026890703.343"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","12535:1780022589369.4922"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","8780:1780022589362.9236"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","10274:1780027142292.7996"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/index.ts","349:1780022589369.4922"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","4929:1780026896891.7378"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","10353:1780026905157.0537"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","2685:1780036289744.754"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","3998:1780268251727.1592"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","21494:1780268215048.4636"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","5735:1780022589369.4922"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","14361:1780022589370.4917"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","8793:1780267037602.791"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","20718:1780267037653.0623"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","2352:1780022589370.4917"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","1511:1780022589370.4917"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","4187:1780022589371.9958"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","7273:1780022589371.9958"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","7745:1780022589371.9958"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","2053:1780252650541.2927"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","1409:1780253275237.348"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","11868:1780022589364.9248"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","40977:1780267037680.1135"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","2518:1780022589364.9248"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","5309:1780022589364.9248"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","34005:1780022589364.9248"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","3901:1780022589366.4297"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","9991:1780022589366.4297"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","9943:1780026912985.6226"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","1994:1780022589366.4297"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","15100:1780026766625.2542"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","14614:1780026907397.1956"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","3534:1780022589367.4346"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","4840:1780022589368.492"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","4969:1780022589373.003"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","1425:1780022589375.002"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","1002:1780022589376.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","15090:1780188221215.4226"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","40491:1780022589374.002"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","2378:1780022589374.002"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","7721:1780022589374.002"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","983:1780022589376.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","797:1780022589376.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","4858:1780022589374.002"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","16213:1780188169043.3823"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","779:1780022589376.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","51200:1780182540370.8037"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","11952:1780022589368.492"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","8175:1780022589368.492"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","1869:1780022589378.0496"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/index.ts","837:1780022589378.0496"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","2503:1780022589377.0503"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","15554:1780022589377.0503"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","3820:1780022589378.0496"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","1415:1780022589378.0496"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","9675:1780022589379.053"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","2130:1780022589379.053"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","5580:1780022589379.053"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/index.ts","78:1780022589380.0503"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","4512:1780175052969.0212"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","37815:1780175052951.406"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","1561:1780022589381.0498"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/index.ts","496:1780022589384.0508"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","4441:1780022589381.0498"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","2977:1780022589382.05"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","10939:1780022589382.05"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","3485:1780036324857.5889"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","6956:1780022589382.05"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","2145:1780022589383.0508"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","5802:1780022589383.0508"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","784:1780022589383.0508"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","3703:1780022589383.0508"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","21682:1780107037280.7886"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","1289:1780022589385.0532"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/index.ts","376:1780022589385.0532"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","1337:1780022589385.0532"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","10522:1780036298482.3176"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","9933:1780022589386.0515"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","7911:1780022589386.0515"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/index.ts","289:1780022589387.6802"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","7602:1780107207446.853"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","15508:1780107228104.3372"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","4041:1780022589386.0515"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","667:1780107233914.855"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","1864:1780022589387.6802"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/index.ts","147:1780022589389.6865"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","2106:1780022589388.6863"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","9318:1780022589388.6863"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","4338:1780205167096.1448"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","36297:1780205167228.0513"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","1783:1780203622512.286"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","2178:1780203697103.8794"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","7363:1780022589390.6868"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","5162:1780022589390.6868"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","23977:1780274355756.0908"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","6106:1780022589392.1924"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","3517:1780022589392.1924"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","7860:1780022589392.1924"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","2417:1780272653393.0984"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","4160:1780272399815.9475"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","19404:1780022589393.1975"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","19185:1780247004924.4036"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","9981:1780027092685.1008"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","7044:1780247004870.971"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","3275:1780252980814.3665"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","7260:1780252862592.3525"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","1692:1780249081288.8853"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","8182:1780250095061.869"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","227:1780249286721.1772"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","5666:1780022589394.2007"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","12623:1780022589389.6865"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","2036:1780246566472.6035"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","14200:1780247004863.353"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/index.ts","118:1780022589395.1975"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","1399:1780022589394.2007"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","8396:1780022589394.2007"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/index.ts","2756:1780235954147.186"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts","216:1780022589395.1975"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","1744:1780022589396.2004"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","11853:1780086179879.9922"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","39694:1780122246475.1692"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","806:1780022589397.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","1289:1780022589397.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","1317:1780022589397.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","739:1780022589397.3594"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","1024:1780022589398.3657"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","6667:1780022589398.3657"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","6329:1780022589398.3657"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","14742:1780022589398.3657"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","5714:1780022589399.3643"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","17066:1780022589399.3643"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","23983:1780119380074.8225"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","2441:1780022589400.3645"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","1438:1780022589400.3645"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","1258:1780022589400.3645"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","510:1780022589400.3645"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","4816:1780022589400.3645"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","3757:1780022589401.8691"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","1275:1780022589401.8691"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","3428:1780084834942.2798"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","2678:1780084436824.0815"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","7150:1780022589401.8691"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","6317:1780022589401.8691"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","7230:1780022589401.8691"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","511:1780022589403.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","634:1780022589403.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","1792:1780022589403.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","7948:1780022589403.3755"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","1502:1780022589404.3816"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","2496:1780022589404.3816"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","2694:1780022589404.3816"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","1128:1780022589404.3816"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","8190:1780022589405.3818"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","6191:1780022589405.3818"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","2035:1780022589405.3818"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","771:1780182849367.8904"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","14270:1780106632865.5571"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","4848:1780022589406.8855"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","9052:1780022589406.8855"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","942:1780022589406.381"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","5046:1780187967683.4421"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","9368:1780188097383.5657"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","561:1780022589407.8906"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","15195:1780022589407.8906"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","9287:1780022589407.8906"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","2267:1780022589408.8955"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","5395:1780022589408.8955"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","3466:1780022589409.456"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","5793:1780253108867.4456"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","4292:1780253215051.9373"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","1564:1780022589409.456"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","1229:1780022589409.456"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","13319:1780022589410.4626"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","4379:1780022589410.4626"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","1669:1780274431759.004"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","6078:1780106558672.8792"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","1585:1780022589415.9756"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","12367:1780022589415.9756"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","8428:1780022589415.9756"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","1427:1780022589415.9756"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","8162:1780022589417.0808"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","6729:1780022589417.0808"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/index.ts","4012:1780022589417.0808"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","977:1780022589417.0808"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","20689:1780022589418.0823"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","5950:1780022589418.0823"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","41188:1780258823669.9514"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","12255:1780190508402.495"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","28030:1780190641696.2505"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","2335:1780022589419.0825"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","6751:1780022589419.0825"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","2067:1780022589420.0828"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","2738:1780022589420.0828"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","864:1780022589420.0828"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","6183:1780022589420.0828"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","9551:1780022589421.0806"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","3076:1780022589421.0806"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","757:1780022589421.5852"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","14599:1780022589421.5852"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","1795:1780022589421.5852"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","15934:1780273390281.4038"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","5552:1780022589422.5906"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","17679:1780022589422.5906"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","35348:1780022589423.5903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","4399:1780022589423.5903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","3501:1780244811285.2305"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","8566:1780244811286.23"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","2176:1780022589423.5903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","25235:1780022589425.095"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/agent.ts","300:1780026744154.793"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/common.ts","598:1780026559070.3591"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","4690:1780026403287.704"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts","958:1780026653187.643"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","5624:1780026434945.4067"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts","1277:1780256955297.8262"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/file.ts","1160:1780026810955.8962"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/index.ts","4126:1780266116299.5862"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts","1526:1780188981418.066"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts","1902:1780027294472.0369"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts","939:1780026352018.4495"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts","260:1780253831806.3616"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts","777:1780026675159.9033"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts","406:1780026265960.813"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts","482:1780026806615.5762"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","894:1780025780609.6736"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts","247:1780187159780.7637"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","868:1780248535270.2334"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts","163:1780026589350.102"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts","692:1780249121379.6116"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","982:1780266076415.6384"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts","307:1780026492809.2854"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts","3392:1780022589429.6895"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","2345:1780022589429.6895"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","8922:1780022589429.6895"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","2535:1780022589430.6912"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","1064:1780022589430.6912"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","832:1780022589430.6912"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","3759:1780022589430.6912"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","1934:1780022589432.1948"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","1956:1780022589432.1948"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","598:1780022589432.1948"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","773:1780022589432.1948"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","8441:1780022589432.1948"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","3215:1780026758464.4849"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","3041:1780105636247.5972"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","1827:1780022589434.1995"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","3250:1780022589434.1995"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/index.ts","322:1780022589434.1995"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","3096:1780022589435.1992"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","391:1780022589435.1992"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","724:1780022589435.1992"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","12162:1780022589435.1992"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","1301:1780022589436.2034"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","3420:1780022589436.2034"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","10959:1780022589436.2034"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","2483:1780022589437.2446"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","2189:1780184376474.7517"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","3455:1780185401456.7922"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","3384:1780022589437.2446"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","1057:1780022589438.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","1121:1780022589438.0017"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","1328:1780022589438.5305"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","3180:1780022589438.5305"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","6104:1780022589439.055"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","12558:1780022589439.055"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","499:1780022589439.5813"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","1642:1780022589439.5813"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","1883:1780022589440.103"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/caddy.rs","2091:1780022589277.6882"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/config.rs","3669:1780022589278.6926"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/main.rs","796:1780022589278.6926"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/router.rs","12128:1780022589278.6926"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/scanner.rs","2323:1780022589279.694"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/state.rs","2417:1780022589279.694"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/build.rs","40:1780022589282.198"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/args.rs","1765:1780022589313.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/event.rs","558:1780022589313.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/mod.rs","197:1780022589313.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/state.rs","4232:1780022589313.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/bridge.rs","13983:1780022589314.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/mod.rs","124:1780027014784.0298"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/pi_agent.rs","4814:1780027011663.1926"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/utils.rs","1496:1780029769772.7441"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/dir_state.rs","773:1780022589315.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/mod.rs","10869:1780029779431.7087"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/service.rs","500:1780027024480.5833"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/lib.rs","100:1780022589315.2903"],["D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/main.rs","193:1780022589316.2898"],["D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","2449:1780022589441.2356"],["D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","390:1780022589441.7632"]],"nodes":[["file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","metadata":{"lineCount":46,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:@eslint/js",{"id":"external:@eslint/js","kind":"external","language":"jsts","metadata":{"source":"@eslint/js"}}],["external:eslint-config-prettier",{"id":"external:eslint-config-prettier","kind":"external","language":"jsts","metadata":{"source":"eslint-config-prettier"}}],["external:globals",{"id":"external:globals","kind":"external","language":"jsts","metadata":{"source":"globals"}}],["external:eslint-plugin-react-hooks",{"id":"external:eslint-plugin-react-hooks","kind":"external","language":"jsts","metadata":{"source":"eslint-plugin-react-hooks"}}],["external:eslint-plugin-react-refresh",{"id":"external:eslint-plugin-react-refresh","kind":"external","language":"jsts","metadata":{"source":"eslint-plugin-react-refresh"}}],["external:typescript-eslint",{"id":"external:typescript-eslint","kind":"external","language":"jsts","metadata":{"source":"typescript-eslint"}}],["external:eslint/config",{"id":"external:eslint/config","kind":"external","language":"jsts","metadata":{"source":"eslint/config"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","metadata":{"lineCount":129,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:node:fs",{"id":"external:node:fs","kind":"external","language":"jsts","metadata":{"source":"node:fs"}}],["external:node:os",{"id":"external:node:os","kind":"external","language":"jsts","metadata":{"source":"node:os"}}],["external:node:path",{"id":"external:node:path","kind":"external","language":"jsts","metadata":{"source":"node:path"}}],["external:vitest",{"id":"external:vitest","kind":"external","language":"jsts","metadata":{"source":"vitest"}}],["module:./piagentui-extension-manager.js",{"id":"module:./piagentui-extension-manager.js","kind":"module","language":"jsts","metadata":{"source":"./piagentui-extension-manager.js"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","symbolName":"makeTempRoot","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fs.mkdtempSync",{"id":"external:fs.mkdtempSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.mkdtempSync"}}],["external:path.join",{"id":"external:path.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.join"}}],["external:os.tmpdir",{"id":"external:os.tmpdir","kind":"external","language":"jsts","metadata":{"unresolvedName":"os.tmpdir"}}],["external:tempRoots.push",{"id":"external:tempRoots.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"tempRoots.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","symbolName":"writeJson","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fs.mkdirSync",{"id":"external:fs.mkdirSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.mkdirSync"}}],["external:path.dirname",{"id":"external:path.dirname","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.dirname"}}],["external:fs.writeFileSync",{"id":"external:fs.writeFileSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.writeFileSync"}}],["external:JSON.stringify",{"id":"external:JSON.stringify","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.stringify"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":119,"column":96,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tempRoots.splice",{"id":"external:tempRoots.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"tempRoots.splice"}}],["external:fs.rmSync",{"id":"external:fs.rmSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.rmSync"}}],["symbol-name:it",{"id":"symbol-name:it","kind":"symbol","language":"jsts","symbolName":"it","metadata":{"unresolvedName":"it"}}],["external:expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual",{"id":"external:expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual"}}],["symbol-name:expect",{"id":"symbol-name:expect","kind":"symbol","language":"jsts","symbolName":"expect","metadata":{"unresolvedName":"expect"}}],["symbol-name:parsePiInstallCommand",{"id":"symbol-name:parsePiInstallCommand","kind":"symbol","language":"jsts","symbolName":"parsePiInstallCommand","metadata":{"unresolvedName":"parsePiInstallCommand"}}],["external:expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual",{"id":"external:expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual"}}],["external:expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow",{"id":"external:expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow"}}],["external:expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow",{"id":"external:expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow"}}],["external:expect(() => parsePiInstallCommand('pi install')).toThrow",{"id":"external:expect(() => parsePiInstallCommand('pi install')).toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi install')).toThrow"}}],["symbol-name:makeTempRoot",{"id":"symbol-name:makeTempRoot","kind":"symbol","language":"jsts","symbolName":"makeTempRoot","metadata":{"unresolvedName":"makeTempRoot"}}],["symbol-name:writeJson",{"id":"symbol-name:writeJson","kind":"symbol","language":"jsts","symbolName":"writeJson","metadata":{"unresolvedName":"writeJson"}}],["symbol-name:buildExtensionCatalog",{"id":"symbol-name:buildExtensionCatalog","kind":"symbol","language":"jsts","symbolName":"buildExtensionCatalog","metadata":{"unresolvedName":"buildExtensionCatalog"}}],["external:expect(catalog.summary).toEqual",{"id":"external:expect(catalog.summary).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(catalog.summary).toEqual"}}],["external:catalog.packages.find",{"id":"external:catalog.packages.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"catalog.packages.find"}}],["external:expect(userPackage).toMatchObject",{"id":"external:expect(userPackage).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(userPackage).toMatchObject"}}],["external:expect(userPackage?.resources.extensions).toEqual",{"id":"external:expect(userPackage?.resources.extensions).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(userPackage?.resources.extensions).toEqual"}}],["external:expect.objectContaining",{"id":"external:expect.objectContaining","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.objectContaining"}}],["external:expect(userPackage?.resources.skills).toEqual",{"id":"external:expect(userPackage?.resources.skills).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(userPackage?.resources.skills).toEqual"}}],["external:expect(projectPackage).toMatchObject",{"id":"external:expect(projectPackage).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(projectPackage).toMatchObject"}}],["external:expect(projectPackage?.resources.extensions).toEqual",{"id":"external:expect(projectPackage?.resources.extensions).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(projectPackage?.resources.extensions).toEqual"}}],["external:expect(missingPackage).toMatchObject",{"id":"external:expect(missingPackage).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(missingPackage).toMatchObject"}}],["external:vi.fn",{"id":"external:vi.fn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn"}}],["symbol-name:executeExtensionInstallCommand",{"id":"symbol-name:executeExtensionInstallCommand","kind":"symbol","language":"jsts","symbolName":"executeExtensionInstallCommand","metadata":{"unresolvedName":"executeExtensionInstallCommand"}}],["symbol-name:executeExtensionPackageRemoval",{"id":"symbol-name:executeExtensionPackageRemoval","kind":"symbol","language":"jsts","symbolName":"executeExtensionPackageRemoval","metadata":{"unresolvedName":"executeExtensionPackageRemoval"}}],["external:expect(runner).toHaveBeenNthCalledWith",{"id":"external:expect(runner).toHaveBeenNthCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(runner).toHaveBeenNthCalledWith"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","metadata":{"lineCount":514,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:node:child_process",{"id":"external:node:child_process","kind":"external","language":"jsts","metadata":{"source":"node:child_process"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getHomeDir",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getHomeDir","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"getHomeDir","symbolKind":"function","exported":false,"metadata":{"line":101,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:os.homedir",{"id":"external:os.homedir","kind":"external","language":"jsts","metadata":{"unresolvedName":"os.homedir"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"getAgentDir","symbolKind":"function","exported":false,"metadata":{"line":105,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getHomeDir",{"id":"symbol-name:getHomeDir","kind":"symbol","language":"jsts","symbolName":"getHomeDir","metadata":{"unresolvedName":"getHomeDir"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"readJsonFile","symbolKind":"function","exported":false,"metadata":{"line":109,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fs.existsSync",{"id":"external:fs.existsSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.existsSync"}}],["external:JSON.parse",{"id":"external:JSON.parse","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.parse"}}],["external:fs.readFileSync",{"id":"external:fs.readFileSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.readFileSync"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"readSettings","symbolKind":"function","exported":false,"metadata":{"line":118,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:readJsonFile",{"id":"symbol-name:readJsonFile","kind":"symbol","language":"jsts","symbolName":"readJsonFile","metadata":{"unresolvedName":"readJsonFile"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"normalizePackageEntry","symbolKind":"function","exported":false,"metadata":{"line":122,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:entry.trim",{"id":"external:entry.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.trim"}}],["external:entry.source.trim",{"id":"external:entry.source.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.source.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"parseNpmPackageName","symbolKind":"function","exported":false,"metadata":{"line":148,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:source.startsWith",{"id":"external:source.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.startsWith"}}],["external:source.slice('npm:'.length).trim",{"id":"external:source.slice('npm:'.length).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.slice('npm:'.length).trim"}}],["external:source.slice",{"id":"external:source.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.slice"}}],["external:spec.match",{"id":"external:spec.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"spec.match"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"isProbablyLocalSource","symbolKind":"function","exported":false,"metadata":{"line":155,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path.isAbsolute",{"id":"external:path.isAbsolute","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.isAbsolute"}}],["external:/^[a-zA-Z]:[\\\\/]/.test",{"id":"external:/^[a-zA-Z]:[\\\\/]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^[a-zA-Z]:[\\\\/]/.test"}}],["external:source.includes",{"id":"external:source.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"resolveLocalSource","symbolKind":"function","exported":false,"metadata":{"line":165,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getAgentDir",{"id":"symbol-name:getAgentDir","kind":"symbol","language":"jsts","symbolName":"getAgentDir","metadata":{"unresolvedName":"getAgentDir"}}],["external:path.resolve",{"id":"external:path.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.resolve"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"parseGitInstallPathParts","symbolKind":"function","exported":false,"metadata":{"line":172,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:source.replace",{"id":"external:source.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.replace"}}],["external:normalized.match",{"id":"external:normalized.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.match"}}],["external:githubShorthand[1].replace",{"id":"external:githubShorthand[1].replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"githubShorthand[1].replace"}}],["external:sshMatch[2].replace",{"id":"external:sshMatch[2].replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"sshMatch[2].replace"}}],["external:url.pathname.replace(/^\\//, '').replace",{"id":"external:url.pathname.replace(/^\\//, '').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.pathname.replace(/^\\//, '').replace"}}],["external:url.pathname.replace",{"id":"external:url.pathname.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.pathname.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"resolveInstalledPath","symbolKind":"function","exported":false,"metadata":{"line":189,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseNpmPackageName",{"id":"symbol-name:parseNpmPackageName","kind":"symbol","language":"jsts","symbolName":"parseNpmPackageName","metadata":{"unresolvedName":"parseNpmPackageName"}}],["external:packageName.split",{"id":"external:packageName.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"packageName.split"}}],["symbol-name:isProbablyLocalSource",{"id":"symbol-name:isProbablyLocalSource","kind":"symbol","language":"jsts","symbolName":"isProbablyLocalSource","metadata":{"unresolvedName":"isProbablyLocalSource"}}],["symbol-name:resolveLocalSource",{"id":"symbol-name:resolveLocalSource","kind":"symbol","language":"jsts","symbolName":"resolveLocalSource","metadata":{"unresolvedName":"resolveLocalSource"}}],["symbol-name:parseGitInstallPathParts",{"id":"symbol-name:parseGitInstallPathParts","kind":"symbol","language":"jsts","symbolName":"parseGitInstallPathParts","metadata":{"unresolvedName":"parseGitInstallPathParts"}}],["external:gitParts.repoPath.split",{"id":"external:gitParts.repoPath.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitParts.repoPath.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"collectFiles","symbolKind":"function","exported":false,"metadata":{"line":219,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fs.statSync",{"id":"external:fs.statSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.statSync"}}],["external:stat.isFile",{"id":"external:stat.isFile","kind":"external","language":"jsts","metadata":{"unresolvedName":"stat.isFile"}}],["external:RESOURCE_FILE_PATTERNS[resourceType].test",{"id":"external:RESOURCE_FILE_PATTERNS[resourceType].test","kind":"external","language":"jsts","metadata":{"unresolvedName":"RESOURCE_FILE_PATTERNS[resourceType].test"}}],["external:stat.isDirectory",{"id":"external:stat.isDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"stat.isDirectory"}}],["external:fs.readdirSync",{"id":"external:fs.readdirSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.readdirSync"}}],["external:entry.isDirectory",{"id":"external:entry.isDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.isDirectory"}}],["external:files.push",{"id":"external:files.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"files.push"}}],["symbol-name:collectFiles",{"id":"symbol-name:collectFiles","kind":"symbol","language":"jsts","symbolName":"collectFiles","metadata":{"unresolvedName":"collectFiles"}}],["external:entry.isFile",{"id":"external:entry.isFile","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.isFile"}}],["external:files.sort",{"id":"external:files.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"files.sort"}}],["external:a.localeCompare",{"id":"external:a.localeCompare","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.localeCompare"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"stripOverridePatterns","symbolKind":"function","exported":false,"metadata":{"line":237,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:entries.filter",{"id":"external:entries.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.filter"}}],["external:entry.trim().startsWith",{"id":"external:entry.trim().startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.trim().startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"resolveManifestEntry","symbolKind":"function","exported":false,"metadata":{"line":241,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:normalized.startsWith",{"id":"external:normalized.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.startsWith"}}],["external:normalized.includes",{"id":"external:normalized.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"discoverResourcePaths","symbolKind":"function","exported":false,"metadata":{"line":254,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:stripOverridePatterns(manifestEntries).flatMap",{"id":"external:stripOverridePatterns(manifestEntries).flatMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"stripOverridePatterns(manifestEntries).flatMap"}}],["symbol-name:stripOverridePatterns",{"id":"symbol-name:stripOverridePatterns","kind":"symbol","language":"jsts","symbolName":"stripOverridePatterns","metadata":{"unresolvedName":"stripOverridePatterns"}}],["symbol-name:resolveManifestEntry",{"id":"symbol-name:resolveManifestEntry","kind":"symbol","language":"jsts","symbolName":"resolveManifestEntry","metadata":{"unresolvedName":"resolveManifestEntry"}}],["external:Array.from(new Set(files)).sort",{"id":"external:Array.from(new Set(files)).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(new Set(files)).sort"}}],["external:Array.from",{"id":"external:Array.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"toRelativePosix","symbolKind":"function","exported":false,"metadata":{"line":270,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path.relative(packageRoot, filePath).replace",{"id":"external:path.relative(packageRoot, filePath).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.relative(packageRoot, filePath).replace"}}],["external:path.relative",{"id":"external:path.relative","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.relative"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"wildcardToRegExp","symbolKind":"function","exported":false,"metadata":{"line":274,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pattern.replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&').replace",{"id":"external:pattern.replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&').replace"}}],["external:pattern.replace",{"id":"external:pattern.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"matchesFilter","symbolKind":"function","exported":false,"metadata":{"line":279,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:toRelativePosix",{"id":"symbol-name:toRelativePosix","kind":"symbol","language":"jsts","symbolName":"toRelativePosix","metadata":{"unresolvedName":"toRelativePosix"}}],["external:patterns.map(pattern => pattern.trim()).filter",{"id":"external:patterns.map(pattern => pattern.trim()).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"patterns.map(pattern => pattern.trim()).filter"}}],["external:patterns.map",{"id":"external:patterns.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"patterns.map"}}],["external:pattern.trim",{"id":"external:pattern.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.trim"}}],["external:normalizedPatterns.some",{"id":"external:normalizedPatterns.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedPatterns.some"}}],["external:pattern.startsWith",{"id":"external:pattern.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.startsWith"}}],["external:pattern.slice",{"id":"external:pattern.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.slice"}}],["external:positivePattern.replace",{"id":"external:positivePattern.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"positivePattern.replace"}}],["external:relativePath.endsWith",{"id":"external:relativePath.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"relativePath.endsWith"}}],["external:wildcardToRegExp(normalizedPattern).test",{"id":"external:wildcardToRegExp(normalizedPattern).test","kind":"external","language":"jsts","metadata":{"unresolvedName":"wildcardToRegExp(normalizedPattern).test"}}],["symbol-name:wildcardToRegExp",{"id":"symbol-name:wildcardToRegExp","kind":"symbol","language":"jsts","symbolName":"wildcardToRegExp","metadata":{"unresolvedName":"wildcardToRegExp"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":486,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"resourceName","symbolKind":"function","exported":false,"metadata":{"line":296,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path.basename(filePath).toLowerCase",{"id":"external:path.basename(filePath).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.basename(filePath).toLowerCase"}}],["external:path.basename",{"id":"external:path.basename","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.basename"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"buildResources","symbolKind":"function","exported":false,"metadata":{"line":301,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:discoverResourcePaths",{"id":"symbol-name:discoverResourcePaths","kind":"symbol","language":"jsts","symbolName":"discoverResourcePaths","metadata":{"unresolvedName":"discoverResourcePaths"}}],["external:files.map",{"id":"external:files.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"files.map"}}],["symbol-name:resourceName",{"id":"symbol-name:resourceName","kind":"symbol","language":"jsts","symbolName":"resourceName","metadata":{"unresolvedName":"resourceName"}}],["symbol-name:matchesFilter",{"id":"symbol-name:matchesFilter","kind":"symbol","language":"jsts","symbolName":"matchesFilter","metadata":{"unresolvedName":"matchesFilter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"hasEnabledResource","symbolKind":"function","exported":false,"metadata":{"line":321,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:RESOURCE_TYPES.some",{"id":"external:RESOURCE_TYPES.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"RESOURCE_TYPES.some"}}],["external:resources[resourceType].some",{"id":"external:resources[resourceType].some","kind":"external","language":"jsts","metadata":{"unresolvedName":"resources[resourceType].some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"countByStatus","symbolKind":"function","exported":false,"metadata":{"line":325,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:packages.reduce",{"id":"external:packages.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"packages.reduce"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"readPackageMetadata","symbolKind":"function","exported":false,"metadata":{"line":336,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:String",{"id":"symbol-name:String","kind":"symbol","language":"jsts","symbolName":"String","metadata":{"unresolvedName":"String"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"buildExtensionCatalog","symbolKind":"function","exported":true,"metadata":{"line":347,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:readSettings",{"id":"symbol-name:readSettings","kind":"symbol","language":"jsts","symbolName":"readSettings","metadata":{"unresolvedName":"readSettings"}}],["external:(userSettings.packages ?? []).map",{"id":"external:(userSettings.packages ?? []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(userSettings.packages ?? []).map"}}],["symbol-name:normalizePackageEntry",{"id":"symbol-name:normalizePackageEntry","kind":"symbol","language":"jsts","symbolName":"normalizePackageEntry","metadata":{"unresolvedName":"normalizePackageEntry"}}],["external:(projectSettings.packages ?? []).map",{"id":"external:(projectSettings.packages ?? []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(projectSettings.packages ?? []).map"}}],["external:configuredPackages.map",{"id":"external:configuredPackages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"configuredPackages.map"}}],["symbol-name:resolveInstalledPath",{"id":"symbol-name:resolveInstalledPath","kind":"symbol","language":"jsts","symbolName":"resolveInstalledPath","metadata":{"unresolvedName":"resolveInstalledPath"}}],["symbol-name:readPackageMetadata",{"id":"symbol-name:readPackageMetadata","kind":"symbol","language":"jsts","symbolName":"readPackageMetadata","metadata":{"unresolvedName":"readPackageMetadata"}}],["symbol-name:buildResources",{"id":"symbol-name:buildResources","kind":"symbol","language":"jsts","symbolName":"buildResources","metadata":{"unresolvedName":"buildResources"}}],["symbol-name:hasEnabledResource",{"id":"symbol-name:hasEnabledResource","kind":"symbol","language":"jsts","symbolName":"hasEnabledResource","metadata":{"unresolvedName":"hasEnabledResource"}}],["external:packages.sort",{"id":"external:packages.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"packages.sort"}}],["external:(a.packageName || a.source).localeCompare",{"id":"external:(a.packageName || a.source).localeCompare","kind":"external","language":"jsts","metadata":{"unresolvedName":"(a.packageName || a.source).localeCompare"}}],["symbol-name:countByStatus",{"id":"symbol-name:countByStatus","kind":"symbol","language":"jsts","symbolName":"countByStatus","metadata":{"unresolvedName":"countByStatus"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"tokenizeCommand","symbolKind":"function","exported":false,"metadata":{"line":397,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:/\\s/.test",{"id":"external:/\\s/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/\\s/.test"}}],["external:tokens.push",{"id":"external:tokens.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokens.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"parsePiInstallCommand","symbolKind":"function","exported":true,"metadata":{"line":434,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:tokenizeCommand",{"id":"symbol-name:tokenizeCommand","kind":"symbol","language":"jsts","symbolName":"tokenizeCommand","metadata":{"unresolvedName":"tokenizeCommand"}}],["external:command.trim",{"id":"external:command.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"command.trim"}}],["external:path\n .basename(tokens[0])\n .replace",{"id":"external:path\n .basename(tokens[0])\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename(tokens[0])\n .replace"}}],["external:path\n .basename",{"id":"external:path\n .basename","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename"}}],["external:tokens.slice",{"id":"external:tokens.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokens.slice"}}],["external:token.startsWith",{"id":"external:token.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"token.startsWith"}}],["external:/[;&|<>`]/.test",{"id":"external:/[;&|<>`]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[;&|<>`]/.test"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"getPiExecutable","symbolKind":"function","exported":false,"metadata":{"line":466,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"defaultPiCommandRunner","symbolKind":"function","exported":true,"metadata":{"line":470,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:spawn",{"id":"symbol-name:spawn","kind":"symbol","language":"jsts","symbolName":"spawn","metadata":{"unresolvedName":"spawn"}}],["symbol-name:getPiExecutable",{"id":"symbol-name:getPiExecutable","kind":"symbol","language":"jsts","symbolName":"getPiExecutable","metadata":{"unresolvedName":"getPiExecutable"}}],["external:child.stdout?.on",{"id":"external:child.stdout?.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stdout?.on"}}],["external:child.stderr?.on",{"id":"external:child.stderr?.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stderr?.on"}}],["external:child.on",{"id":"external:child.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.on"}}],["symbol-name:resolve",{"id":"symbol-name:resolve","kind":"symbol","language":"jsts","symbolName":"resolve","metadata":{"unresolvedName":"resolve"}}],["symbol-name:reject",{"id":"symbol-name:reject","kind":"symbol","language":"jsts","symbolName":"reject","metadata":{"unresolvedName":"reject"}}],["external:stderr.trim",{"id":"external:stderr.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"stderr.trim"}}],["external:args.join",{"id":"external:args.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"args.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"executeExtensionInstallCommand","symbolKind":"function","exported":true,"metadata":{"line":496,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:runner",{"id":"symbol-name:runner","kind":"symbol","language":"jsts","symbolName":"runner","metadata":{"unresolvedName":"runner"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","symbolName":"executeExtensionPackageRemoval","symbolKind":"function","exported":true,"metadata":{"line":507,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","metadata":{"lineCount":104,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["module:./piagentui-git-manager.js",{"id":"module:./piagentui-git-manager.js","kind":"module","language":"jsts","metadata":{"source":"./piagentui-git-manager.js"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","symbolName":"createRunner","symbolKind":"function","exported":false,"metadata":{"line":17,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":96,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createRunner",{"id":"symbol-name:createRunner","kind":"symbol","language":"jsts","symbolName":"createRunner","metadata":{"unresolvedName":"createRunner"}}],["symbol-name:listGitBranches",{"id":"symbol-name:listGitBranches","kind":"symbol","language":"jsts","symbolName":"listGitBranches","metadata":{"unresolvedName":"listGitBranches"}}],["external:expect(result.current).toBe",{"id":"external:expect(result.current).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current).toBe"}}],["external:expect(result.branches).toEqual",{"id":"external:expect(result.branches).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.branches).toEqual"}}],["symbol-name:getGitStatus",{"id":"symbol-name:getGitStatus","kind":"symbol","language":"jsts","symbolName":"getGitStatus","metadata":{"unresolvedName":"getGitStatus"}}],["external:expect(status.branch).toBe",{"id":"external:expect(status.branch).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.branch).toBe"}}],["external:expect(status.upstream).toBe",{"id":"external:expect(status.upstream).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.upstream).toBe"}}],["external:expect(status.ahead).toBe",{"id":"external:expect(status.ahead).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.ahead).toBe"}}],["external:expect(status.behind).toBe",{"id":"external:expect(status.behind).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.behind).toBe"}}],["external:expect(status.dirty).toBe",{"id":"external:expect(status.dirty).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.dirty).toBe"}}],["external:expect(status.files).toEqual",{"id":"external:expect(status.files).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.files).toEqual"}}],["symbol-name:checkoutGitBranch",{"id":"symbol-name:checkoutGitBranch","kind":"symbol","language":"jsts","symbolName":"checkoutGitBranch","metadata":{"unresolvedName":"checkoutGitBranch"}}],["symbol-name:createGitBranch",{"id":"symbol-name:createGitBranch","kind":"symbol","language":"jsts","symbolName":"createGitBranch","metadata":{"unresolvedName":"createGitBranch"}}],["symbol-name:stageGitPaths",{"id":"symbol-name:stageGitPaths","kind":"symbol","language":"jsts","symbolName":"stageGitPaths","metadata":{"unresolvedName":"stageGitPaths"}}],["symbol-name:unstageGitPaths",{"id":"symbol-name:unstageGitPaths","kind":"symbol","language":"jsts","symbolName":"unstageGitPaths","metadata":{"unresolvedName":"unstageGitPaths"}}],["external:expect(runner).toHaveBeenCalledWith",{"id":"external:expect(runner).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(runner).toHaveBeenCalledWith"}}],["external:expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow",{"id":"external:expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow"}}],["symbol-name:commitGitChanges",{"id":"symbol-name:commitGitChanges","kind":"symbol","language":"jsts","symbolName":"commitGitChanges","metadata":{"unresolvedName":"commitGitChanges"}}],["external:expect(runner).not.toHaveBeenCalled",{"id":"external:expect(runner).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(runner).not.toHaveBeenCalled"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","metadata":{"lineCount":260,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"runGit","symbolKind":"function","exported":true,"metadata":{"line":63,"column":41,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:child.stdout.setEncoding",{"id":"external:child.stdout.setEncoding","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stdout.setEncoding"}}],["external:child.stderr.setEncoding",{"id":"external:child.stderr.setEncoding","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stderr.setEncoding"}}],["external:child.stdout.on",{"id":"external:child.stdout.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stdout.on"}}],["external:child.stderr.on",{"id":"external:child.stderr.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"child.stderr.on"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":121,"column":10,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"assertSafeRefName","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:value.trim",{"id":"external:value.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.trim"}}],["external:name.startsWith",{"id":"external:name.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.startsWith"}}],["external:/[\\0~^:?*[\\]\\\\]/.test",{"id":"external:/[\\0~^:?*[\\]\\\\]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[\\0~^:?*[\\]\\\\]/.test"}}],["external:name.includes",{"id":"external:name.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"assertSafePath","symbolKind":"function","exported":false,"metadata":{"line":98,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:filePath.includes",{"id":"external:filePath.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"normalizeRemoteName","symbolKind":"function","exported":false,"metadata":{"line":105,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:name.replace",{"id":"external:name.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"listGitBranches","symbolKind":"function","exported":true,"metadata":{"line":109,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:stdout\n .split(/\\r?\\n/)\n .map(line => line.trim())\n .filter",{"id":"external:stdout\n .split(/\\r?\\n/)\n .map(line => line.trim())\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"stdout\n .split(/\\r?\\n/)\n .map(line => line.trim())\n .filter"}}],["external:stdout\n .split(/\\r?\\n/)\n .map",{"id":"external:stdout\n .split(/\\r?\\n/)\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"stdout\n .split(/\\r?\\n/)\n .map"}}],["external:stdout\n .split",{"id":"external:stdout\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"stdout\n .split"}}],["external:line.trim",{"id":"external:line.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.trim"}}],["external:line.split",{"id":"external:line.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.split"}}],["symbol-name:normalizeRemoteName",{"id":"symbol-name:normalizeRemoteName","kind":"symbol","language":"jsts","symbolName":"normalizeRemoteName","metadata":{"unresolvedName":"normalizeRemoteName"}}],["external:rawName.startsWith",{"id":"external:rawName.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawName.startsWith"}}],["external:branches.find",{"id":"external:branches.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"branches.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"parseStatusPath","symbolKind":"function","exported":false,"metadata":{"line":137,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:line.includes",{"id":"external:line.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.includes"}}],["external:line.split('\\t').pop",{"id":"external:line.split('\\t').pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.split('\\t').pop"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"getGitStatus","symbolKind":"function","exported":true,"metadata":{"line":143,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:stdout.split",{"id":"external:stdout.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"stdout.split"}}],["external:line.startsWith",{"id":"external:line.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.startsWith"}}],["external:line.slice('# branch.head '.length).trim",{"id":"external:line.slice('# branch.head '.length).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.slice('# branch.head '.length).trim"}}],["external:line.slice",{"id":"external:line.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.slice"}}],["external:line.slice('# branch.upstream '.length).trim",{"id":"external:line.slice('# branch.upstream '.length).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.slice('# branch.upstream '.length).trim"}}],["external:line.match",{"id":"external:line.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.match"}}],["symbol-name:Number",{"id":"symbol-name:Number","kind":"symbol","language":"jsts","symbolName":"Number","metadata":{"unresolvedName":"Number"}}],["symbol-name:parseStatusPath",{"id":"symbol-name:parseStatusPath","kind":"symbol","language":"jsts","symbolName":"parseStatusPath","metadata":{"unresolvedName":"parseStatusPath"}}],["external:status.files.push",{"id":"external:status.files.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"status.files.push"}}],["external:line.slice(2).trim",{"id":"external:line.slice(2).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.slice(2).trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"checkoutGitBranch","symbolKind":"function","exported":true,"metadata":{"line":195,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:assertSafeRefName",{"id":"symbol-name:assertSafeRefName","kind":"symbol","language":"jsts","symbolName":"assertSafeRefName","metadata":{"unresolvedName":"assertSafeRefName"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"createGitBranch","symbolKind":"function","exported":true,"metadata":{"line":205,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"normalizePaths","symbolKind":"function","exported":false,"metadata":{"line":215,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Array.isArray",{"id":"external:Array.isArray","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.isArray"}}],["external:request.paths.map",{"id":"external:request.paths.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.paths.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"stageGitPaths","symbolKind":"function","exported":true,"metadata":{"line":220,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:normalizePaths",{"id":"symbol-name:normalizePaths","kind":"symbol","language":"jsts","symbolName":"normalizePaths","metadata":{"unresolvedName":"normalizePaths"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"unstageGitPaths","symbolKind":"function","exported":true,"metadata":{"line":230,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"commitGitChanges","symbolKind":"function","exported":true,"metadata":{"line":240,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:request.message.trim",{"id":"external:request.message.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.message.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pullGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pullGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"pullGitBranch","symbolKind":"function","exported":true,"metadata":{"line":251,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pushGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pushGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","symbolName":"pushGitBranch","symbolKind":"function","exported":true,"metadata":{"line":256,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","metadata":{"lineCount":172,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["module:./piagentui-server-core.js",{"id":"module:./piagentui-server-core.js","kind":"module","language":"jsts","metadata":{"source":"./piagentui-server-core.js"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":167,"column":55,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:describe",{"id":"symbol-name:describe","kind":"symbol","language":"jsts","symbolName":"describe","metadata":{"unresolvedName":"describe"}}],["external:expect(isLoopbackHost('localhost')).toBe",{"id":"external:expect(isLoopbackHost('localhost')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost')).toBe"}}],["symbol-name:isLoopbackHost",{"id":"symbol-name:isLoopbackHost","kind":"symbol","language":"jsts","symbolName":"isLoopbackHost","metadata":{"unresolvedName":"isLoopbackHost"}}],["external:expect(isLoopbackHost('127.0.0.1')).toBe",{"id":"external:expect(isLoopbackHost('127.0.0.1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1')).toBe"}}],["external:expect(isLoopbackHost('[::1]')).toBe",{"id":"external:expect(isLoopbackHost('[::1]')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('[::1]')).toBe"}}],["external:expect(isLoopbackHost('localhost:3000')).toBe",{"id":"external:expect(isLoopbackHost('localhost:3000')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost:3000')).toBe"}}],["external:expect(isLoopbackHost('127.0.0.1:8080')).toBe",{"id":"external:expect(isLoopbackHost('127.0.0.1:8080')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1:8080')).toBe"}}],["external:expect(isLoopbackHost('192.168.1.1')).toBe",{"id":"external:expect(isLoopbackHost('192.168.1.1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('192.168.1.1')).toBe"}}],["external:expect(isLoopbackHost('example.com')).toBe",{"id":"external:expect(isLoopbackHost('example.com')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('example.com')).toBe"}}],["external:expect(isLoopbackHost('0.0.0.0')).toBe",{"id":"external:expect(isLoopbackHost('0.0.0.0')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('0.0.0.0')).toBe"}}],["external:expect(isLoopbackHost('10.0.0.1')).toBe",{"id":"external:expect(isLoopbackHost('10.0.0.1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isLoopbackHost('10.0.0.1')).toBe"}}],["external:expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe",{"id":"external:expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe"}}],["symbol-name:validateBearerToken",{"id":"symbol-name:validateBearerToken","kind":"symbol","language":"jsts","symbolName":"validateBearerToken","metadata":{"unresolvedName":"validateBearerToken"}}],["external:expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe",{"id":"external:expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe"}}],["external:expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe",{"id":"external:expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe"}}],["external:expect(validateBearerToken(sampleToken, sampleToken)).toBe",{"id":"external:expect(validateBearerToken(sampleToken, sampleToken)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateBearerToken(sampleToken, sampleToken)).toBe"}}],["external:expect(validateBearerToken('', sampleToken)).toBe",{"id":"external:expect(validateBearerToken('', sampleToken)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateBearerToken('', sampleToken)).toBe"}}],["external:expect(preventPathTraversal(baseDir, 'index.html')).toBe",{"id":"external:expect(preventPathTraversal(baseDir, 'index.html')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'index.html')).toBe"}}],["symbol-name:preventPathTraversal",{"id":"symbol-name:preventPathTraversal","kind":"symbol","language":"jsts","symbolName":"preventPathTraversal","metadata":{"unresolvedName":"preventPathTraversal"}}],["external:expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe",{"id":"external:expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe"}}],["external:expect(preventPathTraversal(baseDir, '../index.html')).toBe",{"id":"external:expect(preventPathTraversal(baseDir, '../index.html')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../index.html')).toBe"}}],["external:expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe",{"id":"external:expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe"}}],["external:expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe",{"id":"external:expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe"}}],["external:expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe",{"id":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe"}}],["symbol-name:validateHostAndOrigin",{"id":"symbol-name:validateHostAndOrigin","kind":"symbol","language":"jsts","symbolName":"validateHostAndOrigin","metadata":{"unresolvedName":"validateHostAndOrigin"}}],["external:expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe",{"id":"external:expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe"}}],["external:expect(validateHostAndOrigin('localhost:5000', '')).toBe",{"id":"external:expect(validateHostAndOrigin('localhost:5000', '')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost:5000', '')).toBe"}}],["external:expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe",{"id":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe"}}],["external:expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe",{"id":"external:expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe"}}],["symbol-name:validateHostAndOriginForAccess",{"id":"symbol-name:validateHostAndOriginForAccess","kind":"symbol","language":"jsts","symbolName":"validateHostAndOriginForAccess","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}}],["symbol-name:getLocalNetworkUrls",{"id":"symbol-name:getLocalNetworkUrls","kind":"symbol","language":"jsts","symbolName":"getLocalNetworkUrls","metadata":{"unresolvedName":"getLocalNetworkUrls"}}],["external:expect(urls).toEqual",{"id":"external:expect(urls).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(urls).toEqual"}}],["external:expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe",{"id":"external:expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe"}}],["symbol-name:validateSttBaseUrl",{"id":"symbol-name:validateSttBaseUrl","kind":"symbol","language":"jsts","symbolName":"validateSttBaseUrl","metadata":{"unresolvedName":"validateSttBaseUrl"}}],["external:expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe",{"id":"external:expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe"}}],["external:expect(validateSttBaseUrl('file:///tmp/key')).toBe",{"id":"external:expect(validateSttBaseUrl('file:///tmp/key')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateSttBaseUrl('file:///tmp/key')).toBe"}}],["external:expect(validateSttBaseUrl('not a url')).toBe",{"id":"external:expect(validateSttBaseUrl('not a url')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(validateSttBaseUrl('not a url')).toBe"}}],["external:expect(isRequestBodySizeAllowed('100')).toBe",{"id":"external:expect(isRequestBodySizeAllowed('100')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('100')).toBe"}}],["symbol-name:isRequestBodySizeAllowed",{"id":"symbol-name:isRequestBodySizeAllowed","kind":"symbol","language":"jsts","symbolName":"isRequestBodySizeAllowed","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}}],["external:expect(isRequestBodySizeAllowed('1048576')).toBe",{"id":"external:expect(isRequestBodySizeAllowed('1048576')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('1048576')).toBe"}}],["external:expect(isRequestBodySizeAllowed('20000000')).toBe",{"id":"external:expect(isRequestBodySizeAllowed('20000000')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('20000000')).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","metadata":{"lineCount":173,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"isLoopbackHost","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:host.startsWith",{"id":"external:host.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.startsWith"}}],["external:host.indexOf",{"id":"external:host.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.indexOf"}}],["external:host.slice",{"id":"external:host.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.slice"}}],["external:host.lastIndexOf",{"id":"external:host.lastIndexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.lastIndexOf"}}],["external:host.match",{"id":"external:host.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.match"}}],["external:host.includes",{"id":"external:host.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"host.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"validateBearerToken","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:authHeader.startsWith",{"id":"external:authHeader.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"authHeader.startsWith"}}],["external:authHeader.substring(7).trim",{"id":"external:authHeader.substring(7).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"authHeader.substring(7).trim"}}],["external:authHeader.substring",{"id":"external:authHeader.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"authHeader.substring"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"preventPathTraversal","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:resolvedTarget.startsWith",{"id":"external:resolvedTarget.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"resolvedTarget.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"validateHostAndOrigin","symbolKind":"function","exported":true,"metadata":{"line":58,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"getHostname","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"isAllowedLanHost","symbolKind":"function","exported":false,"metadata":{"line":77,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getHostname",{"id":"symbol-name:getHostname","kind":"symbol","language":"jsts","symbolName":"getHostname","metadata":{"unresolvedName":"getHostname"}}],["external:/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test",{"id":"external:/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"isLikelyVirtualInterface","symbolKind":"function","exported":false,"metadata":{"line":85,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:name.toLowerCase",{"id":"external:name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.toLowerCase"}}],["external:normalizedName.includes",{"id":"external:normalizedName.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedName.includes"}}],["external:entry.mac.toLowerCase().startsWith",{"id":"external:entry.mac.toLowerCase().startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.mac.toLowerCase().startsWith"}}],["external:entry.mac.toLowerCase",{"id":"external:entry.mac.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.mac.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"validateHostAndOriginForAccess","symbolKind":"function","exported":true,"metadata":{"line":105,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isAllowedLanHost",{"id":"symbol-name:isAllowedLanHost","kind":"symbol","language":"jsts","symbolName":"isAllowedLanHost","metadata":{"unresolvedName":"isAllowedLanHost"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"getLocalNetworkUrls","symbolKind":"function","exported":true,"metadata":{"line":126,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Object.entries",{"id":"external:Object.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries"}}],["symbol-name:isLikelyVirtualInterface",{"id":"symbol-name:isLikelyVirtualInterface","kind":"symbol","language":"jsts","symbolName":"isLikelyVirtualInterface","metadata":{"unresolvedName":"isLikelyVirtualInterface"}}],["external:fallbackUrls.add",{"id":"external:fallbackUrls.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"fallbackUrls.add"}}],["external:physicalUrls.add",{"id":"external:physicalUrls.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"physicalUrls.add"}}],["external:Array.from(urls).sort",{"id":"external:Array.from(urls).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(urls).sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"validateSttBaseUrl","symbolKind":"function","exported":true,"metadata":{"line":151,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","symbolName":"isRequestBodySizeAllowed","symbolKind":"function","exported":true,"metadata":{"line":164,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseInt",{"id":"symbol-name:parseInt","kind":"symbol","language":"jsts","symbolName":"parseInt","metadata":{"unresolvedName":"parseInt"}}],["symbol-name:isNaN",{"id":"symbol-name:isNaN","kind":"symbol","language":"jsts","symbolName":"isNaN","metadata":{"unresolvedName":"isNaN"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","metadata":{"lineCount":1044,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:node:http",{"id":"external:node:http","kind":"external","language":"jsts","metadata":{"source":"node:http"}}],["module:./piagentui-server.js",{"id":"module:./piagentui-server.js","kind":"module","language":"jsts","metadata":{"source":"./piagentui-server.js"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":861,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:afterAll",{"id":"symbol-name:afterAll","kind":"symbol","language":"jsts","symbolName":"afterAll","metadata":{"unresolvedName":"afterAll"}}],["symbol-name:serverInit",{"id":"symbol-name:serverInit","kind":"symbol","language":"jsts","symbolName":"serverInit","metadata":{"unresolvedName":"serverInit"}}],["external:expect(listeners['session_start']).toBeDefined",{"id":"external:expect(listeners['session_start']).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(listeners['session_start']).toBeDefined"}}],["external:expect(listeners['session_shutdown']).toBeDefined",{"id":"external:expect(listeners['session_shutdown']).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(listeners['session_shutdown']).toBeDefined"}}],["symbol-name:spawnSync",{"id":"symbol-name:spawnSync","kind":"symbol","language":"jsts","symbolName":"spawnSync","metadata":{"unresolvedName":"spawnSync"}}],["external:new Date().toISOString",{"id":"external:new Date().toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().toISOString"}}],["symbol-name:listeners['session_shutdown']",{"id":"symbol-name:listeners['session_shutdown']","kind":"symbol","language":"jsts","symbolName":"listeners['session_shutdown']","metadata":{"unresolvedName":"listeners['session_shutdown']"}}],["external:path\n .basename(sessionPath)\n .replace",{"id":"external:path\n .basename(sessionPath)\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename(sessionPath)\n .replace"}}],["external:path\n .basename",{"id":"external:path\n .basename","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename"}}],["external:options?.withSession",{"id":"external:options?.withSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"options?.withSession"}}],["symbol-name:listeners['session_start']",{"id":"symbol-name:listeners['session_start']","kind":"symbol","language":"jsts","symbolName":"listeners['session_start']","metadata":{"unresolvedName":"listeners['session_start']"}}],["symbol-name:setTimeout",{"id":"symbol-name:setTimeout","kind":"symbol","language":"jsts","symbolName":"setTimeout","metadata":{"unresolvedName":"setTimeout"}}],["external:expect(mockContext.ui.setWidget).toHaveBeenCalledWith",{"id":"external:expect(mockContext.ui.setWidget).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockContext.ui.setWidget).toHaveBeenCalledWith"}}],["external:expect.arrayContaining",{"id":"external:expect.arrayContaining","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.arrayContaining"}}],["external:expect.stringContaining",{"id":"external:expect.stringContaining","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.stringContaining"}}],["external:expect(fs.existsSync(discoveryPath)).toBe",{"id":"external:expect(fs.existsSync(discoveryPath)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fs.existsSync(discoveryPath)).toBe"}}],["external:expect(port).toBeGreaterThan",{"id":"external:expect(port).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(port).toBeGreaterThan"}}],["external:expect(token).toBeDefined",{"id":"external:expect(token).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(token).toBeDefined"}}],["symbol-name:fetch",{"id":"symbol-name:fetch","kind":"symbol","language":"jsts","symbolName":"fetch","metadata":{"unresolvedName":"fetch"}}],["external:expect(healthRes.status).toBe",{"id":"external:expect(healthRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(healthRes.status).toBe"}}],["external:healthRes.json",{"id":"external:healthRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"healthRes.json"}}],["external:expect(healthData).toEqual",{"id":"external:expect(healthData).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(healthData).toEqual"}}],["external:expect(unauthRes.status).toBe",{"id":"external:expect(unauthRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(unauthRes.status).toBe"}}],["external:expect(modelsRes.status).toBe",{"id":"external:expect(modelsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelsRes.status).toBe"}}],["external:modelsRes.json",{"id":"external:modelsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelsRes.json"}}],["external:expect(modelsData.models).toBeDefined",{"id":"external:expect(modelsData.models).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelsData.models).toBeDefined"}}],["external:expect(modelsData.models[0].id).toBe",{"id":"external:expect(modelsData.models[0].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelsData.models[0].id).toBe"}}],["external:expect(modelsData.models[0].contextLimit).toBe",{"id":"external:expect(modelsData.models[0].contextLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelsData.models[0].contextLimit).toBe"}}],["external:expect(modelsData.models[0].outputLimit).toBe",{"id":"external:expect(modelsData.models[0].outputLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelsData.models[0].outputLimit).toBe"}}],["external:modelsData.models.find",{"id":"external:modelsData.models.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelsData.models.find"}}],["external:expect(legacyModel.contextLimit).toBe",{"id":"external:expect(legacyModel.contextLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(legacyModel.contextLimit).toBe"}}],["external:expect(legacyModel.outputLimit).toBe",{"id":"external:expect(legacyModel.outputLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(legacyModel.outputLimit).toBe"}}],["external:expect(networkRes.status).toBe",{"id":"external:expect(networkRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkRes.status).toBe"}}],["external:networkRes.json",{"id":"external:networkRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"networkRes.json"}}],["external:expect(networkData).toMatchObject",{"id":"external:expect(networkData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkData).toMatchObject"}}],["external:expect(Array.isArray(networkData.lanUrls)).toBe",{"id":"external:expect(Array.isArray(networkData.lanUrls)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(Array.isArray(networkData.lanUrls)).toBe"}}],["external:expect(networkEnableRes.status).toBe",{"id":"external:expect(networkEnableRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkEnableRes.status).toBe"}}],["external:networkEnableRes.json",{"id":"external:networkEnableRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"networkEnableRes.json"}}],["external:expect(networkEnableData.lanAccessEnabled).toBe",{"id":"external:expect(networkEnableData.lanAccessEnabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkEnableData.lanAccessEnabled).toBe"}}],["external:expect(networkEnableData.browserLanUrl).toBe",{"id":"external:expect(networkEnableData.browserLanUrl).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).toBe"}}],["external:expect(networkEnableData.browserLanUrl).not.toContain",{"id":"external:expect(networkEnableData.browserLanUrl).not.toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).not.toContain"}}],["external:nodeHttp.request",{"id":"external:nodeHttp.request","kind":"external","language":"jsts","metadata":{"unresolvedName":"nodeHttp.request"}}],["external:response.setEncoding",{"id":"external:response.setEncoding","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.setEncoding"}}],["external:response.on",{"id":"external:response.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.on"}}],["external:req.on",{"id":"external:req.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"req.on"}}],["external:req.end",{"id":"external:req.end","kind":"external","language":"jsts","metadata":{"unresolvedName":"req.end"}}],["external:expect(lanModelsRes.status).toBe",{"id":"external:expect(lanModelsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lanModelsRes.status).toBe"}}],["external:expect(lanPageRes.status).toBe",{"id":"external:expect(lanPageRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lanPageRes.status).toBe"}}],["external:expect(lanPageRes.body).toContain",{"id":"external:expect(lanPageRes.body).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lanPageRes.body).toContain"}}],["external:expect(sttSettingsRes.status).toBe",{"id":"external:expect(sttSettingsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sttSettingsRes.status).toBe"}}],["external:sttSettingsRes.json",{"id":"external:sttSettingsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"sttSettingsRes.json"}}],["external:expect(initialSttSettings.apiKeyConfigured).toBe",{"id":"external:expect(initialSttSettings.apiKeyConfigured).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(initialSttSettings.apiKeyConfigured).toBe"}}],["external:expect(initialSttSettings.apiKey).toBeUndefined",{"id":"external:expect(initialSttSettings.apiKey).toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(initialSttSettings.apiKey).toBeUndefined"}}],["external:expect(saveSttRes.status).toBe",{"id":"external:expect(saveSttRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(saveSttRes.status).toBe"}}],["external:saveSttRes.json",{"id":"external:saveSttRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"saveSttRes.json"}}],["external:expect(savedSttSettings.apiKeyConfigured).toBe",{"id":"external:expect(savedSttSettings.apiKeyConfigured).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(savedSttSettings.apiKeyConfigured).toBe"}}],["external:expect(savedSttSettings.apiKey).toBeUndefined",{"id":"external:expect(savedSttSettings.apiKey).toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(savedSttSettings.apiKey).toBeUndefined"}}],["external:expect(init?.method).toBe",{"id":"external:expect(init?.method).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(init?.method).toBe"}}],["external:expect((init?.headers as Record).Authorization).toBe",{"id":"external:expect((init?.headers as Record).Authorization).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((init?.headers as Record).Authorization).toBe"}}],["external:expect(body.get('model')).toBe",{"id":"external:expect(body.get('model')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(body.get('model')).toBe"}}],["external:body.get",{"id":"external:body.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"body.get"}}],["external:expect(body.get('language')).toBe",{"id":"external:expect(body.get('language')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(body.get('language')).toBe"}}],["external:expect(body.get('file')).toBeInstanceOf",{"id":"external:expect(body.get('file')).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(body.get('file')).toBeInstanceOf"}}],["external:originalFetch.call",{"id":"external:originalFetch.call","kind":"external","language":"jsts","metadata":{"unresolvedName":"originalFetch.call"}}],["external:Buffer.byteLength",{"id":"external:Buffer.byteLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"Buffer.byteLength"}}],["external:expect(transcriptionRes.status).toBe",{"id":"external:expect(transcriptionRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(transcriptionRes.status).toBe"}}],["external:transcriptionRes.json",{"id":"external:transcriptionRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"transcriptionRes.json"}}],["external:expect(transcriptionData).toMatchObject",{"id":"external:expect(transcriptionData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(transcriptionData).toMatchObject"}}],["external:expect(providerFetch).toHaveBeenCalledWith",{"id":"external:expect(providerFetch).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(providerFetch).toHaveBeenCalledWith"}}],["external:expect(keylessSttRes.status).toBe",{"id":"external:expect(keylessSttRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keylessSttRes.status).toBe"}}],["external:keylessSttRes.json",{"id":"external:keylessSttRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"keylessSttRes.json"}}],["external:expect(keylessSttSettings.apiKeyConfigured).toBe",{"id":"external:expect(keylessSttSettings.apiKeyConfigured).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyConfigured).toBe"}}],["external:expect(keylessSttSettings.apiKeyRequired).toBe",{"id":"external:expect(keylessSttSettings.apiKeyRequired).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyRequired).toBe"}}],["external:expect(init?.headers).toEqual",{"id":"external:expect(init?.headers).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(init?.headers).toEqual"}}],["external:expect(keylessTranscriptionRes.status).toBe",{"id":"external:expect(keylessTranscriptionRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keylessTranscriptionRes.status).toBe"}}],["external:expect(await keylessTranscriptionRes.json()).toMatchObject",{"id":"external:expect(await keylessTranscriptionRes.json()).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await keylessTranscriptionRes.json()).toMatchObject"}}],["external:keylessTranscriptionRes.json",{"id":"external:keylessTranscriptionRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"keylessTranscriptionRes.json"}}],["external:expect(saveTtsRes.status).toBe",{"id":"external:expect(saveTtsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(saveTtsRes.status).toBe"}}],["external:saveTtsRes.json",{"id":"external:saveTtsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"saveTtsRes.json"}}],["external:expect(savedTtsSettings).toMatchObject",{"id":"external:expect(savedTtsSettings).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(savedTtsSettings).toMatchObject"}}],["external:expect(invalidSttRes.status).toBe",{"id":"external:expect(invalidSttRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(invalidSttRes.status).toBe"}}],["external:expect(commandsRes.status).toBe",{"id":"external:expect(commandsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commandsRes.status).toBe"}}],["external:commandsRes.json",{"id":"external:commandsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandsRes.json"}}],["external:expect(commandsData.commands).toEqual",{"id":"external:expect(commandsData.commands).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commandsData.commands).toEqual"}}],["external:expect(commandsData.groups).toMatchObject",{"id":"external:expect(commandsData.groups).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commandsData.groups).toMatchObject"}}],["external:expect(skillsRes.status).toBe",{"id":"external:expect(skillsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(skillsRes.status).toBe"}}],["external:skillsRes.json",{"id":"external:skillsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"skillsRes.json"}}],["external:skillsData.skills.map",{"id":"external:skillsData.skills.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"skillsData.skills.map"}}],["external:expect(skillsData.skills[0].content).toContain",{"id":"external:expect(skillsData.skills[0].content).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(skillsData.skills[0].content).toContain"}}],["external:expect(skillsData.groups).toMatchObject",{"id":"external:expect(skillsData.groups).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(skillsData.groups).toMatchObject"}}],["external:expect(mcpRes.status).toBe",{"id":"external:expect(mcpRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mcpRes.status).toBe"}}],["external:mcpRes.json",{"id":"external:mcpRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"mcpRes.json"}}],["external:expect(mcpData.configPaths).toEqual",{"id":"external:expect(mcpData.configPaths).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mcpData.configPaths).toEqual"}}],["external:expect(mcpData.servers.context7).toMatchObject",{"id":"external:expect(mcpData.servers.context7).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mcpData.servers.context7).toMatchObject"}}],["external:expect(mcpData.servers.localTool).toMatchObject",{"id":"external:expect(mcpData.servers.localTool).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mcpData.servers.localTool).toMatchObject"}}],["external:expect(extensionsRes.status).toBe",{"id":"external:expect(extensionsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extensionsRes.status).toBe"}}],["external:extensionsRes.json",{"id":"external:extensionsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"extensionsRes.json"}}],["external:expect(extensionsData.summary).toMatchObject",{"id":"external:expect(extensionsData.summary).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extensionsData.summary).toMatchObject"}}],["external:expect(extensionsData.packages).toEqual",{"id":"external:expect(extensionsData.packages).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extensionsData.packages).toEqual"}}],["symbol-name:encodeURIComponent",{"id":"symbol-name:encodeURIComponent","kind":"symbol","language":"jsts","symbolName":"encodeURIComponent","metadata":{"unresolvedName":"encodeURIComponent"}}],["external:expect(vcsStatusRes.status).toBe",{"id":"external:expect(vcsStatusRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsStatusRes.status).toBe"}}],["external:vcsStatusRes.json",{"id":"external:vcsStatusRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"vcsStatusRes.json"}}],["external:expect(vcsStatusData).toMatchObject",{"id":"external:expect(vcsStatusData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsStatusData).toMatchObject"}}],["external:expect(vcsStatusData.files).toEqual",{"id":"external:expect(vcsStatusData.files).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsStatusData.files).toEqual"}}],["external:expect(vcsBranchesRes.status).toBe",{"id":"external:expect(vcsBranchesRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsBranchesRes.status).toBe"}}],["external:vcsBranchesRes.json",{"id":"external:vcsBranchesRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"vcsBranchesRes.json"}}],["external:expect(vcsBranchesData).toMatchObject",{"id":"external:expect(vcsBranchesData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsBranchesData).toMatchObject"}}],["external:expect(vcsBranchesData.branches).toEqual",{"id":"external:expect(vcsBranchesData.branches).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vcsBranchesData.branches).toEqual"}}],["external:expect(stageRes.status).toBe",{"id":"external:expect(stageRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stageRes.status).toBe"}}],["external:expect(commitRes.status).toBe",{"id":"external:expect(commitRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commitRes.status).toBe"}}],["external:expect(await commitRes.json()).toMatchObject",{"id":"external:expect(await commitRes.json()).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await commitRes.json()).toMatchObject"}}],["external:commitRes.json",{"id":"external:commitRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"commitRes.json"}}],["external:expect(contextRes.status).toBe",{"id":"external:expect(contextRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(contextRes.status).toBe"}}],["external:contextRes.json",{"id":"external:contextRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"contextRes.json"}}],["external:expect(contextData).toMatchObject",{"id":"external:expect(contextData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(contextData).toMatchObject"}}],["external:expect(inactiveContextRes.status).toBe",{"id":"external:expect(inactiveContextRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(inactiveContextRes.status).toBe"}}],["external:inactiveContextRes.json",{"id":"external:inactiveContextRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"inactiveContextRes.json"}}],["external:expect(inactiveContextData).toMatchObject",{"id":"external:expect(inactiveContextData).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(inactiveContextData).toMatchObject"}}],["external:expect(getSessionsRes.status).toBe",{"id":"external:expect(getSessionsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsRes.status).toBe"}}],["external:getSessionsRes.json",{"id":"external:getSessionsRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsRes.json"}}],["external:expect(getSessionsData.sessions).toBeDefined",{"id":"external:expect(getSessionsData.sessions).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsData.sessions).toBeDefined"}}],["external:expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual",{"id":"external:expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual"}}],["external:getSessionsData.sessions.map",{"id":"external:getSessionsData.sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsData.sessions.map"}}],["external:expect(sessionsById.get(otherSessionId)?.title).toBe",{"id":"external:expect(sessionsById.get(otherSessionId)?.title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionsById.get(otherSessionId)?.title).toBe"}}],["external:sessionsById.get",{"id":"external:sessionsById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionsById.get"}}],["external:expect(sessionsById.get(namedSessionId)?.title).toBe",{"id":"external:expect(sessionsById.get(namedSessionId)?.title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionsById.get(namedSessionId)?.title).toBe"}}],["external:expect(sessionsById.get(noopSessionId)?.title).toBe",{"id":"external:expect(sessionsById.get(noopSessionId)?.title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionsById.get(noopSessionId)?.title).toBe"}}],["external:expect(createSessionRes.status).toBe",{"id":"external:expect(createSessionRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createSessionRes.status).toBe"}}],["external:createSessionRes.json",{"id":"external:createSessionRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"createSessionRes.json"}}],["external:expect(createSessionData.id).not.toBe",{"id":"external:expect(createSessionData.id).not.toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createSessionData.id).not.toBe"}}],["external:expect(createSessionData.title).toBe",{"id":"external:expect(createSessionData.title).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createSessionData.title).toBe"}}],["external:expect(createSessionData.directory).toBe",{"id":"external:expect(createSessionData.directory).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createSessionData.directory).toBe"}}],["external:fs\n .readdirSync(tempSessionDir)\n .filter",{"id":"external:fs\n .readdirSync(tempSessionDir)\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs\n .readdirSync(tempSessionDir)\n .filter"}}],["external:fs\n .readdirSync",{"id":"external:fs\n .readdirSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs\n .readdirSync"}}],["external:file.endsWith",{"id":"external:file.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.endsWith"}}],["external:expect(createdSessionFiles).toHaveLength",{"id":"external:expect(createdSessionFiles).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createdSessionFiles).toHaveLength"}}],["external:expect(createdSessionContent).toContain",{"id":"external:expect(createdSessionContent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createdSessionContent).toContain"}}],["external:projectDir.replace",{"id":"external:projectDir.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectDir.replace"}}],["external:expect(switchSession).toHaveBeenCalledWith",{"id":"external:expect(switchSession).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(switchSession).toHaveBeenCalledWith"}}],["external:expect.any",{"id":"external:expect.any","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.any"}}],["external:switchSession.mockClear",{"id":"external:switchSession.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"switchSession.mockClear"}}],["external:expect(abortRes.status).toBe",{"id":"external:expect(abortRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(abortRes.status).toBe"}}],["external:abortRes.json",{"id":"external:abortRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"abortRes.json"}}],["external:expect(abortData).toEqual",{"id":"external:expect(abortData).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(abortData).toEqual"}}],["external:expect(mockContext.abort).toHaveBeenCalled",{"id":"external:expect(mockContext.abort).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockContext.abort).toHaveBeenCalled"}}],["external:expect(sendRes.status).toBe",{"id":"external:expect(sendRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendRes.status).toBe"}}],["external:expect(mockPi.sendUserMessage).toHaveBeenCalledWith",{"id":"external:expect(mockPi.sendUserMessage).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockPi.sendUserMessage).toHaveBeenCalledWith"}}],["external:expect(switchSession).not.toHaveBeenCalled",{"id":"external:expect(switchSession).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(switchSession).not.toHaveBeenCalled"}}],["external:expect(sendOtherRes.status).toBe",{"id":"external:expect(sendOtherRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendOtherRes.status).toBe"}}],["external:expect(replacedSetModel).toHaveBeenCalledWith",{"id":"external:expect(replacedSetModel).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(replacedSetModel).toHaveBeenCalledWith"}}],["external:expect(replacedSendUserMessage).toHaveBeenCalledWith",{"id":"external:expect(replacedSendUserMessage).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(replacedSendUserMessage).toHaveBeenCalledWith"}}],["external:expect(missingSessionRes.status).toBe",{"id":"external:expect(missingSessionRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(missingSessionRes.status).toBe"}}],["external:expect(replacedSendUserMessage).not.toHaveBeenCalledWith",{"id":"external:expect(replacedSendUserMessage).not.toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(replacedSendUserMessage).not.toHaveBeenCalledWith"}}],["external:switchSession.mockImplementationOnce",{"id":"external:switchSession.mockImplementationOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"switchSession.mockImplementationOnce"}}],["external:expect(sessionPath).toBe",{"id":"external:expect(sessionPath).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionPath).toBe"}}],["external:expect(noopSwitchRes.status).toBe",{"id":"external:expect(noopSwitchRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(noopSwitchRes.status).toBe"}}],["external:expect(cancelledSwitchRes.status).toBe",{"id":"external:expect(cancelledSwitchRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(cancelledSwitchRes.status).toBe"}}],["external:fs.appendFileSync",{"id":"external:fs.appendFileSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.appendFileSync"}}],["external:Date.now",{"id":"external:Date.now","kind":"external","language":"jsts","metadata":{"unresolvedName":"Date.now"}}],["external:expect(messagesRes.status).toBe",{"id":"external:expect(messagesRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(messagesRes.status).toBe"}}],["external:messagesRes.json",{"id":"external:messagesRes.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"messagesRes.json"}}],["external:expect(messagesData.messages).toBeDefined",{"id":"external:expect(messagesData.messages).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(messagesData.messages).toBeDefined"}}],["external:expect(messagesData.messages.length).toBe",{"id":"external:expect(messagesData.messages.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(messagesData.messages.length).toBe"}}],["external:messagesData.messages.every",{"id":"external:messagesData.messages.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"messagesData.messages.every"}}],["external:assistantMsg.parts.filter((p: any) => p.type === 'tool').map",{"id":"external:assistantMsg.parts.filter((p: any) => p.type === 'tool').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"assistantMsg.parts.filter((p: any) => p.type === 'tool').map"}}],["external:assistantMsg.parts.filter",{"id":"external:assistantMsg.parts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"assistantMsg.parts.filter"}}],["external:toolsById.get",{"id":"external:toolsById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolsById.get"}}],["external:expect(toolPart).toBeDefined",{"id":"external:expect(toolPart).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toolPart).toBeDefined"}}],["external:expect(toolPart.id).toBe",{"id":"external:expect(toolPart.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toolPart.id).toBe"}}],["external:expect(toolPart.callID).toBe",{"id":"external:expect(toolPart.callID).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toolPart.callID).toBe"}}],["external:expect(toolPart.state.status).toBe",{"id":"external:expect(toolPart.state.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toolPart.state.status).toBe"}}],["external:expect(toolPart.state.output).toBe",{"id":"external:expect(toolPart.state.output).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toolPart.state.output).toBe"}}],["external:expect(chainedToolPart.state.status).toBe",{"id":"external:expect(chainedToolPart.state.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(chainedToolPart.state.status).toBe"}}],["external:expect(chainedToolPart.state.output).toBe",{"id":"external:expect(chainedToolPart.state.output).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(chainedToolPart.state.output).toBe"}}],["external:expect(failedChainedToolPart.state.status).toBe",{"id":"external:expect(failedChainedToolPart.state.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.status).toBe"}}],["external:expect(failedChainedToolPart.state.output).toBe",{"id":"external:expect(failedChainedToolPart.state.output).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.output).toBe"}}],["external:expect(failedChainedToolPart.state.error).toBe",{"id":"external:expect(failedChainedToolPart.state.error).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.error).toBe"}}],["external:expect(eventsRes.status).toBe",{"id":"external:expect(eventsRes.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(eventsRes.status).toBe"}}],["external:eventsRes.body?.getReader",{"id":"external:eventsRes.body?.getReader","kind":"external","language":"jsts","metadata":{"unresolvedName":"eventsRes.body?.getReader"}}],["external:expect(reader).toBeDefined",{"id":"external:expect(reader).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(reader).toBeDefined"}}],["external:reader?.read",{"id":"external:reader?.read","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader?.read"}}],["external:new TextDecoder().decode",{"id":"external:new TextDecoder().decode","kind":"external","language":"jsts","metadata":{"unresolvedName":"new TextDecoder().decode"}}],["external:expect(text1).toContain",{"id":"external:expect(text1).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(text1).toContain"}}],["external:expect(text2).toContain",{"id":"external:expect(text2).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(text2).toContain"}}],["symbol-name:listeners['agent_start']",{"id":"symbol-name:listeners['agent_start']","kind":"symbol","language":"jsts","symbolName":"listeners['agent_start']","metadata":{"unresolvedName":"listeners['agent_start']"}}],["external:expect(text3).toContain",{"id":"external:expect(text3).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(text3).toContain"}}],["external:reader?.cancel",{"id":"external:reader?.cancel","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader?.cancel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:on",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:on","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","symbolName":"on","symbolKind":"function","exported":false,"metadata":{"line":38,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","metadata":{"lineCount":2346,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@mariozechner/pi-coding-agent",{"id":"external:@mariozechner/pi-coding-agent","kind":"external","language":"jsts","metadata":{"source":"@mariozechner/pi-coding-agent"}}],["external:ws",{"id":"external:ws","kind":"external","language":"jsts","metadata":{"source":"ws"}}],["external:node:crypto",{"id":"external:node:crypto","kind":"external","language":"jsts","metadata":{"source":"node:crypto"}}],["module:./piagentui-settings-store.js",{"id":"module:./piagentui-settings-store.js","kind":"module","language":"jsts","metadata":{"source":"./piagentui-settings-store.js"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getMessageId","symbolKind":"function","exported":false,"metadata":{"line":65,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.random().toString(36).substring",{"id":"external:Math.random().toString(36).substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random().toString(36).substring"}}],["external:Math.random().toString",{"id":"external:Math.random().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random().toString"}}],["external:Math.random",{"id":"external:Math.random","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random"}}],["external:messageIds.get",{"id":"external:messageIds.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageIds.get"}}],["external:messageIds.set",{"id":"external:messageIds.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageIds.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isVisibleChatRole",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isVisibleChatRole","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"isVisibleChatRole","symbolKind":"function","exported":false,"metadata":{"line":86,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getMessageText","symbolKind":"function","exported":false,"metadata":{"line":90,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:message.content\n .filter((c: any) => c && c.type === 'text')\n .map",{"id":"external:message.content\n .filter((c: any) => c && c.type === 'text')\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.content\n .filter((c: any) => c && c.type === 'text')\n .map"}}],["external:message.content\n .filter",{"id":"external:message.content\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.content\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeCommandApiSource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeCommandApiSource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"normalizeCommandApiSource","symbolKind":"function","exported":false,"metadata":{"line":208,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:categoryForCommandSource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:categoryForCommandSource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"categoryForCommandSource","symbolKind":"function","exported":false,"metadata":{"line":214,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getAvailableCommands","symbolKind":"function","exported":false,"metadata":{"line":219,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pi.getCommands",{"id":"external:pi.getCommands","kind":"external","language":"jsts","metadata":{"unresolvedName":"pi.getCommands"}}],["external:commands.set",{"id":"external:commands.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"commands.set"}}],["external:commands.has",{"id":"external:commands.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"commands.has"}}],["symbol-name:normalizeCommandApiSource",{"id":"symbol-name:normalizeCommandApiSource","kind":"symbol","language":"jsts","symbolName":"normalizeCommandApiSource","metadata":{"unresolvedName":"normalizeCommandApiSource"}}],["symbol-name:categoryForCommandSource",{"id":"symbol-name:categoryForCommandSource","kind":"symbol","language":"jsts","symbolName":"categoryForCommandSource","metadata":{"unresolvedName":"categoryForCommandSource"}}],["external:[...commands.values()].sort",{"id":"external:[...commands.values()].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...commands.values()].sort"}}],["external:commands.values",{"id":"external:commands.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"commands.values"}}],["external:a.name.localeCompare",{"id":"external:a.name.localeCompare","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.name.localeCompare"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"countCommandsBySource","symbolKind":"function","exported":false,"metadata":{"line":242,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:commands.reduce",{"id":"external:commands.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"commands.reduce"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":2328,"column":31,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"decodeXml","symbolKind":"function","exported":false,"metadata":{"line":252,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:text\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace",{"id":"external:text\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace"}}],["external:text\n .replace(/'/g, \"'\")\n .replace",{"id":"external:text\n .replace(/'/g, \"'\")\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .replace(/'/g, \"'\")\n .replace"}}],["external:text\n .replace",{"id":"external:text\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text\n .replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"normalizeComparablePath","symbolKind":"function","exported":false,"metadata":{"line":261,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path\n .resolve(value || '')\n .replace(/\\\\/g, '/')\n .toLowerCase",{"id":"external:path\n .resolve(value || '')\n .replace(/\\\\/g, '/')\n .toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .resolve(value || '')\n .replace(/\\\\/g, '/')\n .toLowerCase"}}],["external:path\n .resolve(value || '')\n .replace",{"id":"external:path\n .resolve(value || '')\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .resolve(value || '')\n .replace"}}],["external:path\n .resolve",{"id":"external:path\n .resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .resolve"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"classifySkillSource","symbolKind":"function","exported":false,"metadata":{"line":268,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:normalizeComparablePath",{"id":"symbol-name:normalizeComparablePath","kind":"symbol","language":"jsts","symbolName":"normalizeComparablePath","metadata":{"unresolvedName":"normalizeComparablePath"}}],["external:normalizedLocation.includes",{"id":"external:normalizedLocation.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedLocation.includes"}}],["external:normalizedLocation.startsWith",{"id":"external:normalizedLocation.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedLocation.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"parseSkillsFromSystemPrompt","symbolKind":"function","exported":false,"metadata":{"line":280,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:prompt.matchAll",{"id":"external:prompt.matchAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"prompt.matchAll"}}],["symbol-name:decodeXml",{"id":"symbol-name:decodeXml","kind":"symbol","language":"jsts","symbolName":"decodeXml","metadata":{"unresolvedName":"decodeXml"}}],["external:match[3]?.trim",{"id":"external:match[3]?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"match[3]?.trim"}}],["external:skills.push",{"id":"external:skills.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"skills.push"}}],["external:match[1]?.trim",{"id":"external:match[1]?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"match[1]?.trim"}}],["external:match[2]?.trim",{"id":"external:match[2]?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"match[2]?.trim"}}],["symbol-name:classifySkillSource",{"id":"symbol-name:classifySkillSource","kind":"symbol","language":"jsts","symbolName":"classifySkillSource","metadata":{"unresolvedName":"classifySkillSource"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"countSkillsBySource","symbolKind":"function","exported":false,"metadata":{"line":308,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:skills.reduce",{"id":"external:skills.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"skills.reduce"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getHomeDir",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getHomeDir","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getHomeDir","symbolKind":"function","exported":false,"metadata":{"line":318,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"readJsonFile","symbolKind":"function","exported":false,"metadata":{"line":322,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getMcpConfigCandidates","symbolKind":"function","exported":false,"metadata":{"line":331,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:Boolean",{"id":"symbol-name:Boolean","kind":"symbol","language":"jsts","symbolName":"Boolean","metadata":{"unresolvedName":"Boolean"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpTransport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpTransport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"normalizeMcpTransport","symbolKind":"function","exported":false,"metadata":{"line":340,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"normalizeMcpServer","symbolKind":"function","exported":false,"metadata":{"line":347,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:config.args.map",{"id":"external:config.args.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.args.map"}}],["symbol-name:normalizeMcpTransport",{"id":"symbol-name:normalizeMcpTransport","kind":"symbol","language":"jsts","symbolName":"normalizeMcpTransport","metadata":{"unresolvedName":"normalizeMcpTransport"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"loadMcpStatus","symbolKind":"function","exported":false,"metadata":{"line":367,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getMcpConfigCandidates",{"id":"symbol-name:getMcpConfigCandidates","kind":"symbol","language":"jsts","symbolName":"getMcpConfigCandidates","metadata":{"unresolvedName":"getMcpConfigCandidates"}}],["external:configPaths.push",{"id":"external:configPaths.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"configPaths.push"}}],["symbol-name:normalizeMcpServer",{"id":"symbol-name:normalizeMcpServer","kind":"symbol","language":"jsts","symbolName":"normalizeMcpServer","metadata":{"unresolvedName":"normalizeMcpServer"}}],["external:Promise.resolve",{"id":"external:Promise.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.resolve"}}],["external:sendQueue.catch(() => undefined).then",{"id":"external:sendQueue.catch(() => undefined).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"sendQueue.catch(() => undefined).then"}}],["external:sendQueue.catch",{"id":"external:sendQueue.catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"sendQueue.catch"}}],["external:run.then",{"id":"external:run.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"run.then"}}],["external:latestCtx?.sessionManager?.getSessionId",{"id":"external:latestCtx?.sessionManager?.getSessionId","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionId"}}],["external:latestCtx?.sessionManager?.getSessionDir",{"id":"external:latestCtx?.sessionManager?.getSessionDir","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionDir"}}],["external:fs.readdirSync(sessionDir).filter",{"id":"external:fs.readdirSync(sessionDir).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.readdirSync(sessionDir).filter"}}],["external:f.endsWith",{"id":"external:f.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"f.endsWith"}}],["external:files.find",{"id":"external:files.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"files.find"}}],["external:sessionId.slice",{"id":"external:sessionId.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionId.slice"}}],["symbol-name:randomUUID",{"id":"symbol-name:randomUUID","kind":"symbol","language":"jsts","symbolName":"randomUUID","metadata":{"unresolvedName":"randomUUID"}}],["external:randomUUID().slice",{"id":"external:randomUUID().slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"randomUUID().slice"}}],["symbol-name:createSessionId",{"id":"symbol-name:createSessionId","kind":"symbol","language":"jsts","symbolName":"createSessionId","metadata":{"unresolvedName":"createSessionId"}}],["external:timestamp.replace",{"id":"external:timestamp.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"timestamp.replace"}}],["external:process.cwd",{"id":"external:process.cwd","kind":"external","language":"jsts","metadata":{"unresolvedName":"process.cwd"}}],["symbol-name:normalizeSessionTitle",{"id":"symbol-name:normalizeSessionTitle","kind":"symbol","language":"jsts","symbolName":"normalizeSessionTitle","metadata":{"unresolvedName":"normalizeSessionTitle"}}],["external:entries.push",{"id":"external:entries.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.push"}}],["symbol-name:createSessionEntryId",{"id":"symbol-name:createSessionEntryId","kind":"symbol","language":"jsts","symbolName":"createSessionEntryId","metadata":{"unresolvedName":"createSessionEntryId"}}],["external:entries.join",{"id":"external:entries.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.join"}}],["symbol-name:createRealSessionFile",{"id":"symbol-name:createRealSessionFile","kind":"symbol","language":"jsts","symbolName":"createRealSessionFile","metadata":{"unresolvedName":"createRealSessionFile"}}],["external:latestCtx.switchSession",{"id":"external:latestCtx.switchSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx.switchSession"}}],["symbol-name:readSessionMetadata",{"id":"symbol-name:readSessionMetadata","kind":"symbol","language":"jsts","symbolName":"readSessionMetadata","metadata":{"unresolvedName":"readSessionMetadata"}}],["symbol-name:getSessionInfo",{"id":"symbol-name:getSessionInfo","kind":"symbol","language":"jsts","symbolName":"getSessionInfo","metadata":{"unresolvedName":"getSessionInfo"}}],["external:path\n .basename(sessionFile)\n .replace",{"id":"external:path\n .basename(sessionFile)\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename(sessionFile)\n .replace"}}],["external:path\n .basename",{"id":"external:path\n .basename","kind":"external","language":"jsts","metadata":{"unresolvedName":"path\n .basename"}}],["external:title\n .split('')\n .map",{"id":"external:title\n .split('')\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"title\n .split('')\n .map"}}],["external:title\n .split",{"id":"external:title\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"title\n .split"}}],["external:char.charCodeAt",{"id":"external:char.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"char.charCodeAt"}}],["external:content.trim().split('\\n').filter",{"id":"external:content.trim().split('\\n').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.trim().split('\\n').filter"}}],["external:content.trim().split",{"id":"external:content.trim().split","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.trim().split"}}],["external:content.trim",{"id":"external:content.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.trim"}}],["external:lines.slice",{"id":"external:lines.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"lines.slice"}}],["symbol-name:getMessageText",{"id":"symbol-name:getMessageText","kind":"symbol","language":"jsts","symbolName":"getMessageText","metadata":{"unresolvedName":"getMessageText"}}],["external:new Date(header.timestamp).getTime",{"id":"external:new Date(header.timestamp).getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(header.timestamp).getTime"}}],["symbol-name:getFallbackSessionTitle",{"id":"symbol-name:getFallbackSessionTitle","kind":"symbol","language":"jsts","symbolName":"getFallbackSessionTitle","metadata":{"unresolvedName":"getFallbackSessionTitle"}}],["external:Number.isNaN",{"id":"external:Number.isNaN","kind":"external","language":"jsts","metadata":{"unresolvedName":"Number.isNaN"}}],["external:ctx.modelRegistry?.find",{"id":"external:ctx.modelRegistry?.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.modelRegistry?.find"}}],["external:console.log",{"id":"external:console.log","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.log"}}],["external:ctx.setModel",{"id":"external:ctx.setModel","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.setModel"}}],["external:pi.setModel",{"id":"external:pi.setModel","kind":"external","language":"jsts","metadata":{"unresolvedName":"pi.setModel"}}],["external:console.error",{"id":"external:console.error","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.error"}}],["symbol-name:getCurrentSessionId",{"id":"symbol-name:getCurrentSessionId","kind":"symbol","language":"jsts","symbolName":"getCurrentSessionId","metadata":{"unresolvedName":"getCurrentSessionId"}}],["symbol-name:setRequestedModel",{"id":"symbol-name:setRequestedModel","kind":"symbol","language":"jsts","symbolName":"setRequestedModel","metadata":{"unresolvedName":"setRequestedModel"}}],["external:pi.sendUserMessage",{"id":"external:pi.sendUserMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"pi.sendUserMessage"}}],["external:p.catch",{"id":"external:p.catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"p.catch"}}],["symbol-name:getSessionFileForId",{"id":"symbol-name:getSessionFileForId","kind":"symbol","language":"jsts","symbolName":"getSessionFileForId","metadata":{"unresolvedName":"getSessionFileForId"}}],["external:replacedCtx.sendUserMessage",{"id":"external:replacedCtx.sendUserMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"replacedCtx.sendUserMessage"}}],["external:latestCtx.isIdle",{"id":"external:latestCtx.isIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx.isIdle"}}],["symbol-name:broadcastSSE",{"id":"symbol-name:broadcastSSE","kind":"symbol","language":"jsts","symbolName":"broadcastSSE","metadata":{"unresolvedName":"broadcastSSE"}}],["external:res.write",{"id":"external:res.write","kind":"external","language":"jsts","metadata":{"unresolvedName":"res.write"}}],["external:Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join",{"id":"external:Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join"}}],["symbol-name:createPiAgentUiSettingsStore",{"id":"symbol-name:createPiAgentUiSettingsStore","kind":"symbol","language":"jsts","symbolName":"createPiAgentUiSettingsStore","metadata":{"unresolvedName":"createPiAgentUiSettingsStore"}}],["symbol-name:resolvePiAgentUiSettingsPaths",{"id":"symbol-name:resolvePiAgentUiSettingsPaths","kind":"symbol","language":"jsts","symbolName":"resolvePiAgentUiSettingsPaths","metadata":{"unresolvedName":"resolvePiAgentUiSettingsPaths"}}],["external:settingsStore.getSettings",{"id":"external:settingsStore.getSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"settingsStore.getSettings"}}],["external:settingsStore.saveSettings",{"id":"external:settingsStore.saveSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"settingsStore.saveSettings"}}],["symbol-name:getLocalSettings",{"id":"symbol-name:getLocalSettings","kind":"symbol","language":"jsts","symbolName":"getLocalSettings","metadata":{"unresolvedName":"getLocalSettings"}}],["symbol-name:buildBrowserUrl",{"id":"symbol-name:buildBrowserUrl","kind":"symbol","language":"jsts","symbolName":"buildBrowserUrl","metadata":{"unresolvedName":"buildBrowserUrl"}}],["symbol-name:getEffectiveSttSettings",{"id":"symbol-name:getEffectiveSttSettings","kind":"symbol","language":"jsts","symbolName":"getEffectiveSttSettings","metadata":{"unresolvedName":"getEffectiveSttSettings"}}],["external:body.trim",{"id":"external:body.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"body.trim"}}],["external:update.baseUrl.replace",{"id":"external:update.baseUrl.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.baseUrl.replace"}}],["external:update.transcriptionEndpoint.startsWith",{"id":"external:update.transcriptionEndpoint.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.transcriptionEndpoint.startsWith"}}],["external:update.transcriptionModel.trim",{"id":"external:update.transcriptionModel.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.transcriptionModel.trim"}}],["external:update.language.trim",{"id":"external:update.language.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.language.trim"}}],["external:Object.prototype.hasOwnProperty.call",{"id":"external:Object.prototype.hasOwnProperty.call","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.prototype.hasOwnProperty.call"}}],["external:update.apiKey.trim",{"id":"external:update.apiKey.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.apiKey.trim"}}],["symbol-name:saveLocalSettings",{"id":"symbol-name:saveLocalSettings","kind":"symbol","language":"jsts","symbolName":"saveLocalSettings","metadata":{"unresolvedName":"saveLocalSettings"}}],["symbol-name:sanitizeSttSettings",{"id":"symbol-name:sanitizeSttSettings","kind":"symbol","language":"jsts","symbolName":"sanitizeSttSettings","metadata":{"unresolvedName":"sanitizeSttSettings"}}],["symbol-name:getEffectiveTtsSettings",{"id":"symbol-name:getEffectiveTtsSettings","kind":"symbol","language":"jsts","symbolName":"getEffectiveTtsSettings","metadata":{"unresolvedName":"getEffectiveTtsSettings"}}],["symbol-name:isTtsResponseFormat",{"id":"symbol-name:isTtsResponseFormat","kind":"symbol","language":"jsts","symbolName":"isTtsResponseFormat","metadata":{"unresolvedName":"isTtsResponseFormat"}}],["external:update.speechEndpoint.startsWith",{"id":"external:update.speechEndpoint.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.speechEndpoint.startsWith"}}],["external:update.model.trim",{"id":"external:update.model.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.model.trim"}}],["external:update.voice.trim",{"id":"external:update.voice.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"update.voice.trim"}}],["symbol-name:sanitizeTtsSettings",{"id":"symbol-name:sanitizeTtsSettings","kind":"symbol","language":"jsts","symbolName":"sanitizeTtsSettings","metadata":{"unresolvedName":"sanitizeTtsSettings"}}],["external:chunks.push",{"id":"external:chunks.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"chunks.push"}}],["external:Buffer.isBuffer",{"id":"external:Buffer.isBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"Buffer.isBuffer"}}],["external:Buffer.from",{"id":"external:Buffer.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"Buffer.from"}}],["external:Buffer.concat",{"id":"external:Buffer.concat","kind":"external","language":"jsts","metadata":{"unresolvedName":"Buffer.concat"}}],["external:contentType?.match",{"id":"external:contentType?.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"contentType?.match"}}],["external:body.toString",{"id":"external:body.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"body.toString"}}],["external:rawBody.split",{"id":"external:rawBody.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawBody.split"}}],["external:rawPart.replace",{"id":"external:rawPart.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawPart.replace"}}],["external:part.indexOf",{"id":"external:part.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.indexOf"}}],["external:part.slice",{"id":"external:part.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.slice"}}],["external:part\n .slice(headerEnd + 4)\n .replace",{"id":"external:part\n .slice(headerEnd + 4)\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"part\n .slice(headerEnd + 4)\n .replace"}}],["external:part\n .slice",{"id":"external:part\n .slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"part\n .slice"}}],["external:rawHeaders.match",{"id":"external:rawHeaders.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawHeaders.match"}}],["external:disposition.match",{"id":"external:disposition.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"disposition.match"}}],["external:rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim",{"id":"external:rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim"}}],["external:form.set",{"id":"external:form.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"form.set"}}],["symbol-name:readRequestBuffer",{"id":"symbol-name:readRequestBuffer","kind":"symbol","language":"jsts","symbolName":"readRequestBuffer","metadata":{"unresolvedName":"readRequestBuffer"}}],["symbol-name:readMultipartFormData",{"id":"symbol-name:readMultipartFormData","kind":"symbol","language":"jsts","symbolName":"readMultipartFormData","metadata":{"unresolvedName":"readMultipartFormData"}}],["external:inputForm.get",{"id":"external:inputForm.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputForm.get"}}],["external:providerForm.set",{"id":"external:providerForm.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"providerForm.set"}}],["external:(settings.baseUrl || 'https://api.openai.com/v1').replace",{"id":"external:(settings.baseUrl || 'https://api.openai.com/v1').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(settings.baseUrl || 'https://api.openai.com/v1').replace"}}],["external:providerRes.text",{"id":"external:providerRes.text","kind":"external","language":"jsts","metadata":{"unresolvedName":"providerRes.text"}}],["symbol-name:readJsonBody",{"id":"symbol-name:readJsonBody","kind":"symbol","language":"jsts","symbolName":"readJsonBody","metadata":{"unresolvedName":"readJsonBody"}}],["external:requestBody.input.trim",{"id":"external:requestBody.input.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"requestBody.input.trim"}}],["external:providerRes.arrayBuffer",{"id":"external:providerRes.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"providerRes.arrayBuffer"}}],["external:providerRes.headers.get",{"id":"external:providerRes.headers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"providerRes.headers.get"}}],["external:res.writeHead",{"id":"external:res.writeHead","kind":"external","language":"jsts","metadata":{"unresolvedName":"res.writeHead"}}],["external:res.end",{"id":"external:res.end","kind":"external","language":"jsts","metadata":{"unresolvedName":"res.end"}}],["external:fs.statSync(filePath).isDirectory",{"id":"external:fs.statSync(filePath).isDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.statSync(filePath).isDirectory"}}],["external:path.extname(targetFile).toLowerCase",{"id":"external:path.extname(targetFile).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.extname(targetFile).toLowerCase"}}],["external:path.extname",{"id":"external:path.extname","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.extname"}}],["symbol-name:serveIndexHtml",{"id":"symbol-name:serveIndexHtml","kind":"symbol","language":"jsts","symbolName":"serveIndexHtml","metadata":{"unresolvedName":"serveIndexHtml"}}],["external:path.extname(filePath).toLowerCase",{"id":"external:path.extname(filePath).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.extname(filePath).toLowerCase"}}],["external:fs.createReadStream(filePath).pipe",{"id":"external:fs.createReadStream(filePath).pipe","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.createReadStream(filePath).pipe"}}],["external:fs.createReadStream",{"id":"external:fs.createReadStream","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.createReadStream"}}],["external:content.includes",{"id":"external:content.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.includes"}}],["external:content.replace",{"id":"external:content.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.replace"}}],["symbol-name:checkAuth",{"id":"symbol-name:checkAuth","kind":"symbol","language":"jsts","symbolName":"checkAuth","metadata":{"unresolvedName":"checkAuth"}}],["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"}}],["external:sseClients.delete",{"id":"external:sseClients.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseClients.delete"}}],["external:sseClients.add",{"id":"external:sseClients.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseClients.add"}}],["external:pathname.split('/').filter",{"id":"external:pathname.split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"pathname.split('/').filter"}}],["external:pathname.split",{"id":"external:pathname.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"pathname.split"}}],["symbol-name:getNetworkAccessInfo",{"id":"symbol-name:getNetworkAccessInfo","kind":"symbol","language":"jsts","symbolName":"getNetworkAccessInfo","metadata":{"unresolvedName":"getNetworkAccessInfo"}}],["symbol-name:updateSttSettings",{"id":"symbol-name:updateSttSettings","kind":"symbol","language":"jsts","symbolName":"updateSttSettings","metadata":{"unresolvedName":"updateSttSettings"}}],["symbol-name:updateTtsSettings",{"id":"symbol-name:updateTtsSettings","kind":"symbol","language":"jsts","symbolName":"updateTtsSettings","metadata":{"unresolvedName":"updateTtsSettings"}}],["external:parsedUrl.searchParams.get",{"id":"external:parsedUrl.searchParams.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsedUrl.searchParams.get"}}],["symbol-name:transcribeAudio",{"id":"symbol-name:transcribeAudio","kind":"symbol","language":"jsts","symbolName":"transcribeAudio","metadata":{"unresolvedName":"transcribeAudio"}}],["symbol-name:synthesizeSpeech",{"id":"symbol-name:synthesizeSpeech","kind":"symbol","language":"jsts","symbolName":"synthesizeSpeech","metadata":{"unresolvedName":"synthesizeSpeech"}}],["symbol-name:parseSkillsFromSystemPrompt",{"id":"symbol-name:parseSkillsFromSystemPrompt","kind":"symbol","language":"jsts","symbolName":"parseSkillsFromSystemPrompt","metadata":{"unresolvedName":"parseSkillsFromSystemPrompt"}}],["external:latestCtx?.getSystemPrompt",{"id":"external:latestCtx?.getSystemPrompt","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx?.getSystemPrompt"}}],["symbol-name:countSkillsBySource",{"id":"symbol-name:countSkillsBySource","kind":"symbol","language":"jsts","symbolName":"countSkillsBySource","metadata":{"unresolvedName":"countSkillsBySource"}}],["symbol-name:loadMcpStatus",{"id":"symbol-name:loadMcpStatus","kind":"symbol","language":"jsts","symbolName":"loadMcpStatus","metadata":{"unresolvedName":"loadMcpStatus"}}],["external:latestCtx?.modelRegistry?.getAvailable",{"id":"external:latestCtx?.modelRegistry?.getAvailable","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAvailable"}}],["external:latestCtx?.modelRegistry?.getAll",{"id":"external:latestCtx?.modelRegistry?.getAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAll"}}],["external:m.input?.includes",{"id":"external:m.input?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.input?.includes"}}],["external:registryModels.map",{"id":"external:registryModels.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"registryModels.map"}}],["external:registryModels.find",{"id":"external:registryModels.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"registryModels.find"}}],["symbol-name:mapModel",{"id":"symbol-name:mapModel","kind":"symbol","language":"jsts","symbolName":"mapModel","metadata":{"unresolvedName":"mapModel"}}],["external:models.filter",{"id":"external:models.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"models.filter"}}],["external:models.unshift",{"id":"external:models.unshift","kind":"external","language":"jsts","metadata":{"unresolvedName":"models.unshift"}}],["external:latestCtx.abort",{"id":"external:latestCtx.abort","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx.abort"}}],["symbol-name:createAndSwitchToRealSession",{"id":"symbol-name:createAndSwitchToRealSession","kind":"symbol","language":"jsts","symbolName":"createAndSwitchToRealSession","metadata":{"unresolvedName":"createAndSwitchToRealSession"}}],["external:latestCtx.getContextUsage",{"id":"external:latestCtx.getContextUsage","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx.getContextUsage"}}],["external:filesWithTime.sort",{"id":"external:filesWithTime.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"filesWithTime.sort"}}],["symbol-name:isVisibleChatRole",{"id":"symbol-name:isVisibleChatRole","kind":"symbol","language":"jsts","symbolName":"isVisibleChatRole","metadata":{"unresolvedName":"isVisibleChatRole"}}],["external:messageMap.has",{"id":"external:messageMap.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageMap.has"}}],["external:new Date(entry.timestamp).getTime",{"id":"external:new Date(entry.timestamp).getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(entry.timestamp).getTime"}}],["external:messageMap.set",{"id":"external:messageMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageMap.set"}}],["external:orderedMessageIds.push",{"id":"external:orderedMessageIds.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"orderedMessageIds.push"}}],["external:messageMap.get",{"id":"external:messageMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageMap.get"}}],["external:msgObj.parts.push",{"id":"external:msgObj.parts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"msgObj.parts.push"}}],["external:toolCallMessageIds.set",{"id":"external:toolCallMessageIds.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolCallMessageIds.set"}}],["external:toolCallMessageIds.get",{"id":"external:toolCallMessageIds.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolCallMessageIds.get"}}],["external:parentMsg.parts.find",{"id":"external:parentMsg.parts.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"parentMsg.parts.find"}}],["external:entry.message.content\n .filter",{"id":"external:entry.message.content\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.message.content\n .filter"}}],["external:parentMsg.parts.push",{"id":"external:parentMsg.parts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"parentMsg.parts.push"}}],["external:orderedMessageIds.map",{"id":"external:orderedMessageIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"orderedMessageIds.map"}}],["external:msgObj.parts\n .filter",{"id":"external:msgObj.parts\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"msgObj.parts\n .filter"}}],["external:sessions.push",{"id":"external:sessions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.push"}}],["external:sessions.sort",{"id":"external:sessions.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.sort"}}],["symbol-name:enqueueSessionSend",{"id":"symbol-name:enqueueSessionSend","kind":"symbol","language":"jsts","symbolName":"enqueueSessionSend","metadata":{"unresolvedName":"enqueueSessionSend"}}],["symbol-name:sendUserMessageToRequestedSession",{"id":"symbol-name:sendUserMessageToRequestedSession","kind":"symbol","language":"jsts","symbolName":"sendUserMessageToRequestedSession","metadata":{"unresolvedName":"sendUserMessageToRequestedSession"}}],["symbol-name:getAvailableCommands",{"id":"symbol-name:getAvailableCommands","kind":"symbol","language":"jsts","symbolName":"getAvailableCommands","metadata":{"unresolvedName":"getAvailableCommands"}}],["symbol-name:countCommandsBySource",{"id":"symbol-name:countCommandsBySource","kind":"symbol","language":"jsts","symbolName":"countCommandsBySource","metadata":{"unresolvedName":"countCommandsBySource"}}],["symbol-name:action",{"id":"symbol-name:action","kind":"symbol","language":"jsts","symbolName":"action","metadata":{"unresolvedName":"action"}}],["symbol-name:sendGitAction",{"id":"symbol-name:sendGitAction","kind":"symbol","language":"jsts","symbolName":"sendGitAction","metadata":{"unresolvedName":"sendGitAction"}}],["symbol-name:pullGitBranch",{"id":"symbol-name:pullGitBranch","kind":"symbol","language":"jsts","symbolName":"pullGitBranch","metadata":{"unresolvedName":"pullGitBranch"}}],["symbol-name:pushGitBranch",{"id":"symbol-name:pushGitBranch","kind":"symbol","language":"jsts","symbolName":"pushGitBranch","metadata":{"unresolvedName":"pushGitBranch"}}],["external:entries.map",{"id":"external:entries.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.map"}}],["external:path.relative(targetDir, fullEntryPath).replace",{"id":"external:path.relative(targetDir, fullEntryPath).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.relative(targetDir, fullEntryPath).replace"}}],["external:http.createServer",{"id":"external:http.createServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"http.createServer"}}],["external:probe.once",{"id":"external:probe.once","kind":"external","language":"jsts","metadata":{"unresolvedName":"probe.once"}}],["external:probe.close",{"id":"external:probe.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"probe.close"}}],["external:probe.listen",{"id":"external:probe.listen","kind":"external","language":"jsts","metadata":{"unresolvedName":"probe.listen"}}],["symbol-name:canReserveLoopbackPort",{"id":"symbol-name:canReserveLoopbackPort","kind":"symbol","language":"jsts","symbolName":"canReserveLoopbackPort","metadata":{"unresolvedName":"canReserveLoopbackPort"}}],["symbol-name:tryListen",{"id":"symbol-name:tryListen","kind":"symbol","language":"jsts","symbolName":"tryListen","metadata":{"unresolvedName":"tryListen"}}],["external:srv.removeListener",{"id":"external:srv.removeListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"srv.removeListener"}}],["external:srv.once",{"id":"external:srv.once","kind":"external","language":"jsts","metadata":{"unresolvedName":"srv.once"}}],["external:srv.listen",{"id":"external:srv.listen","kind":"external","language":"jsts","metadata":{"unresolvedName":"srv.listen"}}],["external:ctx.ui.setWidget",{"id":"external:ctx.ui.setWidget","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.ui.setWidget"}}],["symbol-name:setWebLinkWidget",{"id":"symbol-name:setWebLinkWidget","kind":"symbol","language":"jsts","symbolName":"setWebLinkWidget","metadata":{"unresolvedName":"setWebLinkWidget"}}],["symbol-name:generateBearerToken",{"id":"symbol-name:generateBearerToken","kind":"symbol","language":"jsts","symbolName":"generateBearerToken","metadata":{"unresolvedName":"generateBearerToken"}}],["external:urlPath.startsWith",{"id":"external:urlPath.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"urlPath.startsWith"}}],["external:handleApiRequest(req, res).catch",{"id":"external:handleApiRequest(req, res).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"handleApiRequest(req, res).catch"}}],["symbol-name:handleApiRequest",{"id":"symbol-name:handleApiRequest","kind":"symbol","language":"jsts","symbolName":"handleApiRequest","metadata":{"unresolvedName":"handleApiRequest"}}],["symbol-name:handleStaticFile",{"id":"symbol-name:handleStaticFile","kind":"symbol","language":"jsts","symbolName":"handleStaticFile","metadata":{"unresolvedName":"handleStaticFile"}}],["external:server.on",{"id":"external:server.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"server.on"}}],["external:socket.write",{"id":"external:socket.write","kind":"external","language":"jsts","metadata":{"unresolvedName":"socket.write"}}],["external:socket.destroy",{"id":"external:socket.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"socket.destroy"}}],["external:wss!.handleUpgrade",{"id":"external:wss!.handleUpgrade","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss!.handleUpgrade"}}],["external:wss!.emit",{"id":"external:wss!.emit","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss!.emit"}}],["external:wss.on",{"id":"external:wss.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss.on"}}],["external:clients.add",{"id":"external:clients.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.add"}}],["external:ws.send",{"id":"external:ws.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.send"}}],["external:ws.on",{"id":"external:ws.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.on"}}],["external:clients.delete",{"id":"external:clients.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.delete"}}],["external:listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then",{"id":"external:listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then"}}],["symbol-name:listenOnAvailablePort",{"id":"symbol-name:listenOnAvailablePort","kind":"symbol","language":"jsts","symbolName":"listenOnAvailablePort","metadata":{"unresolvedName":"listenOnAvailablePort"}}],["external:latestCtx.ui.setWidget",{"id":"external:latestCtx.ui.setWidget","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestCtx.ui.setWidget"}}],["external:fs.unlinkSync",{"id":"external:fs.unlinkSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.unlinkSync"}}],["external:sseClients.clear",{"id":"external:sseClients.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseClients.clear"}}],["external:createdParts.clear",{"id":"external:createdParts.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdParts.clear"}}],["external:client.close",{"id":"external:client.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.close"}}],["external:clients.clear",{"id":"external:clients.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.clear"}}],["external:wss.close",{"id":"external:wss.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"wss.close"}}],["external:server.close",{"id":"external:server.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"server.close"}}],["external:pi.on",{"id":"external:pi.on","kind":"external","language":"jsts","metadata":{"unresolvedName":"pi.on"}}],["symbol-name:startServer",{"id":"symbol-name:startServer","kind":"symbol","language":"jsts","symbolName":"startServer","metadata":{"unresolvedName":"startServer"}}],["external:ctx.sessionManager?.getSessionId",{"id":"external:ctx.sessionManager?.getSessionId","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.sessionManager?.getSessionId"}}],["symbol-name:stopServer",{"id":"symbol-name:stopServer","kind":"symbol","language":"jsts","symbolName":"stopServer","metadata":{"unresolvedName":"stopServer"}}],["symbol-name:broadcastSessionUpdated",{"id":"symbol-name:broadcastSessionUpdated","kind":"symbol","language":"jsts","symbolName":"broadcastSessionUpdated","metadata":{"unresolvedName":"broadcastSessionUpdated"}}],["symbol-name:getMessageId",{"id":"symbol-name:getMessageId","kind":"symbol","language":"jsts","symbolName":"getMessageId","metadata":{"unresolvedName":"getMessageId"}}],["external:createdParts.has",{"id":"external:createdParts.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdParts.has"}}],["external:createdParts.add",{"id":"external:createdParts.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdParts.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"enqueueSessionSend","symbolKind":"function","exported":false,"metadata":{"line":396,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getCurrentSessionId","symbolKind":"function","exported":false,"metadata":{"line":405,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getSessionFileForId","symbolKind":"function","exported":false,"metadata":{"line":409,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getFallbackSessionTitle","symbolKind":"function","exported":false,"metadata":{"line":418,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"createSessionId","symbolKind":"function","exported":false,"metadata":{"line":422,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"createSessionEntryId","symbolKind":"function","exported":false,"metadata":{"line":426,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"createRealSessionFile","symbolKind":"function","exported":false,"metadata":{"line":430,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"createAndSwitchToRealSession","symbolKind":"function","exported":false,"metadata":{"line":470,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"withSession","symbolKind":"function","exported":false,"metadata":{"line":622,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"normalizeSessionTitle","symbolKind":"function","exported":false,"metadata":{"line":506,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"readSessionMetadata","symbolKind":"function","exported":false,"metadata":{"line":519,"column":3,"cyclomaticComplexity":18,"maxNestingDepth":6,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"setRequestedModel","symbolKind":"function","exported":false,"metadata":{"line":567,"column":3,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"sendUserMessageToRequestedSession","symbolKind":"function","exported":false,"metadata":{"line":588,"column":3,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getSessionInfo","symbolKind":"function","exported":false,"metadata":{"line":646,"column":3,"cyclomaticComplexity":9,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"broadcastSessionUpdated","symbolKind":"function","exported":false,"metadata":{"line":663,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"broadcastSSE","symbolKind":"function","exported":false,"metadata":{"line":672,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"generateBearerToken","symbolKind":"function","exported":false,"metadata":{"line":692,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getLocalSettings","symbolKind":"function","exported":false,"metadata":{"line":698,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"saveLocalSettings","symbolKind":"function","exported":false,"metadata":{"line":702,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"buildBrowserUrl","symbolKind":"function","exported":false,"metadata":{"line":706,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getNetworkAccessInfo","symbolKind":"function","exported":false,"metadata":{"line":710,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getEffectiveSttSettings","symbolKind":"function","exported":false,"metadata":{"line":726,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"sanitizeSttSettings","symbolKind":"function","exported":false,"metadata":{"line":740,"column":3,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"readJsonBody","symbolKind":"function","exported":false,"metadata":{"line":757,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"updateSttSettings","symbolKind":"function","exported":false,"metadata":{"line":774,"column":3,"cyclomaticComplexity":30,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"getEffectiveTtsSettings","symbolKind":"function","exported":false,"metadata":{"line":828,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"sanitizeTtsSettings","symbolKind":"function","exported":false,"metadata":{"line":843,"column":3,"cyclomaticComplexity":9,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"isTtsResponseFormat","symbolKind":"function","exported":false,"metadata":{"line":859,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"updateTtsSettings","symbolKind":"function","exported":false,"metadata":{"line":865,"column":3,"cyclomaticComplexity":29,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"readRequestBuffer","symbolKind":"function","exported":false,"metadata":{"line":917,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"readMultipartFormData","symbolKind":"function","exported":false,"metadata":{"line":926,"column":3,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"transcribeAudio","symbolKind":"function","exported":false,"metadata":{"line":957,"column":3,"cyclomaticComplexity":19,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"synthesizeSpeech","symbolKind":"function","exported":false,"metadata":{"line":1011,"column":3,"cyclomaticComplexity":16,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"handleStaticFile","symbolKind":"function","exported":false,"metadata":{"line":1075,"column":3,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"serveIndexHtml","symbolKind":"function","exported":false,"metadata":{"line":1117,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"checkAuth","symbolKind":"function","exported":false,"metadata":{"line":1148,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"handleApiRequest","symbolKind":"function","exported":false,"metadata":{"line":1160,"column":3,"cyclomaticComplexity":232,"maxNestingDepth":15,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"sendGitAction","symbolKind":"function","exported":false,"metadata":{"line":1864,"column":9,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"listenOnAvailablePort","symbolKind":"function","exported":false,"metadata":{"line":1990,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"canReserveLoopbackPort","symbolKind":"function","exported":false,"metadata":{"line":1991,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"tryListen","symbolKind":"function","exported":false,"metadata":{"line":2005,"column":7,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"onError","symbolKind":"function","exported":false,"metadata":{"line":2012,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"onListening","symbolKind":"function","exported":false,"metadata":{"line":2022,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"setWebLinkWidget","symbolKind":"function","exported":false,"metadata":{"line":2036,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"startServer","symbolKind":"function","exported":false,"metadata":{"line":2050,"column":3,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","symbolName":"stopServer","symbolKind":"function","exported":false,"metadata":{"line":2143,"column":3,"cyclomaticComplexity":13,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","metadata":{"lineCount":100,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","symbolName":"makeTempHome","symbolKind":"function","exported":false,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:tempDirs.push",{"id":"external:tempDirs.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"tempDirs.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":68,"column":64,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:tempDirs.splice",{"id":"external:tempDirs.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"tempDirs.splice"}}],["symbol-name:makeTempHome",{"id":"symbol-name:makeTempHome","kind":"symbol","language":"jsts","symbolName":"makeTempHome","metadata":{"unresolvedName":"makeTempHome"}}],["external:first.saveSettings",{"id":"external:first.saveSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"first.saveSettings"}}],["external:first.close",{"id":"external:first.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"first.close"}}],["external:expect(fs.existsSync(paths.databasePath)).toBe",{"id":"external:expect(fs.existsSync(paths.databasePath)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fs.existsSync(paths.databasePath)).toBe"}}],["external:expect(second.getSettings()).toMatchObject",{"id":"external:expect(second.getSettings()).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(second.getSettings()).toMatchObject"}}],["external:second.getSettings",{"id":"external:second.getSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"second.getSettings"}}],["external:second.close",{"id":"external:second.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"second.close"}}],["external:expect(store.getSettings()).toMatchObject",{"id":"external:expect(store.getSettings()).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getSettings()).toMatchObject"}}],["external:store.getSettings",{"id":"external:store.getSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getSettings"}}],["external:expect(store.getMeta('legacy_json_imported_at')).toEqual",{"id":"external:expect(store.getMeta('legacy_json_imported_at')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getMeta('legacy_json_imported_at')).toEqual"}}],["external:store.getMeta",{"id":"external:store.getMeta","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getMeta"}}],["external:store.close",{"id":"external:store.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.close"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","metadata":{"lineCount":215,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:node:module",{"id":"external:node:module","kind":"external","language":"jsts","metadata":{"source":"node:module"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"resolvePiAgentUiSettingsPaths","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"isObject","symbolKind":"function","exported":false,"metadata":{"line":73,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"parseJsonObject","symbolKind":"function","exported":false,"metadata":{"line":77,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:isObject",{"id":"symbol-name:isObject","kind":"symbol","language":"jsts","symbolName":"isObject","metadata":{"unresolvedName":"isObject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:normalizeSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:normalizeSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"normalizeSettings","symbolKind":"function","exported":false,"metadata":{"line":87,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"readLegacyJsonSettings","symbolKind":"function","exported":false,"metadata":{"line":104,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeSettings",{"id":"symbol-name:normalizeSettings","kind":"symbol","language":"jsts","symbolName":"normalizeSettings","metadata":{"unresolvedName":"normalizeSettings"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:close",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:close","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":123,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.db.close",{"id":"external:this.db.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.db.close"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"getMeta","symbolKind":"function","exported":false,"metadata":{"line":127,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get",{"id":"external:this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get"}}],["external:this.db.prepare",{"id":"external:this.db.prepare","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.db.prepare"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"setMeta","symbolKind":"function","exported":false,"metadata":{"line":132,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.db\n .prepare",{"id":"external:this.db\n .prepare","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.db\n .prepare"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"getSettings","symbolKind":"function","exported":false,"metadata":{"line":142,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getNamespace",{"id":"external:this.getNamespace","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getNamespace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"saveSettings","symbolKind":"function","exported":false,"metadata":{"line":151,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.db.exec",{"id":"external:this.db.exec","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.db.exec"}}],["external:this.setNamespace",{"id":"external:this.setNamespace","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setNamespace"}}],["external:this.setMeta",{"id":"external:this.setMeta","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setMeta"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"initialize","symbolKind":"function","exported":false,"metadata":{"line":166,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"importLegacyJsonOnce","symbolKind":"function","exported":false,"metadata":{"line":186,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getMeta",{"id":"external:this.getMeta","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getMeta"}}],["symbol-name:readLegacyJsonSettings",{"id":"symbol-name:readLegacyJsonSettings","kind":"symbol","language":"jsts","symbolName":"readLegacyJsonSettings","metadata":{"unresolvedName":"readLegacyJsonSettings"}}],["external:this.saveSettings",{"id":"external:this.saveSettings","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.saveSettings"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"getNamespace","symbolKind":"function","exported":false,"metadata":{"line":194,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:parseJsonObject",{"id":"symbol-name:parseJsonObject","kind":"symbol","language":"jsts","symbolName":"parseJsonObject","metadata":{"unresolvedName":"parseJsonObject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"setNamespace","symbolKind":"function","exported":false,"metadata":{"line":201,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","symbolName":"createPiAgentUiSettingsStore","symbolKind":"function","exported":true,"metadata":{"line":212,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","metadata":{"lineCount":40,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":22,"column":74,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:event.notification.close",{"id":"external:event.notification.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.notification.close"}}],["external:event.waitUntil",{"id":"external:event.waitUntil","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.waitUntil"}}],["external:clients.matchAll({ type: 'window', includeUncontrolled: true }).then",{"id":"external:clients.matchAll({ type: 'window', includeUncontrolled: true }).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.matchAll({ type: 'window', includeUncontrolled: true }).then"}}],["external:clients.matchAll",{"id":"external:clients.matchAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.matchAll"}}],["external:client.url.startsWith",{"id":"external:client.url.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.url.startsWith"}}],["external:client.postMessage",{"id":"external:client.postMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.postMessage"}}],["external:client.focus",{"id":"external:client.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"client.focus"}}],["external:clients.openWindow",{"id":"external:clients.openWindow","kind":"external","language":"jsts","metadata":{"unresolvedName":"clients.openWindow"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","metadata":{"lineCount":205,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fs",{"id":"external:fs","kind":"external","language":"jsts","metadata":{"source":"fs"}}],["external:child_process",{"id":"external:child_process","kind":"external","language":"jsts","metadata":{"source":"child_process"}}],["external:path",{"id":"external:path","kind":"external","language":"jsts","metadata":{"source":"path"}}],["external:url",{"id":"external:url","kind":"external","language":"jsts","metadata":{"source":"url"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:formatWithPrettier",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:formatWithPrettier","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","symbolName":"formatWithPrettier","symbolKind":"function","exported":false,"metadata":{"line":55,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:execSync",{"id":"symbol-name:execSync","kind":"symbol","language":"jsts","symbolName":"execSync","metadata":{"unresolvedName":"execSync"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","symbolName":"replaceCargoPackageVersion","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:lockContent.split",{"id":"external:lockContent.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"lockContent.split"}}],["external:packageBlocks.map",{"id":"external:packageBlocks.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"packageBlocks.map"}}],["external:block.includes",{"id":"external:block.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"block.includes"}}],["external:block.replace",{"id":"external:block.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"block.replace"}}],["external:updatedBlocks.join",{"id":"external:updatedBlocks.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"updatedBlocks.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":64,"column":43,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","symbolName":"getReleaseBaseTag","symbolKind":"function","exported":false,"metadata":{"line":72,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tag.trim",{"id":"external:tag.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"tag.trim"}}],["external:mergedTags.find",{"id":"external:mergedTags.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"mergedTags.find"}}],["external:stableTagRe.test",{"id":"external:stableTagRe.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"stableTagRe.test"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","metadata":{"lineCount":71,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","metadata":{"lineCount":95,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","symbolName":"run","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:read",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:read","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","symbolName":"read","symbolKind":"function","exported":false,"metadata":{"line":43,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","metadata":{"lineCount":30,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","metadata":{"lineCount":116,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","symbolName":"getAgents","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:piClient.get",{"id":"external:piClient.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"piClient.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","symbolName":"getSelectableAgents","symbolKind":"function","exported":true,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getAgents",{"id":"symbol-name:getAgents","kind":"symbol","language":"jsts","symbolName":"getAgents","metadata":{"unresolvedName":"getAgents"}}],["external:agents.filter",{"id":"external:agents.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"agents.filter"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","metadata":{"lineCount":141,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":46,"column":65,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:beforeEach",{"id":"symbol-name:beforeEach","kind":"symbol","language":"jsts","symbolName":"beforeEach","metadata":{"unresolvedName":"beforeEach"}}],["external:vi.mocked(piClient.get).mockReset",{"id":"external:vi.mocked(piClient.get).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}}],["external:vi.mocked",{"id":"external:vi.mocked","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked"}}],["external:vi.mocked(piClient.get).mockResolvedValue",{"id":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}}],["symbol-name:getActiveModels",{"id":"symbol-name:getActiveModels","kind":"symbol","language":"jsts","symbolName":"getActiveModels","metadata":{"unresolvedName":"getActiveModels"}}],["external:expect(models).toHaveLength",{"id":"external:expect(models).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(models).toHaveLength"}}],["external:expect(models[0]).toMatchObject",{"id":"external:expect(models[0]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(models[0]).toMatchObject"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","metadata":{"lineCount":300,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"getActiveModels","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:data.models.map",{"id":"external:data.models.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.models.map"}}],["external:model.input?.includes",{"id":"external:model.input?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"model.input?.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getDefaultModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getDefaultModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"getDefaultModels","symbolKind":"function","exported":true,"metadata":{"line":79,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"getCurrentProject","symbolKind":"function","exported":true,"metadata":{"line":90,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:formatPathForApi",{"id":"symbol-name:formatPathForApi","kind":"symbol","language":"jsts","symbolName":"formatPathForApi","metadata":{"unresolvedName":"formatPathForApi"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"getProjects","symbolKind":"function","exported":true,"metadata":{"line":98,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"initGitProject","symbolKind":"function","exported":true,"metadata":{"line":108,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:updateProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:updateProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"updateProject","symbolKind":"function","exported":true,"metadata":{"line":116,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","symbolName":"getPath","symbolKind":"function","exported":true,"metadata":{"line":135,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","metadata":{"lineCount":67,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","metadata":{"lineCount":108,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":49,"column":100,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["symbol-name:getCommands",{"id":"symbol-name:getCommands","kind":"symbol","language":"jsts","symbolName":"getCommands","metadata":{"unresolvedName":"getCommands"}}],["external:expect(commands).toEqual",{"id":"external:expect(commands).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commands).toEqual"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","metadata":{"lineCount":573,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","metadata":{"lineCount":42,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"getFrontendCommands","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["external:i18n.t",{"id":"external:i18n.t","kind":"external","language":"jsts","metadata":{"unresolvedName":"i18n.t"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"getCommandCacheKey","symbolKind":"function","exported":false,"metadata":{"line":40,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["external:serverStore.getActiveServerId",{"id":"external:serverStore.getActiveServerId","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveServerId"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"fetchCommands","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["symbol-name:getFrontendCommands",{"id":"symbol-name:getFrontendCommands","kind":"symbol","language":"jsts","symbolName":"getFrontendCommands","metadata":{"unresolvedName":"getFrontendCommands"}}],["external:frontendCommands.map",{"id":"external:frontendCommands.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"frontendCommands.map"}}],["external:apiCommands\n .map",{"id":"external:apiCommands\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiCommands\n .map"}}],["external:frontendNames.has",{"id":"external:frontendNames.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"frontendNames.has"}}],["external:commandsFromApi.map",{"id":"external:commandsFromApi.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandsFromApi.map"}}],["external:frontendCommands.filter",{"id":"external:frontendCommands.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"frontendCommands.filter"}}],["external:apiNames.has",{"id":"external:apiNames.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiNames.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"getCommands","symbolKind":"function","exported":true,"metadata":{"line":65,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["symbol-name:getCommandCacheKey",{"id":"symbol-name:getCommandCacheKey","kind":"symbol","language":"jsts","symbolName":"getCommandCacheKey","metadata":{"unresolvedName":"getCommandCacheKey"}}],["external:commandCache.get",{"id":"external:commandCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandCache.get"}}],["external:commandInflight.get",{"id":"external:commandInflight.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandInflight.get"}}],["external:fetchCommands(directory)\n .then",{"id":"external:fetchCommands(directory)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetchCommands(directory)\n .then"}}],["symbol-name:fetchCommands",{"id":"symbol-name:fetchCommands","kind":"symbol","language":"jsts","symbolName":"fetchCommands","metadata":{"unresolvedName":"fetchCommands"}}],["external:commandCache.set",{"id":"external:commandCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandCache.set"}}],["external:commandInflight.delete",{"id":"external:commandInflight.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandInflight.delete"}}],["external:commandInflight.set",{"id":"external:commandInflight.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandInflight.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":83,"column":14,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"prefetchCommands","symbolKind":"function","exported":true,"metadata":{"line":91,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","symbolName":"executeCommand","symbolKind":"function","exported":true,"metadata":{"line":95,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["external:piClient.post",{"id":"external:piClient.post","kind":"external","language":"jsts","metadata":{"unresolvedName":"piClient.post"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","metadata":{"lineCount":59,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts","metadata":{"lineCount":54,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getConfig",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getConfig","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","symbolName":"getConfig","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:updateConfig",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:updateConfig","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","symbolName":"updateConfig","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getProviderConfigs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getProviderConfigs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","symbolName":"getProviderConfigs","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","metadata":{"lineCount":318,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","metadata":{"lineCount":174,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"concatBytes","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:parts.reduce",{"id":"external:parts.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.reduce"}}],["external:result.set",{"id":"external:result.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"createEventChunks","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:raw.split",{"id":"external:raw.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"raw.split"}}],["external:encoder.encode",{"id":"external:encoder.encode","kind":"external","language":"jsts","metadata":{"unresolvedName":"encoder.encode"}}],["symbol-name:concatBytes",{"id":"symbol-name:concatBytes","kind":"symbol","language":"jsts","symbolName":"concatBytes","metadata":{"unresolvedName":"concatBytes"}}],["external:deltaBytes.slice",{"id":"external:deltaBytes.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"deltaBytes.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"createStream","symbolKind":"function","exported":false,"metadata":{"line":52,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:controller.enqueue",{"id":"external:controller.enqueue","kind":"external","language":"jsts","metadata":{"unresolvedName":"controller.enqueue"}}],["external:controller.close",{"id":"external:controller.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"controller.close"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"start","symbolKind":"function","exported":false,"metadata":{"line":54,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"createFetchResponse","symbolKind":"function","exported":false,"metadata":{"line":63,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createStream",{"id":"symbol-name:createStream","kind":"symbol","language":"jsts","symbolName":"createStream","metadata":{"unresolvedName":"createStream"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createDeferred",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createDeferred","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"createDeferred","symbolKind":"function","exported":false,"metadata":{"line":70,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":288,"column":89,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"createEventChunk","symbolKind":"function","exported":false,"metadata":{"line":80,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.resetModules",{"id":"external:vi.resetModules","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.resetModules"}}],["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"}}],["external:vi.unstubAllGlobals",{"id":"external:vi.unstubAllGlobals","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.unstubAllGlobals"}}],["external:vi.fn().mockResolvedValue",{"id":"external:vi.fn().mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}}],["symbol-name:createFetchResponse",{"id":"symbol-name:createFetchResponse","kind":"symbol","language":"jsts","symbolName":"createFetchResponse","metadata":{"unresolvedName":"createFetchResponse"}}],["symbol-name:createEventChunks",{"id":"symbol-name:createEventChunks","kind":"symbol","language":"jsts","symbolName":"createEventChunks","metadata":{"unresolvedName":"createEventChunks"}}],["external:vi.stubGlobal",{"id":"external:vi.stubGlobal","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.stubGlobal"}}],["symbol-name:import",{"id":"symbol-name:import","kind":"symbol","language":"jsts","symbolName":"import","metadata":{"unresolvedName":"import"}}],["symbol-name:subscribeToEvents",{"id":"symbol-name:subscribeToEvents","kind":"symbol","language":"jsts","symbolName":"subscribeToEvents","metadata":{"unresolvedName":"subscribeToEvents"}}],["symbol-name:unsubscribe",{"id":"symbol-name:unsubscribe","kind":"symbol","language":"jsts","symbolName":"unsubscribe","metadata":{"unresolvedName":"unsubscribe"}}],["external:expect(received).toBe",{"id":"external:expect(received).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(received).toBe"}}],["symbol-name:createEventChunk",{"id":"symbol-name:createEventChunk","kind":"symbol","language":"jsts","symbolName":"createEventChunk","metadata":{"unresolvedName":"createEventChunk"}}],["external:expect(received).toMatchObject",{"id":"external:expect(received).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(received).toMatchObject"}}],["symbol-name:createDeferred",{"id":"symbol-name:createDeferred","kind":"symbol","language":"jsts","symbolName":"createDeferred","metadata":{"unresolvedName":"createDeferred"}}],["external:vi\n .fn()\n .mockImplementationOnce",{"id":"external:vi\n .fn()\n .mockImplementationOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n .fn()\n .mockImplementationOnce"}}],["external:vi\n .fn",{"id":"external:vi\n .fn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n .fn"}}],["external:received.push",{"id":"external:received.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"received.push"}}],["symbol-name:reconnectSSE",{"id":"symbol-name:reconnectSSE","kind":"symbol","language":"jsts","symbolName":"reconnectSSE","metadata":{"unresolvedName":"reconnectSSE"}}],["external:secondFetch.resolve",{"id":"external:secondFetch.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"secondFetch.resolve"}}],["external:vi.waitFor",{"id":"external:vi.waitFor","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.waitFor"}}],["external:expect(received).toEqual",{"id":"external:expect(received).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(received).toEqual"}}],["external:firstFetch.resolve",{"id":"external:firstFetch.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"firstFetch.resolve"}}],["external:firstFetch.reject",{"id":"external:firstFetch.reject","kind":"external","language":"jsts","metadata":{"unresolvedName":"firstFetch.reject"}}],["external:expect(onError).not.toHaveBeenCalled",{"id":"external:expect(onError).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onError).not.toHaveBeenCalled"}}],["external:expect(getConnectionInfo().state).toBe",{"id":"external:expect(getConnectionInfo().state).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getConnectionInfo().state).toBe"}}],["symbol-name:getConnectionInfo",{"id":"symbol-name:getConnectionInfo","kind":"symbol","language":"jsts","symbolName":"getConnectionInfo","metadata":{"unresolvedName":"getConnectionInfo"}}],["external:secondFetch.reject",{"id":"external:secondFetch.reject","kind":"external","language":"jsts","metadata":{"unresolvedName":"secondFetch.reject"}}],["external:Object.assign",{"id":"external:Object.assign","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.assign"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"onPartDelta","symbolKind":"function","exported":false,"metadata":{"line":124,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"onError","symbolKind":"function","exported":false,"metadata":{"line":227,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"onServerConnected","symbolKind":"function","exported":false,"metadata":{"line":250,"column":7,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"onMessageUpdated","symbolKind":"function","exported":false,"metadata":{"line":188,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","symbolName":"onPartUpdated","symbolKind":"function","exported":false,"metadata":{"line":223,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","metadata":{"lineCount":897,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","metadata":{"lineCount":40,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","metadata":{"lineCount":64,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"updateConnectionState","symbolKind":"function","exported":false,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:connectionListeners.forEach",{"id":"external:connectionListeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"connectionListeners.forEach"}}],["symbol-name:fn",{"id":"symbol-name:fn","kind":"symbol","language":"jsts","symbolName":"fn","metadata":{"unresolvedName":"fn"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":887,"column":10,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"getConnectionInfo","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"subscribeToConnectionState","symbolKind":"function","exported":true,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:connectionListeners.add",{"id":"external:connectionListeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"connectionListeners.add"}}],["external:connectionListeners.delete",{"id":"external:connectionListeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"connectionListeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"finalizeConnectionAttempt","symbolKind":"function","exported":false,"metadata":{"line":97,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"broadcastReconnected","symbolKind":"function","exported":false,"metadata":{"line":108,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:allSubscribers.forEach",{"id":"external:allSubscribers.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"allSubscribers.forEach"}}],["external:cb.onReconnected",{"id":"external:cb.onReconnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onReconnected"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"disconnectTauri","symbolKind":"function","exported":false,"metadata":{"line":127,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isTauri",{"id":"symbol-name:isTauri","kind":"symbol","language":"jsts","symbolName":"isTauri","metadata":{"unresolvedName":"isTauri"}}],["external:pendingDisconnect.then",{"id":"external:pendingDisconnect.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingDisconnect.then"}}],["external:import('@tauri-apps/api/core')\n .then",{"id":"external:import('@tauri-apps/api/core')\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/api/core')\n .then"}}],["external:invoke('bridge_disconnect', { args: { bridgeId: 'sse' } }).then",{"id":"external:invoke('bridge_disconnect', { args: { bridgeId: 'sse' } }).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"invoke('bridge_disconnect', { args: { bridgeId: 'sse' } }).then"}}],["symbol-name:invoke",{"id":"symbol-name:invoke","kind":"symbol","language":"jsts","symbolName":"invoke","metadata":{"unresolvedName":"invoke"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"resetHeartbeat","symbolKind":"function","exported":false,"metadata":{"line":139,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:clearTimeout",{"id":"symbol-name:clearTimeout","kind":"symbol","language":"jsts","symbolName":"clearTimeout","metadata":{"unresolvedName":"clearTimeout"}}],["symbol-name:updateConnectionState",{"id":"symbol-name:updateConnectionState","kind":"symbol","language":"jsts","symbolName":"updateConnectionState","metadata":{"unresolvedName":"updateConnectionState"}}],["external:console.warn",{"id":"external:console.warn","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.warn"}}],["symbol-name:forceReconnectNow",{"id":"symbol-name:forceReconnectNow","kind":"symbol","language":"jsts","symbolName":"forceReconnectNow","metadata":{"unresolvedName":"forceReconnectNow"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"scheduleReconnect","symbolKind":"function","exported":false,"metadata":{"line":154,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.min",{"id":"external:Math.min","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.min"}}],["symbol-name:connectSingleton",{"id":"symbol-name:connectSingleton","kind":"symbol","language":"jsts","symbolName":"connectSingleton","metadata":{"unresolvedName":"connectSingleton"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"connectSingleton","symbolKind":"function","exported":false,"metadata":{"line":173,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.round",{"id":"external:Math.round","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.round"}}],["symbol-name:disconnectTauri",{"id":"symbol-name:disconnectTauri","kind":"symbol","language":"jsts","symbolName":"disconnectTauri","metadata":{"unresolvedName":"disconnectTauri"}}],["external:singletonController.abort",{"id":"external:singletonController.abort","kind":"external","language":"jsts","metadata":{"unresolvedName":"singletonController.abort"}}],["symbol-name:registerLifecycleListeners",{"id":"symbol-name:registerLifecycleListeners","kind":"symbol","language":"jsts","symbolName":"registerLifecycleListeners","metadata":{"unresolvedName":"registerLifecycleListeners"}}],["symbol-name:connectViaTauri",{"id":"symbol-name:connectViaTauri","kind":"symbol","language":"jsts","symbolName":"connectViaTauri","metadata":{"unresolvedName":"connectViaTauri"}}],["symbol-name:connectViaBrowser",{"id":"symbol-name:connectViaBrowser","kind":"symbol","language":"jsts","symbolName":"connectViaBrowser","metadata":{"unresolvedName":"connectViaBrowser"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"connectViaTauri","symbolKind":"function","exported":false,"metadata":{"line":232,"column":1,"cyclomaticComplexity":21,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getApiBaseUrl",{"id":"symbol-name:getApiBaseUrl","kind":"symbol","language":"jsts","symbolName":"getApiBaseUrl","metadata":{"unresolvedName":"getApiBaseUrl"}}],["symbol-name:getAuthHeader",{"id":"symbol-name:getAuthHeader","kind":"symbol","language":"jsts","symbolName":"getAuthHeader","metadata":{"unresolvedName":"getAuthHeader"}}],["symbol-name:createSseTextParser",{"id":"symbol-name:createSseTextParser","kind":"symbol","language":"jsts","symbolName":"createSseTextParser","metadata":{"unresolvedName":"createSseTextParser"}}],["symbol-name:resetHeartbeat",{"id":"symbol-name:resetHeartbeat","kind":"symbol","language":"jsts","symbolName":"resetHeartbeat","metadata":{"unresolvedName":"resetHeartbeat"}}],["symbol-name:broadcastReconnected",{"id":"symbol-name:broadcastReconnected","kind":"symbol","language":"jsts","symbolName":"broadcastReconnected","metadata":{"unresolvedName":"broadcastReconnected"}}],["external:sseParser.push",{"id":"external:sseParser.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseParser.push"}}],["symbol-name:parseGlobalEvent",{"id":"symbol-name:parseGlobalEvent","kind":"symbol","language":"jsts","symbolName":"parseGlobalEvent","metadata":{"unresolvedName":"parseGlobalEvent"}}],["symbol-name:broadcastEvent",{"id":"symbol-name:broadcastEvent","kind":"symbol","language":"jsts","symbolName":"broadcastEvent","metadata":{"unresolvedName":"broadcastEvent"}}],["symbol-name:scheduleReconnect",{"id":"symbol-name:scheduleReconnect","kind":"symbol","language":"jsts","symbolName":"scheduleReconnect","metadata":{"unresolvedName":"scheduleReconnect"}}],["external:cb.onError",{"id":"external:cb.onError","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onError"}}],["symbol-name:finalizeConnectionAttempt",{"id":"symbol-name:finalizeConnectionAttempt","kind":"symbol","language":"jsts","symbolName":"finalizeConnectionAttempt","metadata":{"unresolvedName":"finalizeConnectionAttempt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"connectViaBrowser","symbolKind":"function","exported":false,"metadata":{"line":345,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:response.body?.cancel?.().catch",{"id":"external:response.body?.cancel?.().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.body?.cancel?.().catch"}}],["external:response.body?.cancel",{"id":"external:response.body?.cancel","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.body?.cancel"}}],["external:response.body?.getReader",{"id":"external:response.body?.getReader","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.body?.getReader"}}],["external:reader.cancel().catch",{"id":"external:reader.cancel().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader.cancel().catch"}}],["external:reader.cancel",{"id":"external:reader.cancel","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader.cancel"}}],["external:reader.read",{"id":"external:reader.read","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader.read"}}],["external:decoder.decode",{"id":"external:decoder.decode","kind":"external","language":"jsts","metadata":{"unresolvedName":"decoder.decode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"parseGlobalEvent","symbolKind":"function","exported":false,"metadata":{"line":450,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isGlobalEvent",{"id":"symbol-name:isGlobalEvent","kind":"symbol","language":"jsts","symbolName":"isGlobalEvent","metadata":{"unresolvedName":"isGlobalEvent"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"isGlobalEvent","symbolKind":"function","exported":false,"metadata":{"line":462,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isRecord",{"id":"symbol-name:isRecord","kind":"symbol","language":"jsts","symbolName":"isRecord","metadata":{"unresolvedName":"isRecord"}}],["symbol-name:isEventType",{"id":"symbol-name:isEventType","kind":"symbol","language":"jsts","symbolName":"isEventType","metadata":{"unresolvedName":"isEventType"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"isEventType","symbolKind":"function","exported":false,"metadata":{"line":470,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:EVENT_TYPE_SET.has",{"id":"external:EVENT_TYPE_SET.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"EVENT_TYPE_SET.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"isRecord","symbolKind":"function","exported":false,"metadata":{"line":474,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"getMessageInfo","symbolKind":"function","exported":false,"metadata":{"line":478,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"startBackgroundKeepalive","symbolKind":"function","exported":false,"metadata":{"line":493,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:stopBackgroundKeepalive",{"id":"symbol-name:stopBackgroundKeepalive","kind":"symbol","language":"jsts","symbolName":"stopBackgroundKeepalive","metadata":{"unresolvedName":"stopBackgroundKeepalive"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"stopBackgroundKeepalive","symbolKind":"function","exported":false,"metadata":{"line":533,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"disconnectSingleton","symbolKind":"function","exported":false,"metadata":{"line":540,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"handleVisibilityChange","symbolKind":"function","exported":false,"metadata":{"line":562,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:startBackgroundKeepalive",{"id":"symbol-name:startBackgroundKeepalive","kind":"symbol","language":"jsts","symbolName":"startBackgroundKeepalive","metadata":{"unresolvedName":"startBackgroundKeepalive"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"forceReconnectNow","symbolKind":"function","exported":false,"metadata":{"line":619,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"handleOnline","symbolKind":"function","exported":false,"metadata":{"line":636,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"handleOffline","symbolKind":"function","exported":false,"metadata":{"line":645,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"registerLifecycleListeners","symbolKind":"function","exported":false,"metadata":{"line":665,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:document.addEventListener",{"id":"external:document.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.addEventListener"}}],["external:window.addEventListener",{"id":"external:window.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.addEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"unregisterLifecycleListeners","symbolKind":"function","exported":false,"metadata":{"line":674,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:document.removeEventListener",{"id":"external:document.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.removeEventListener"}}],["external:window.removeEventListener",{"id":"external:window.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.removeEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"shouldLogSseEvents","symbolKind":"function","exported":false,"metadata":{"line":683,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:window.localStorage.getItem",{"id":"external:window.localStorage.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.localStorage.getItem"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"broadcastEvent","symbolKind":"function","exported":false,"metadata":{"line":689,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:shouldLogSseEvents",{"id":"symbol-name:shouldLogSseEvents","kind":"symbol","language":"jsts","symbolName":"shouldLogSseEvents","metadata":{"unresolvedName":"shouldLogSseEvents"}}],["external:console.debug",{"id":"external:console.debug","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.debug"}}],["symbol-name:handleEventForSubscriber",{"id":"symbol-name:handleEventForSubscriber","kind":"symbol","language":"jsts","symbolName":"handleEventForSubscriber","metadata":{"unresolvedName":"handleEventForSubscriber"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"handleEventForSubscriber","symbolKind":"function","exported":false,"metadata":{"line":704,"column":1,"cyclomaticComplexity":25,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getMessageInfo",{"id":"symbol-name:getMessageInfo","kind":"symbol","language":"jsts","symbolName":"getMessageInfo","metadata":{"unresolvedName":"getMessageInfo"}}],["external:callbacks.onMessageUpdated",{"id":"external:callbacks.onMessageUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onMessageUpdated"}}],["external:callbacks.onPartUpdated",{"id":"external:callbacks.onPartUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onPartUpdated"}}],["external:callbacks.onPartDelta",{"id":"external:callbacks.onPartDelta","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onPartDelta"}}],["external:callbacks.onPartRemoved",{"id":"external:callbacks.onPartRemoved","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onPartRemoved"}}],["external:callbacks.onSessionUpdated",{"id":"external:callbacks.onSessionUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionUpdated"}}],["external:callbacks.onSessionCreated",{"id":"external:callbacks.onSessionCreated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionCreated"}}],["external:callbacks.onSessionDeleted",{"id":"external:callbacks.onSessionDeleted","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionDeleted"}}],["external:callbacks.onProjectUpdated",{"id":"external:callbacks.onProjectUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onProjectUpdated"}}],["external:callbacks.onSessionError",{"id":"external:callbacks.onSessionError","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionError"}}],["symbol-name:normalizeSessionError",{"id":"symbol-name:normalizeSessionError","kind":"symbol","language":"jsts","symbolName":"normalizeSessionError","metadata":{"unresolvedName":"normalizeSessionError"}}],["external:callbacks.onSessionIdle",{"id":"external:callbacks.onSessionIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionIdle"}}],["external:callbacks.onSessionStatus",{"id":"external:callbacks.onSessionStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onSessionStatus"}}],["external:callbacks.onPermissionAsked",{"id":"external:callbacks.onPermissionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onPermissionAsked"}}],["external:callbacks.onPermissionReplied",{"id":"external:callbacks.onPermissionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onPermissionReplied"}}],["external:callbacks.onQuestionAsked",{"id":"external:callbacks.onQuestionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onQuestionAsked"}}],["external:callbacks.onQuestionReplied",{"id":"external:callbacks.onQuestionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onQuestionReplied"}}],["external:callbacks.onQuestionRejected",{"id":"external:callbacks.onQuestionRejected","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onQuestionRejected"}}],["external:callbacks.onWorktreeReady",{"id":"external:callbacks.onWorktreeReady","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onWorktreeReady"}}],["external:callbacks.onWorktreeFailed",{"id":"external:callbacks.onWorktreeFailed","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onWorktreeFailed"}}],["external:callbacks.onVcsBranchUpdated",{"id":"external:callbacks.onVcsBranchUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onVcsBranchUpdated"}}],["external:callbacks.onTodoUpdated",{"id":"external:callbacks.onTodoUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onTodoUpdated"}}],["symbol-name:normalizeTodoItems",{"id":"symbol-name:normalizeTodoItems","kind":"symbol","language":"jsts","symbolName":"normalizeTodoItems","metadata":{"unresolvedName":"normalizeTodoItems"}}],["external:callbacks.onServerConnected",{"id":"external:callbacks.onServerConnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks.onServerConnected"}}],["symbol-name:normalizeServerConnected",{"id":"symbol-name:normalizeServerConnected","kind":"symbol","language":"jsts","symbolName":"normalizeServerConnected","metadata":{"unresolvedName":"normalizeServerConnected"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"normalizeServerConnected","symbolKind":"function","exported":false,"metadata":{"line":792,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"normalizeSessionError","symbolKind":"function","exported":false,"metadata":{"line":799,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"reconnectSSE","symbolKind":"function","exported":true,"metadata":{"line":838,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","symbolName":"subscribeToEvents","symbolKind":"function","exported":true,"metadata":{"line":878,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:allSubscribers.add",{"id":"external:allSubscribers.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"allSubscribers.add"}}],["external:allSubscribers.delete",{"id":"external:allSubscribers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"allSubscribers.delete"}}],["symbol-name:disconnectSingleton",{"id":"symbol-name:disconnectSingleton","kind":"symbol","language":"jsts","symbolName":"disconnectSingleton","metadata":{"unresolvedName":"disconnectSingleton"}}],["symbol-name:unregisterLifecycleListeners",{"id":"symbol-name:unregisterLifecycleListeners","kind":"symbol","language":"jsts","symbolName":"unregisterLifecycleListeners","metadata":{"unresolvedName":"unregisterLifecycleListeners"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","metadata":{"lineCount":44,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":20,"column":78,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(piClient.post).mockReset",{"id":"external:vi.mocked(piClient.post).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}}],["external:vi.mocked(piClient.delete).mockReset",{"id":"external:vi.mocked(piClient.delete).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockReset"}}],["external:vi.mocked(piClient.post).mockResolvedValue",{"id":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}}],["external:vi.mocked(piClient.delete).mockResolvedValue",{"id":"external:vi.mocked(piClient.delete).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockResolvedValue"}}],["external:expect(getExtensions('/repo')).resolves.toMatchObject",{"id":"external:expect(getExtensions('/repo')).resolves.toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getExtensions('/repo')).resolves.toMatchObject"}}],["symbol-name:getExtensions",{"id":"symbol-name:getExtensions","kind":"symbol","language":"jsts","symbolName":"getExtensions","metadata":{"unresolvedName":"getExtensions"}}],["symbol-name:installExtension",{"id":"symbol-name:installExtension","kind":"symbol","language":"jsts","symbolName":"installExtension","metadata":{"unresolvedName":"installExtension"}}],["symbol-name:removeExtensionPackage",{"id":"symbol-name:removeExtensionPackage","kind":"symbol","language":"jsts","symbolName":"removeExtensionPackage","metadata":{"unresolvedName":"removeExtensionPackage"}}],["external:expect(piClient.get).toHaveBeenCalledWith",{"id":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}}],["external:expect(piClient.post).toHaveBeenCalledWith",{"id":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}}],["external:expect(piClient.delete).toHaveBeenCalledWith",{"id":"external:expect(piClient.delete).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.delete).toHaveBeenCalledWith"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts","metadata":{"lineCount":60,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","symbolName":"withDirectoryQuery","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","symbolName":"getExtensions","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:withDirectoryQuery",{"id":"symbol-name:withDirectoryQuery","kind":"symbol","language":"jsts","symbolName":"withDirectoryQuery","metadata":{"unresolvedName":"withDirectoryQuery"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","symbolName":"installExtension","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","symbolName":"removeExtensionPackage","symbolKind":"function","exported":true,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:piClient.delete",{"id":"external:piClient.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"piClient.delete"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","metadata":{"lineCount":152,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:isRootDirectoryPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:isRootDirectoryPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"isRootDirectoryPath","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"getRootDirectoryCacheKey","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"fetchDirectory","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:/^[a-zA-Z]:/.test",{"id":"external:/^[a-zA-Z]:/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^[a-zA-Z]:/.test"}}],["external:path.startsWith",{"id":"external:path.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"searchFiles","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"listDirectory","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isRootDirectoryPath",{"id":"symbol-name:isRootDirectoryPath","kind":"symbol","language":"jsts","symbolName":"isRootDirectoryPath","metadata":{"unresolvedName":"isRootDirectoryPath"}}],["symbol-name:fetchDirectory",{"id":"symbol-name:fetchDirectory","kind":"symbol","language":"jsts","symbolName":"fetchDirectory","metadata":{"unresolvedName":"fetchDirectory"}}],["symbol-name:getRootDirectoryCacheKey",{"id":"symbol-name:getRootDirectoryCacheKey","kind":"symbol","language":"jsts","symbolName":"getRootDirectoryCacheKey","metadata":{"unresolvedName":"getRootDirectoryCacheKey"}}],["external:rootDirectoryCache.get",{"id":"external:rootDirectoryCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryCache.get"}}],["external:rootDirectoryInflight.get",{"id":"external:rootDirectoryInflight.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryInflight.get"}}],["external:fetchDirectory(path === '' ? '.' : path, directory)\n .then",{"id":"external:fetchDirectory(path === '' ? '.' : path, directory)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetchDirectory(path === '' ? '.' : path, directory)\n .then"}}],["external:rootDirectoryCache.set",{"id":"external:rootDirectoryCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryCache.set"}}],["external:rootDirectoryInflight.delete",{"id":"external:rootDirectoryInflight.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryInflight.delete"}}],["external:rootDirectoryInflight.set",{"id":"external:rootDirectoryInflight.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryInflight.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":82,"column":14,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"prefetchRootDirectory","symbolKind":"function","exported":true,"metadata":{"line":90,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:listDirectory",{"id":"symbol-name:listDirectory","kind":"symbol","language":"jsts","symbolName":"listDirectory","metadata":{"unresolvedName":"listDirectory"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"getFileContent","symbolKind":"function","exported":true,"metadata":{"line":97,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"getFileStatus","symbolKind":"function","exported":true,"metadata":{"line":119,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"searchSymbols","symbolKind":"function","exported":true,"metadata":{"line":132,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchDirectories",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchDirectories","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","symbolName":"searchDirectories","symbolKind":"function","exported":true,"metadata":{"line":145,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:searchFiles",{"id":"symbol-name:searchFiles","kind":"symbol","language":"jsts","symbolName":"searchFiles","metadata":{"unresolvedName":"searchFiles"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","metadata":{"lineCount":47,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:getHealth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:getHealth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","symbolName":"getHealth","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeGlobal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeGlobal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","symbolName":"disposeGlobal","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","symbolName":"disposeInstance","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","metadata":{"lineCount":42,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":37,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(buildQueryString({})).toBe",{"id":"external:expect(buildQueryString({})).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buildQueryString({})).toBe"}}],["symbol-name:buildQueryString",{"id":"symbol-name:buildQueryString","kind":"symbol","language":"jsts","symbolName":"buildQueryString","metadata":{"unresolvedName":"buildQueryString"}}],["external:expect(buildQueryString({ a: 'hello', b: undefined })).toBe",{"id":"external:expect(buildQueryString({ a: 'hello', b: undefined })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buildQueryString({ a: 'hello', b: undefined })).toBe"}}],["external:expect(result).toBe",{"id":"external:expect(result).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","symbolName":"getApiBaseUrl","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:serverStore.getActiveBaseUrl",{"id":"external:serverStore.getActiveBaseUrl","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","symbolName":"getAuthHeader","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:serverStore.getActiveToken",{"id":"external:serverStore.getActiveToken","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveToken"}}],["external:serverStore.getActiveAuth",{"id":"external:serverStore.getActiveAuth","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveAuth"}}],["symbol-name:makeBasicAuthHeader",{"id":"symbol-name:makeBasicAuthHeader","kind":"symbol","language":"jsts","symbolName":"makeBasicAuthHeader","metadata":{"unresolvedName":"makeBasicAuthHeader"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","symbolName":"buildQueryString","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:parts.push",{"id":"external:parts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.push"}}],["external:parts.join",{"id":"external:parts.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.join"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/index.ts","metadata":{"lineCount":4,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","metadata":{"lineCount":30,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getLspStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getLspStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","symbolName":"getLspStatus","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getFormatterStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getFormatterStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","symbolName":"getFormatterStatus","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","metadata":{"lineCount":41,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","metadata":{"lineCount":63,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":16,"column":71,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getMcpStatus",{"id":"symbol-name:getMcpStatus","kind":"symbol","language":"jsts","symbolName":"getMcpStatus","metadata":{"unresolvedName":"getMcpStatus"}}],["external:expect(status.servers.context7).toMatchObject",{"id":"external:expect(status.servers.context7).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(status.servers.context7).toMatchObject"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"getMcpStatus","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"addMcpServer","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"connectMcpServer","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"disconnectMcpServer","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"startMcpAuth","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:Promise.reject",{"id":"external:Promise.reject","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.reject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:removeMcpAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:removeMcpAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"removeMcpAuth","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:completeMcpAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:completeMcpAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"completeMcpAuth","symbolKind":"function","exported":true,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","symbolName":"authenticateMcp","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","metadata":{"lineCount":157,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isTextUserContentPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isTextUserContentPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"isTextUserContentPart","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isFileUserContentPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isFileUserContentPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"isFileUserContentPart","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isAgentUserContentPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isAgentUserContentPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"isAgentUserContentPart","symbolKind":"function","exported":false,"metadata":{"line":37,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"getSessionMessages","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessageCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessageCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"getSessionMessageCount","symbolKind":"function","exported":true,"metadata":{"line":66,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:getSessionMessages",{"id":"symbol-name:getSessionMessages","kind":"symbol","language":"jsts","symbolName":"getSessionMessages","metadata":{"unresolvedName":"getSessionMessages"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"extractUserMessageContent","symbolKind":"function","exported":true,"metadata":{"line":78,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:parts.filter",{"id":"external:parts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.filter"}}],["symbol-name:isTextUserContentPart",{"id":"symbol-name:isTextUserContentPart","kind":"symbol","language":"jsts","symbolName":"isTextUserContentPart","metadata":{"unresolvedName":"isTextUserContentPart"}}],["external:textParts.map(p => p.text).join",{"id":"external:textParts.map(p => p.text).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"textParts.map(p => p.text).join"}}],["external:textParts.map",{"id":"external:textParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"textParts.map"}}],["symbol-name:isFileUserContentPart",{"id":"symbol-name:isFileUserContentPart","kind":"symbol","language":"jsts","symbolName":"isFileUserContentPart","metadata":{"unresolvedName":"isFileUserContentPart"}}],["symbol-name:getSourcePath",{"id":"symbol-name:getSourcePath","kind":"symbol","language":"jsts","symbolName":"getSourcePath","metadata":{"unresolvedName":"getSourcePath"}}],["external:attachments.push",{"id":"external:attachments.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachments.push"}}],["external:crypto.randomUUID",{"id":"external:crypto.randomUUID","kind":"external","language":"jsts","metadata":{"unresolvedName":"crypto.randomUUID"}}],["symbol-name:isAgentUserContentPart",{"id":"symbol-name:isAgentUserContentPart","kind":"symbol","language":"jsts","symbolName":"isAgentUserContentPart","metadata":{"unresolvedName":"isAgentUserContentPart"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSourcePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSourcePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"getSourcePath","symbolKind":"function","exported":false,"metadata":{"line":86,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"sendMessage","symbolKind":"function","exported":true,"metadata":{"line":137,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","symbolName":"sendMessageAsync","symbolKind":"function","exported":true,"metadata":{"line":149,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","metadata":{"lineCount":11,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":33,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getNetworkAccess",{"id":"symbol-name:getNetworkAccess","kind":"symbol","language":"jsts","symbolName":"getNetworkAccess","metadata":{"unresolvedName":"getNetworkAccess"}}],["external:expect(info.primaryLanUrl).toBe",{"id":"external:expect(info.primaryLanUrl).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(info.primaryLanUrl).toBe"}}],["symbol-name:updateNetworkAccess",{"id":"symbol-name:updateNetworkAccess","kind":"symbol","language":"jsts","symbolName":"updateNetworkAccess","metadata":{"unresolvedName":"updateNetworkAccess"}}],["external:expect(info.lanAccessEnabled).toBe",{"id":"external:expect(info.lanAccessEnabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(info.lanAccessEnabled).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts","metadata":{"lineCount":13,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","symbolName":"getNetworkAccess","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","symbolName":"updateNetworkAccess","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","metadata":{"lineCount":112,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","symbolName":"getPendingPermissions","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:permissions.filter",{"id":"external:permissions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"permissions.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","symbolName":"replyPermission","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","symbolName":"getPendingQuestions","symbolKind":"function","exported":true,"metadata":{"line":67,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:questions.filter",{"id":"external:questions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"questions.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","symbolName":"replyQuestion","symbolKind":"function","exported":true,"metadata":{"line":81,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","symbolName":"rejectQuestion","symbolKind":"function","exported":true,"metadata":{"line":101,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","metadata":{"lineCount":52,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":36,"column":80,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:localStorage.clear",{"id":"external:localStorage.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.clear"}}],["external:sessionStorage.clear",{"id":"external:sessionStorage.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.clear"}}],["external:vi.spyOn(serverStore, 'isPiMode').mockReturnValue",{"id":"external:vi.spyOn(serverStore, 'isPiMode').mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'isPiMode').mockReturnValue"}}],["external:vi.spyOn",{"id":"external:vi.spyOn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn"}}],["external:vi.spyOn(serverStore, 'getActiveToken').mockReturnValue",{"id":"external:vi.spyOn(serverStore, 'getActiveToken').mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveToken').mockReturnValue"}}],["external:vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue",{"id":"external:vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue"}}],["external:vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation",{"id":"external:vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation"}}],["external:vi\n .spyOn",{"id":"external:vi\n .spyOn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n .spyOn"}}],["external:expect(result.ok).toBe",{"id":"external:expect(result.ok).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.ok).toBe"}}],["external:expect(fetchSpy).toHaveBeenCalledWith",{"id":"external:expect(fetchSpy).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fetchSpy).toHaveBeenCalledWith"}}],["external:vi.spyOn(globalThis, 'fetch').mockImplementation",{"id":"external:vi.spyOn(globalThis, 'fetch').mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(globalThis, 'fetch').mockImplementation"}}],["external:expect(piClient.get('/api/vcs/status')).rejects.toThrow",{"id":"external:expect(piClient.get('/api/vcs/status')).rejects.toThrow","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.get('/api/vcs/status')).rejects.toThrow"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"getTauriFetch","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"getFetch","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getTauriFetch",{"id":"symbol-name:getTauriFetch","kind":"symbol","language":"jsts","symbolName":"getTauriFetch","metadata":{"unresolvedName":"getTauriFetch"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"buildHeaders","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:btoa",{"id":"symbol-name:btoa","kind":"symbol","language":"jsts","symbolName":"btoa","metadata":{"unresolvedName":"btoa"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"getResponseErrorMessage","symbolKind":"function","exported":false,"metadata":{"line":42,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:response.text",{"id":"external:response.text","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.text"}}],["external:data.error.trim",{"id":"external:data.error.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.error.trim"}}],["external:data.message.trim",{"id":"external:data.message.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.message.trim"}}],["external:text.trim",{"id":"external:text.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"throwIfNotOk","symbolKind":"function","exported":false,"metadata":{"line":63,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getResponseErrorMessage",{"id":"symbol-name:getResponseErrorMessage","kind":"symbol","language":"jsts","symbolName":"getResponseErrorMessage","metadata":{"unresolvedName":"getResponseErrorMessage"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":69,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:buildHeaders",{"id":"symbol-name:buildHeaders","kind":"symbol","language":"jsts","symbolName":"buildHeaders","metadata":{"unresolvedName":"buildHeaders"}}],["symbol-name:getFetch",{"id":"symbol-name:getFetch","kind":"symbol","language":"jsts","symbolName":"getFetch","metadata":{"unresolvedName":"getFetch"}}],["symbol-name:f",{"id":"symbol-name:f","kind":"symbol","language":"jsts","symbolName":"f","metadata":{"unresolvedName":"f"}}],["symbol-name:throwIfNotOk",{"id":"symbol-name:throwIfNotOk","kind":"symbol","language":"jsts","symbolName":"throwIfNotOk","metadata":{"unresolvedName":"throwIfNotOk"}}],["external:response.json",{"id":"external:response.json","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.json"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"post","symbolKind":"function","exported":false,"metadata":{"line":84,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","symbolName":"delete","symbolKind":"function","exported":false,"metadata":{"line":100,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts","metadata":{"lineCount":52,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","metadata":{"lineCount":273,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","metadata":{"lineCount":54,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts","metadata":{"lineCount":30,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"listPtySessions","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"createPtySession","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtySession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtySession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"getPtySession","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"updatePtySession","symbolKind":"function","exported":true,"metadata":{"line":37,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"removePtySession","symbolKind":"function","exported":true,"metadata":{"line":44,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","symbolName":"getPtyConnectUrl","symbolKind":"function","exported":true,"metadata":{"line":51,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","metadata":{"lineCount":26,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","symbolName":"connectTauriPty","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onError",{"id":"symbol-name:onError","kind":"symbol","language":"jsts","symbolName":"onError","metadata":{"unresolvedName":"onError"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:send",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:send","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","symbolName":"send","symbolKind":"function","exported":false,"metadata":{"line":22,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:close",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:close","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":23,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","metadata":{"lineCount":45,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","metadata":{"lineCount":216,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":16,"column":65,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:getSessionContextUsage",{"id":"symbol-name:getSessionContextUsage","kind":"symbol","language":"jsts","symbolName":"getSessionContextUsage","metadata":{"unresolvedName":"getSessionContextUsage"}}],["external:expect(usage).toMatchObject",{"id":"external:expect(usage).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(usage).toMatchObject"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","metadata":{"lineCount":43,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"fallbackSessionTitle","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessionStatus","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessionDiff","symbolKind":"function","exported":true,"metadata":{"line":37,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getLastTurnDiff","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessionContextUsage","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessions","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:fallbackSessionTitle",{"id":"symbol-name:fallbackSessionTitle","kind":"symbol","language":"jsts","symbolName":"fallbackSessionTitle","metadata":{"unresolvedName":"fallbackSessionTitle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSession","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"createSession","symbolKind":"function","exported":true,"metadata":{"line":86,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"updateSession","symbolKind":"function","exported":true,"metadata":{"line":107,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"deleteSession","symbolKind":"function","exported":true,"metadata":{"line":122,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"abortSession","symbolKind":"function","exported":true,"metadata":{"line":130,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"revertMessage","symbolKind":"function","exported":true,"metadata":{"line":139,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"unrevertSession","symbolKind":"function","exported":true,"metadata":{"line":155,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"shareSession","symbolKind":"function","exported":true,"metadata":{"line":166,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"unshareSession","symbolKind":"function","exported":true,"metadata":{"line":177,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"forkSession","symbolKind":"function","exported":true,"metadata":{"line":188,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"summarizeSession","symbolKind":"function","exported":true,"metadata":{"line":199,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessionChildren","symbolKind":"function","exported":true,"metadata":{"line":207,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","symbolName":"getSessionTodos","symbolKind":"function","exported":true,"metadata":{"line":213,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","metadata":{"lineCount":36,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","metadata":{"lineCount":19,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":16,"column":63,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getSkills",{"id":"symbol-name:getSkills","kind":"symbol","language":"jsts","symbolName":"getSkills","metadata":{"unresolvedName":"getSkills"}}],["external:expect(skills[0]).toMatchObject",{"id":"external:expect(skills[0]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(skills[0]).toMatchObject"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts","metadata":{"lineCount":13,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","symbolName":"getSkills","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","metadata":{"lineCount":20,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":13,"column":46,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(parser.push('data: {\"text\":\"中')).toEqual",{"id":"external:expect(parser.push('data: {\"text\":\"中')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parser.push('data: {\"text\":\"中')).toEqual"}}],["external:parser.push",{"id":"external:parser.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"parser.push"}}],["external:expect(parser.push('文\"}\\n')).toEqual",{"id":"external:expect(parser.push('文\"}\\n')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parser.push('文\"}\\n')).toEqual"}}],["external:expect(parser.push('data: 第二行\\n\\n')).toEqual",{"id":"external:expect(parser.push('data: 第二行\\n\\n')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parser.push('data: 第二行\\n\\n')).toEqual"}}],["external:expect(parser.push('data: 你好\\r\\n')).toEqual",{"id":"external:expect(parser.push('data: 你好\\r\\n')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parser.push('data: 你好\\r\\n')).toEqual"}}],["external:expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual",{"id":"external:expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","symbolName":"createSseTextParser","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:buffer.replace(/\\r\\n/g, '\\n').replace",{"id":"external:buffer.replace(/\\r\\n/g, '\\n').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"buffer.replace(/\\r\\n/g, '\\n').replace"}}],["external:buffer.replace",{"id":"external:buffer.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"buffer.replace"}}],["external:buffer.split",{"id":"external:buffer.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"buffer.split"}}],["external:blocks.pop",{"id":"external:blocks.pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"blocks.pop"}}],["external:block.split",{"id":"external:block.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"block.split"}}],["external:dataLines.push",{"id":"external:dataLines.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"dataLines.push"}}],["external:events.push",{"id":"external:events.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"events.push"}}],["external:dataLines.join",{"id":"external:dataLines.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"dataLines.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","symbolName":"push","symbolKind":"function","exported":false,"metadata":{"line":9,"column":5,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","metadata":{"lineCount":94,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","metadata":{"lineCount":45,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":61,"column":63,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue",{"id":"external:vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue"}}],["external:vi.mocked(serverStore.getActiveToken).mockReturnValue",{"id":"external:vi.mocked(serverStore.getActiveToken).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveToken).mockReturnValue"}}],["external:expect((await getSttSettings()).apiKeyConfigured).toBe",{"id":"external:expect((await getSttSettings()).apiKeyConfigured).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((await getSttSettings()).apiKeyConfigured).toBe"}}],["symbol-name:getSttSettings",{"id":"symbol-name:getSttSettings","kind":"symbol","language":"jsts","symbolName":"getSttSettings","metadata":{"unresolvedName":"getSttSettings"}}],["external:expect(updated.language).toBe",{"id":"external:expect(updated.language).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updated.language).toBe"}}],["external:expect(fetchMock).toHaveBeenCalledWith",{"id":"external:expect(fetchMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(fetchMock).toHaveBeenCalledWith"}}],["external:expect(result.text).toBe",{"id":"external:expect(result.text).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.text).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","symbolName":"getSttSettings","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:updateSttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:updateSttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","symbolName":"updateSttSettings","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","symbolName":"buildUploadHeaders","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","symbolName":"transcribeAudio","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:buildUploadHeaders",{"id":"symbol-name:buildUploadHeaders","kind":"symbol","language":"jsts","symbolName":"buildUploadHeaders","metadata":{"unresolvedName":"buildUploadHeaders"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"buildTodoId","symbolKind":"function","exported":false,"metadata":{"line":9,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:String(todo.content ?? '').slice",{"id":"external:String(todo.content ?? '').slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"String(todo.content ?? '').slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"isTodoStatus","symbolKind":"function","exported":false,"metadata":{"line":16,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoPriority",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoPriority","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"isTodoPriority","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"normalizeTodoStatus","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isTodoStatus",{"id":"symbol-name:isTodoStatus","kind":"symbol","language":"jsts","symbolName":"isTodoStatus","metadata":{"unresolvedName":"isTodoStatus"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"normalizeTodoPriority","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isTodoPriority",{"id":"symbol-name:isTodoPriority","kind":"symbol","language":"jsts","symbolName":"isTodoPriority","metadata":{"unresolvedName":"isTodoPriority"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","symbolName":"normalizeTodoItems","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(todos ?? []).map",{"id":"external:(todos ?? []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(todos ?? []).map"}}],["symbol-name:buildTodoId",{"id":"symbol-name:buildTodoId","kind":"symbol","language":"jsts","symbolName":"buildTodoId","metadata":{"unresolvedName":"buildTodoId"}}],["symbol-name:normalizeTodoStatus",{"id":"symbol-name:normalizeTodoStatus","kind":"symbol","language":"jsts","symbolName":"normalizeTodoStatus","metadata":{"unresolvedName":"normalizeTodoStatus"}}],["symbol-name:normalizeTodoPriority",{"id":"symbol-name:normalizeTodoPriority","kind":"symbol","language":"jsts","symbolName":"normalizeTodoPriority","metadata":{"unresolvedName":"normalizeTodoPriority"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","metadata":{"lineCount":33,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts","metadata":{"lineCount":10,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","symbolName":"getToolIds","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","symbolName":"getTools","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","metadata":{"lineCount":39,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts","metadata":{"lineCount":29,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","symbolName":"getTtsSettings","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:updateTtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:updateTtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","symbolName":"updateTtsSettings","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","symbolName":"buildSpeechHeaders","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","symbolName":"synthesizeSpeech","symbolKind":"function","exported":true,"metadata":{"line":26,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:buildSpeechHeaders",{"id":"symbol-name:buildSpeechHeaders","kind":"symbol","language":"jsts","symbolName":"buildSpeechHeaders","metadata":{"unresolvedName":"buildSpeechHeaders"}}],["external:response.blob",{"id":"external:response.blob","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.blob"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","metadata":{"lineCount":110,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","metadata":{"lineCount":62,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","metadata":{"lineCount":90,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":40,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(piClient.get)\n .mockResolvedValueOnce",{"id":"external:vi.mocked(piClient.get)\n .mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(piClient.get)\n .mockResolvedValueOnce"}}],["symbol-name:getVcsStatus",{"id":"symbol-name:getVcsStatus","kind":"symbol","language":"jsts","symbolName":"getVcsStatus","metadata":{"unresolvedName":"getVcsStatus"}}],["symbol-name:getVcsBranches",{"id":"symbol-name:getVcsBranches","kind":"symbol","language":"jsts","symbolName":"getVcsBranches","metadata":{"unresolvedName":"getVcsBranches"}}],["external:expect(piClient.get).toHaveBeenNthCalledWith",{"id":"external:expect(piClient.get).toHaveBeenNthCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenNthCalledWith"}}],["external:expect(piClient.post).toHaveBeenNthCalledWith",{"id":"external:expect(piClient.post).toHaveBeenNthCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenNthCalledWith"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","metadata":{"lineCount":61,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"directoryQuery","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"getVcsInfo","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:directoryQuery",{"id":"symbol-name:directoryQuery","kind":"symbol","language":"jsts","symbolName":"directoryQuery","metadata":{"unresolvedName":"directoryQuery"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"getVcsDiff","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"getVcsStatus","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"getVcsBranches","symbolKind":"function","exported":true,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"checkoutGitBranch","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"createGitBranch","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"stageGitPaths","symbolKind":"function","exported":true,"metadata":{"line":68,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"unstageGitPaths","symbolKind":"function","exported":true,"metadata":{"line":72,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"commitGitChanges","symbolKind":"function","exported":true,"metadata":{"line":76,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"pullGitBranch","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","symbolName":"pushGitBranch","symbolKind":"function","exported":true,"metadata":{"line":87,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","metadata":{"lineCount":35,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts","metadata":{"lineCount":20,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","symbolName":"listWorktrees","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","symbolName":"createWorktree","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","symbolName":"removeWorktree","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","symbolName":"resetWorktree","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","metadata":{"lineCount":632,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:react",{"id":"external:react","kind":"external","language":"jsts","metadata":{"source":"react"}}],["external:react-i18next",{"id":"external:react-i18next","kind":"external","language":"jsts","metadata":{"source":"react-i18next"}}],["external:@tauri-apps/api/core",{"id":"external:@tauri-apps/api/core","kind":"external","language":"jsts","metadata":{"source":"@tauri-apps/api/core"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","metadata":{"lineCount":911,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","metadata":{"lineCount":206,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","metadata":{"lineCount":308,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","metadata":{"lineCount":219,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","metadata":{"lineCount":270,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","metadata":{"lineCount":325,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","metadata":{"lineCount":191,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","metadata":{"lineCount":78,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","metadata":{"lineCount":51,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","metadata":{"lineCount":47,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","metadata":{"lineCount":144,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","metadata":{"lineCount":790,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","metadata":{"lineCount":372,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","metadata":{"lineCount":1294,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","metadata":{"lineCount":431,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"App","symbolKind":"function","exported":false,"metadata":{"line":50,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useTranslation",{"id":"symbol-name:useTranslation","kind":"symbol","language":"jsts","symbolName":"useTranslation","metadata":{"unresolvedName":"useTranslation"}}],["symbol-name:useRouter",{"id":"symbol-name:useRouter","kind":"symbol","language":"jsts","symbolName":"useRouter","metadata":{"unresolvedName":"useRouter"}}],["symbol-name:useDirectory",{"id":"symbol-name:useDirectory","kind":"symbol","language":"jsts","symbolName":"useDirectory","metadata":{"unresolvedName":"useDirectory"}}],["symbol-name:useLayoutStore",{"id":"symbol-name:useLayoutStore","kind":"symbol","language":"jsts","symbolName":"useLayoutStore","metadata":{"unresolvedName":"useLayoutStore"}}],["symbol-name:useChatViewportController",{"id":"symbol-name:useChatViewportController","kind":"symbol","language":"jsts","symbolName":"useChatViewportController","metadata":{"unresolvedName":"useChatViewportController"}}],["symbol-name:canUseSplitPane",{"id":"symbol-name:canUseSplitPane","kind":"symbol","language":"jsts","symbolName":"canUseSplitPane","metadata":{"unresolvedName":"canUseSplitPane"}}],["symbol-name:usePaneLayout",{"id":"symbol-name:usePaneLayout","kind":"symbol","language":"jsts","symbolName":"usePaneLayout","metadata":{"unresolvedName":"usePaneLayout"}}],["symbol-name:usePaneController",{"id":"symbol-name:usePaneController","kind":"symbol","language":"jsts","symbolName":"usePaneController","metadata":{"unresolvedName":"usePaneController"}}],["symbol-name:usePaneControllers",{"id":"symbol-name:usePaneControllers","kind":"symbol","language":"jsts","symbolName":"usePaneControllers","metadata":{"unresolvedName":"usePaneControllers"}}],["symbol-name:useRef",{"id":"symbol-name:useRef","kind":"symbol","language":"jsts","symbolName":"useRef","metadata":{"unresolvedName":"useRef"}}],["symbol-name:useEffect",{"id":"symbol-name:useEffect","kind":"symbol","language":"jsts","symbolName":"useEffect","metadata":{"unresolvedName":"useEffect"}}],["symbol-name:initNotificationSound",{"id":"symbol-name:initNotificationSound","kind":"symbol","language":"jsts","symbolName":"initNotificationSound","metadata":{"unresolvedName":"initNotificationSound"}}],["symbol-name:isTauriMobile",{"id":"symbol-name:isTauriMobile","kind":"symbol","language":"jsts","symbolName":"isTauriMobile","metadata":{"unresolvedName":"isTauriMobile"}}],["external:invoke('desktop_window_ready').catch",{"id":"external:invoke('desktop_window_ready').catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"invoke('desktop_window_ready').catch"}}],["external:updateStore.checkForUpdates",{"id":"external:updateStore.checkForUpdates","kind":"external","language":"jsts","metadata":{"unresolvedName":"updateStore.checkForUpdates"}}],["symbol-name:useViewportHeight",{"id":"symbol-name:useViewportHeight","kind":"symbol","language":"jsts","symbolName":"useViewportHeight","metadata":{"unresolvedName":"useViewportHeight"}}],["symbol-name:useWakeLock",{"id":"symbol-name:useWakeLock","kind":"symbol","language":"jsts","symbolName":"useWakeLock","metadata":{"unresolvedName":"useWakeLock"}}],["symbol-name:useMemo",{"id":"symbol-name:useMemo","kind":"symbol","language":"jsts","symbolName":"useMemo","metadata":{"unresolvedName":"useMemo"}}],["symbol-name:collectActiveDirectories",{"id":"symbol-name:collectActiveDirectories","kind":"symbol","language":"jsts","symbolName":"collectActiveDirectories","metadata":{"unresolvedName":"collectActiveDirectories"}}],["external:paneControllers\r\n .map",{"id":"external:paneControllers\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllers\r\n .map"}}],["external:savedDirectories.map",{"id":"external:savedDirectories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedDirectories.map"}}],["symbol-name:useGlobalEvents",{"id":"symbol-name:useGlobalEvents","kind":"symbol","language":"jsts","symbolName":"useGlobalEvents","metadata":{"unresolvedName":"useGlobalEvents"}}],["external:paneLayoutStore.getFocusedSessionId",{"id":"external:paneLayoutStore.getFocusedSessionId","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}}],["external:paneLayoutStore.setFocusedSession",{"id":"external:paneLayoutStore.setFocusedSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.setFocusedSession"}}],["symbol-name:isSameDirectory",{"id":"symbol-name:isSameDirectory","kind":"symbol","language":"jsts","symbolName":"isSameDirectory","metadata":{"unresolvedName":"isSameDirectory"}}],["symbol-name:replaceSession",{"id":"symbol-name:replaceSession","kind":"symbol","language":"jsts","symbolName":"replaceSession","metadata":{"unresolvedName":"replaceSession"}}],["symbol-name:useCallback",{"id":"symbol-name:useCallback","kind":"symbol","language":"jsts","symbolName":"useCallback","metadata":{"unresolvedName":"useCallback"}}],["external:paneLayoutStore.focusPane",{"id":"external:paneLayoutStore.focusPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}}],["external:paneLayoutStore.setPaneSession",{"id":"external:paneLayoutStore.setPaneSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.setPaneSession"}}],["symbol-name:navigateRouteToSession",{"id":"symbol-name:navigateRouteToSession","kind":"symbol","language":"jsts","symbolName":"navigateRouteToSession","metadata":{"unresolvedName":"navigateRouteToSession"}}],["symbol-name:navigateRouteHome",{"id":"symbol-name:navigateRouteHome","kind":"symbol","language":"jsts","symbolName":"navigateRouteHome","metadata":{"unresolvedName":"navigateRouteHome"}}],["external:paneLayoutStore.getFocusedPaneId",{"id":"external:paneLayoutStore.getFocusedPaneId","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}}],["symbol-name:navigatePaneToSession",{"id":"symbol-name:navigatePaneToSession","kind":"symbol","language":"jsts","symbolName":"navigatePaneToSession","metadata":{"unresolvedName":"navigatePaneToSession"}}],["symbol-name:navigatePaneHome",{"id":"symbol-name:navigatePaneHome","kind":"symbol","language":"jsts","symbolName":"navigatePaneHome","metadata":{"unresolvedName":"navigatePaneHome"}}],["external:paneLayoutStore.enterSplitMode",{"id":"external:paneLayoutStore.enterSplitMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.enterSplitMode"}}],["external:paneLayoutStore.togglePaneFullscreen",{"id":"external:paneLayoutStore.togglePaneFullscreen","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.togglePaneFullscreen"}}],["symbol-name:setSidebarExpanded",{"id":"symbol-name:setSidebarExpanded","kind":"symbol","language":"jsts","symbolName":"setSidebarExpanded","metadata":{"unresolvedName":"setSidebarExpanded"}}],["symbol-name:useState",{"id":"symbol-name:useState","kind":"symbol","language":"jsts","symbolName":"useState","metadata":{"unresolvedName":"useState"}}],["symbol-name:setSettingsInitialTab",{"id":"symbol-name:setSettingsInitialTab","kind":"symbol","language":"jsts","symbolName":"setSettingsInitialTab","metadata":{"unresolvedName":"setSettingsInitialTab"}}],["symbol-name:setSettingsDialogOpen",{"id":"symbol-name:setSettingsDialogOpen","kind":"symbol","language":"jsts","symbolName":"setSettingsDialogOpen","metadata":{"unresolvedName":"setSettingsDialogOpen"}}],["symbol-name:openSettingsTab",{"id":"symbol-name:openSettingsTab","kind":"symbol","language":"jsts","symbolName":"openSettingsTab","metadata":{"unresolvedName":"openSettingsTab"}}],["symbol-name:setProjectDialogOpen",{"id":"symbol-name:setProjectDialogOpen","kind":"symbol","language":"jsts","symbolName":"setProjectDialogOpen","metadata":{"unresolvedName":"setProjectDialogOpen"}}],["symbol-name:openProject",{"id":"symbol-name:openProject","kind":"symbol","language":"jsts","symbolName":"openProject","metadata":{"unresolvedName":"openProject"}}],["symbol-name:openSettings",{"id":"symbol-name:openSettings","kind":"symbol","language":"jsts","symbolName":"openSettings","metadata":{"unresolvedName":"openSettings"}}],["symbol-name:createPtySession",{"id":"symbol-name:createPtySession","kind":"symbol","language":"jsts","symbolName":"createPtySession","metadata":{"unresolvedName":"createPtySession"}}],["symbol-name:t",{"id":"symbol-name:t","kind":"symbol","language":"jsts","symbolName":"t","metadata":{"unresolvedName":"t"}}],["external:layoutStore.addTerminalTab",{"id":"external:layoutStore.addTerminalTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}}],["symbol-name:uiErrorHandler",{"id":"symbol-name:uiErrorHandler","kind":"symbol","language":"jsts","symbolName":"uiErrorHandler","metadata":{"unresolvedName":"uiErrorHandler"}}],["symbol-name:setCommandPaletteOpen",{"id":"symbol-name:setCommandPaletteOpen","kind":"symbol","language":"jsts","symbolName":"setCommandPaletteOpen","metadata":{"unresolvedName":"setCommandPaletteOpen"}}],["external:layoutStore.toggleRightPanel",{"id":"external:layoutStore.toggleRightPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}}],["external:document.querySelector",{"id":"external:document.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector"}}],["external:input?.focus",{"id":"external:input?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"input?.focus"}}],["external:focusedController?.newSession",{"id":"external:focusedController?.newSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.newSession"}}],["external:focusedController?.archiveSession",{"id":"external:focusedController?.archiveSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.archiveSession"}}],["external:focusedController?.previousSession",{"id":"external:focusedController?.previousSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.previousSession"}}],["external:focusedController?.nextSession",{"id":"external:focusedController?.nextSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.nextSession"}}],["external:layoutStore.toggleBottomPanel",{"id":"external:layoutStore.toggleBottomPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}}],["external:focusedController?.openModelSelector",{"id":"external:focusedController?.openModelSelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.openModelSelector"}}],["external:focusedController?.toggleAgent",{"id":"external:focusedController?.toggleAgent","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.toggleAgent"}}],["external:focusedController?.cancelMessage",{"id":"external:focusedController?.cancelMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.cancelMessage"}}],["external:focusedController?.copyLastResponse",{"id":"external:focusedController?.copyLastResponse","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.copyLastResponse"}}],["external:focusedController?.toggleFullAuto",{"id":"external:focusedController?.toggleFullAuto","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusedController?.toggleFullAuto"}}],["external:paneLayoutStore.focusNextPane",{"id":"external:paneLayoutStore.focusNextPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.focusNextPane"}}],["symbol-name:requestAnimationFrame",{"id":"symbol-name:requestAnimationFrame","kind":"symbol","language":"jsts","symbolName":"requestAnimationFrame","metadata":{"unresolvedName":"requestAnimationFrame"}}],["external:paneLayoutStore.focusPrevPane",{"id":"external:paneLayoutStore.focusPrevPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.focusPrevPane"}}],["external:paneLayoutStore.splitPane",{"id":"external:paneLayoutStore.splitPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}}],["external:paneLayoutStore.closePane",{"id":"external:paneLayoutStore.closePane","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.closePane"}}],["symbol-name:handleToggleFocusedPaneFullscreen",{"id":"symbol-name:handleToggleFocusedPaneFullscreen","kind":"symbol","language":"jsts","symbolName":"handleToggleFocusedPaneFullscreen","metadata":{"unresolvedName":"handleToggleFocusedPaneFullscreen"}}],["symbol-name:useGlobalKeybindings",{"id":"symbol-name:useGlobalKeybindings","kind":"symbol","language":"jsts","symbolName":"useGlobalKeybindings","metadata":{"unresolvedName":"useGlobalKeybindings"}}],["external:keybindingStore.getKey",{"id":"external:keybindingStore.getKey","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.getKey"}}],["symbol-name:getShortcut",{"id":"symbol-name:getShortcut","kind":"symbol","language":"jsts","symbolName":"getShortcut","metadata":{"unresolvedName":"getShortcut"}}],["symbol-name:useCloseServiceDialog",{"id":"symbol-name:useCloseServiceDialog","kind":"symbol","language":"jsts","symbolName":"useCloseServiceDialog","metadata":{"unresolvedName":"useCloseServiceDialog"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":347,"column":43,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"focusInput","symbolKind":"function","exported":false,"metadata":{"line":279,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"focusNextPane","symbolKind":"function","exported":false,"metadata":{"line":295,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"focusPrevPane","symbolKind":"function","exported":false,"metadata":{"line":305,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"splitRight","symbolKind":"function","exported":false,"metadata":{"line":315,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"splitDown","symbolKind":"function","exported":false,"metadata":{"line":319,"column":18,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"closePane","symbolKind":"function","exported":false,"metadata":{"line":323,"column":18,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:togglePaneFullscreen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:togglePaneFullscreen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"togglePaneFullscreen","symbolKind":"function","exported":false,"metadata":{"line":327,"column":29,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","symbolName":"action","symbolKind":"function","exported":false,"metadata":{"line":542,"column":17,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","metadata":{"lineCount":213,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","metadata":{"lineCount":714,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","metadata":{"lineCount":302,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","metadata":{"lineCount":23,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","symbolName":"PanelFallback","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":306,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useMessageStore",{"id":"symbol-name:useMessageStore","kind":"symbol","language":"jsts","symbolName":"useMessageStore","metadata":{"unresolvedName":"useMessageStore"}}],["symbol-name:useChatViewport",{"id":"symbol-name:useChatViewport","kind":"symbol","language":"jsts","symbolName":"useChatViewport","metadata":{"unresolvedName":"useChatViewport"}}],["symbol-name:normalizeToForwardSlash",{"id":"symbol-name:normalizeToForwardSlash","kind":"symbol","language":"jsts","symbolName":"normalizeToForwardSlash","metadata":{"unresolvedName":"normalizeToForwardSlash"}}],["external:layoutStore.setCurrentTerminalDirectory",{"id":"external:layoutStore.setCurrentTerminalDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setCurrentTerminalDirectory"}}],["symbol-name:setIsPanelResizing",{"id":"symbol-name:setIsPanelResizing","kind":"symbol","language":"jsts","symbolName":"setIsPanelResizing","metadata":{"unresolvedName":"setIsPanelResizing"}}],["symbol-name:setIsRestoring",{"id":"symbol-name:setIsRestoring","kind":"symbol","language":"jsts","symbolName":"setIsRestoring","metadata":{"unresolvedName":"setIsRestoring"}}],["symbol-name:listPtySessions",{"id":"symbol-name:listPtySessions","kind":"symbol","language":"jsts","symbolName":"listPtySessions","metadata":{"unresolvedName":"listPtySessions"}}],["external:logger.log",{"id":"external:logger.log","kind":"external","language":"jsts","metadata":{"unresolvedName":"logger.log"}}],["external:layoutStore.syncTerminalSessions",{"id":"external:layoutStore.syncTerminalSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.syncTerminalSessions"}}],["external:sessions.map",{"id":"external:sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.map"}}],["symbol-name:restoreSessions",{"id":"symbol-name:restoreSessions","kind":"symbol","language":"jsts","symbolName":"restoreSessions","metadata":{"unresolvedName":"restoreSessions"}}],["symbol-name:removePtySession",{"id":"symbol-name:removePtySession","kind":"symbol","language":"jsts","symbolName":"removePtySession","metadata":{"unresolvedName":"removePtySession"}}],["external:layoutStore.setBottomPanelHeight",{"id":"external:layoutStore.setBottomPanelHeight","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setBottomPanelHeight"}}],["external:layoutStore.closeBottomPanel",{"id":"external:layoutStore.closeBottomPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.closeBottomPanel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","symbolName":"restoreSessions","symbolKind":"function","exported":false,"metadata":{"line":72,"column":29,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:panelTabs.filter",{"id":"external:panelTabs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"panelTabs.filter"}}],["external:terminalTabs.map",{"id":"external:terminalTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalTabs.map"}}],["external:fileTabs.map",{"id":"external:fileTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileTabs.map"}}],["external:changeTabs.map",{"id":"external:changeTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeTabs.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","metadata":{"lineCount":64,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","symbolName":"CircularProgress","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.max",{"id":"external:Math.max","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.max"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","metadata":{"lineCount":382,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","metadata":{"lineCount":56,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","symbolName":"CloseServiceDialog","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setClosing",{"id":"symbol-name:setClosing","kind":"symbol","language":"jsts","symbolName":"setClosing","metadata":{"unresolvedName":"setClosing"}}],["symbol-name:onConfirm",{"id":"symbol-name:onConfirm","kind":"symbol","language":"jsts","symbolName":"onConfirm","metadata":{"unresolvedName":"onConfirm"}}],["symbol-name:handleConfirm",{"id":"symbol-name:handleConfirm","kind":"symbol","language":"jsts","symbolName":"handleConfirm","metadata":{"unresolvedName":"handleConfirm"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","symbolName":"handleConfirm","symbolKind":"function","exported":false,"metadata":{"line":22,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","metadata":{"lineCount":61,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@testing-library/react",{"id":"external:@testing-library/react","kind":"external","language":"jsts","metadata":{"source":"@testing-library/react"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","metadata":{"lineCount":157,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":52,"column":52,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:useIsMobileMock.mockReset",{"id":"external:useIsMobileMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"useIsMobileMock.mockReset"}}],["external:useIsMobileMock.mockReturnValue",{"id":"external:useIsMobileMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}}],["symbol-name:render",{"id":"symbol-name:render","kind":"symbol","language":"jsts","symbolName":"render","metadata":{"unresolvedName":"render"}}],["external:expect(container.firstChild).toHaveAttribute",{"id":"external:expect(container.firstChild).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.firstChild).toHaveAttribute"}}],["external:screen.getByRole",{"id":"external:screen.getByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByRole"}}],["external:expect(container.firstChild).not.toHaveAttribute",{"id":"external:expect(container.firstChild).not.toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.firstChild).not.toHaveAttribute"}}],["external:expect(screen.getByText('ts')).toBeInTheDocument",{"id":"external:expect(screen.getByText('ts')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('ts')).toBeInTheDocument"}}],["external:screen.getByText",{"id":"external:screen.getByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByText"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","metadata":{"lineCount":23,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","metadata":{"lineCount":510,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","metadata":{"lineCount":956,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","metadata":{"lineCount":43,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":77,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSyncExternalStore",{"id":"symbol-name:useSyncExternalStore","kind":"symbol","language":"jsts","symbolName":"useSyncExternalStore","metadata":{"unresolvedName":"useSyncExternalStore"}}],["symbol-name:useIsMobile",{"id":"symbol-name:useIsMobile","kind":"symbol","language":"jsts","symbolName":"useIsMobile","metadata":{"unresolvedName":"useIsMobile"}}],["symbol-name:useInView",{"id":"symbol-name:useInView","kind":"symbol","language":"jsts","symbolName":"useInView","metadata":{"unresolvedName":"useInView"}}],["external:code.includes",{"id":"external:code.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"code.includes"}}],["symbol-name:useSyntaxHighlight",{"id":"symbol-name:useSyntaxHighlight","kind":"symbol","language":"jsts","symbolName":"useSyntaxHighlight","metadata":{"unresolvedName":"useSyntaxHighlight"}}],["external:HIDDEN_LANGS.has",{"id":"external:HIDDEN_LANGS.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"HIDDEN_LANGS.has"}}],["external:language.toLowerCase",{"id":"external:language.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"language.toLowerCase"}}],["external:event.target.closest",{"id":"external:event.target.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.target.closest"}}],["external:event.currentTarget.focus",{"id":"external:event.currentTarget.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.currentTarget.focus"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","metadata":{"lineCount":87,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@codemirror/state",{"id":"external:@codemirror/state","kind":"external","language":"jsts","metadata":{"source":"@codemirror/state"}}],["external:@codemirror/search",{"id":"external:@codemirror/search","kind":"external","language":"jsts","metadata":{"source":"@codemirror/search"}}],["external:@codemirror/view",{"id":"external:@codemirror/view","kind":"external","language":"jsts","metadata":{"source":"@codemirror/view"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","metadata":{"lineCount":268,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","metadata":{"lineCount":15,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","symbolName":"CodeMirrorReadonly","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getLineNumberColumnWidth",{"id":"symbol-name:getLineNumberColumnWidth","kind":"symbol","language":"jsts","symbolName":"getLineNumberColumnWidth","metadata":{"unresolvedName":"getLineNumberColumnWidth"}}],["symbol-name:getLineCount",{"id":"symbol-name:getLineCount","kind":"symbol","language":"jsts","symbolName":"getLineCount","metadata":{"unresolvedName":"getLineCount"}}],["symbol-name:createReadonlyCodeMirrorExtensions",{"id":"symbol-name:createReadonlyCodeMirrorExtensions","kind":"symbol","language":"jsts","symbolName":"createReadonlyCodeMirrorExtensions","metadata":{"unresolvedName":"createReadonlyCodeMirrorExtensions"}}],["external:EditorState.create",{"id":"external:EditorState.create","kind":"external","language":"jsts","metadata":{"unresolvedName":"EditorState.create"}}],["symbol-name:dispatchShikiTokens",{"id":"symbol-name:dispatchShikiTokens","kind":"symbol","language":"jsts","symbolName":"dispatchShikiTokens","metadata":{"unresolvedName":"dispatchShikiTokens"}}],["external:view.destroy",{"id":"external:view.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"view.destroy"}}],["external:event.key.toLowerCase",{"id":"external:event.key.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.key.toLowerCase"}}],["external:event.preventDefault",{"id":"external:event.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.preventDefault"}}],["symbol-name:openSearchPanel",{"id":"symbol-name:openSearchPanel","kind":"symbol","language":"jsts","symbolName":"openSearchPanel","metadata":{"unresolvedName":"openSearchPanel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":68,"column":44,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@codemirror/commands",{"id":"external:@codemirror/commands","kind":"external","language":"jsts","metadata":{"source":"@codemirror/commands"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:codeLineHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:codeLineHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"codeLineHeight","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"createReadonlyCodeMirrorExtensions","symbolKind":"function","exported":true,"metadata":{"line":31,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:EditorState.readOnly.of",{"id":"external:EditorState.readOnly.of","kind":"external","language":"jsts","metadata":{"unresolvedName":"EditorState.readOnly.of"}}],["symbol-name:highlightActiveLineGutter",{"id":"symbol-name:highlightActiveLineGutter","kind":"symbol","language":"jsts","symbolName":"highlightActiveLineGutter","metadata":{"unresolvedName":"highlightActiveLineGutter"}}],["symbol-name:drawSelection",{"id":"symbol-name:drawSelection","kind":"symbol","language":"jsts","symbolName":"drawSelection","metadata":{"unresolvedName":"drawSelection"}}],["external:keymap.of",{"id":"external:keymap.of","kind":"external","language":"jsts","metadata":{"unresolvedName":"keymap.of"}}],["symbol-name:search",{"id":"symbol-name:search","kind":"symbol","language":"jsts","symbolName":"search","metadata":{"unresolvedName":"search"}}],["symbol-name:highlightSelectionMatches",{"id":"symbol-name:highlightSelectionMatches","kind":"symbol","language":"jsts","symbolName":"highlightSelectionMatches","metadata":{"unresolvedName":"highlightSelectionMatches"}}],["symbol-name:readonlyCodeMirrorTheme",{"id":"symbol-name:readonlyCodeMirrorTheme","kind":"symbol","language":"jsts","symbolName":"readonlyCodeMirrorTheme","metadata":{"unresolvedName":"readonlyCodeMirrorTheme"}}],["external:extensions.unshift",{"id":"external:extensions.unshift","kind":"external","language":"jsts","metadata":{"unresolvedName":"extensions.unshift"}}],["symbol-name:lineNumbers",{"id":"symbol-name:lineNumbers","kind":"symbol","language":"jsts","symbolName":"lineNumbers","metadata":{"unresolvedName":"lineNumbers"}}],["external:extensions.push",{"id":"external:extensions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"extensions.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"dispatchShikiTokens","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:view.dispatch",{"id":"external:view.dispatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"view.dispatch"}}],["external:setShikiTokensEffect.of",{"id":"external:setShikiTokensEffect.of","kind":"external","language":"jsts","metadata":{"unresolvedName":"setShikiTokensEffect.of"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"update","symbolKind":"function","exported":false,"metadata":{"line":72,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:effect.is",{"id":"external:effect.is","kind":"external","language":"jsts","metadata":{"unresolvedName":"effect.is"}}],["symbol-name:buildShikiDecorations",{"id":"symbol-name:buildShikiDecorations","kind":"symbol","language":"jsts","symbolName":"buildShikiDecorations","metadata":{"unresolvedName":"buildShikiDecorations"}}],["external:decorations.map",{"id":"external:decorations.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"decorations.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"buildShikiDecorations","symbolKind":"function","exported":false,"metadata":{"line":81,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:state.doc.line",{"id":"external:state.doc.line","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.doc.line"}}],["external:ranges.push",{"id":"external:ranges.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"ranges.push"}}],["external:Decoration.mark({ attributes: { style: `color: ${token.color}` } }).range",{"id":"external:Decoration.mark({ attributes: { style: `color: ${token.color}` } }).range","kind":"external","language":"jsts","metadata":{"unresolvedName":"Decoration.mark({ attributes: { style: `color: ${token.color}` } }).range"}}],["external:Decoration.mark",{"id":"external:Decoration.mark","kind":"external","language":"jsts","metadata":{"unresolvedName":"Decoration.mark"}}],["external:Decoration.set",{"id":"external:Decoration.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"Decoration.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"readonlyCodeMirrorTheme","symbolKind":"function","exported":false,"metadata":{"line":101,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:EditorView.theme",{"id":"external:EditorView.theme","kind":"external","language":"jsts","metadata":{"unresolvedName":"EditorView.theme"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"createCodeMirrorSearchPanel","symbolKind":"function","exported":false,"metadata":{"line":152,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:document.createElement",{"id":"external:document.createElement","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createElement"}}],["external:input.setAttribute",{"id":"external:input.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.setAttribute"}}],["symbol-name:createSearchButton",{"id":"symbol-name:createSearchButton","kind":"symbol","language":"jsts","symbolName":"createSearchButton","metadata":{"unresolvedName":"createSearchButton"}}],["symbol-name:applyQuery",{"id":"symbol-name:applyQuery","kind":"symbol","language":"jsts","symbolName":"applyQuery","metadata":{"unresolvedName":"applyQuery"}}],["external:input.focus",{"id":"external:input.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.focus"}}],["external:inputWrap.append",{"id":"external:inputWrap.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputWrap.append"}}],["external:nav.append",{"id":"external:nav.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"nav.append"}}],["symbol-name:findPrevious",{"id":"symbol-name:findPrevious","kind":"symbol","language":"jsts","symbolName":"findPrevious","metadata":{"unresolvedName":"findPrevious"}}],["symbol-name:findNext",{"id":"symbol-name:findNext","kind":"symbol","language":"jsts","symbolName":"findNext","metadata":{"unresolvedName":"findNext"}}],["symbol-name:selectMatches",{"id":"symbol-name:selectMatches","kind":"symbol","language":"jsts","symbolName":"selectMatches","metadata":{"unresolvedName":"selectMatches"}}],["symbol-name:createSearchToggle",{"id":"symbol-name:createSearchToggle","kind":"symbol","language":"jsts","symbolName":"createSearchToggle","metadata":{"unresolvedName":"createSearchToggle"}}],["external:options.append",{"id":"external:options.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.append"}}],["symbol-name:closeSearchPanel",{"id":"symbol-name:closeSearchPanel","kind":"symbol","language":"jsts","symbolName":"closeSearchPanel","metadata":{"unresolvedName":"closeSearchPanel"}}],["external:view.focus",{"id":"external:view.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"view.focus"}}],["external:dom.append",{"id":"external:dom.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"dom.append"}}],["symbol-name:createSearchDivider",{"id":"symbol-name:createSearchDivider","kind":"symbol","language":"jsts","symbolName":"createSearchDivider","metadata":{"unresolvedName":"createSearchDivider"}}],["symbol-name:getSearchQuery",{"id":"symbol-name:getSearchQuery","kind":"symbol","language":"jsts","symbolName":"getSearchQuery","metadata":{"unresolvedName":"getSearchQuery"}}],["external:caseSensitive.setPressed",{"id":"external:caseSensitive.setPressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"caseSensitive.setPressed"}}],["external:regexp.setPressed",{"id":"external:regexp.setPressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"regexp.setPressed"}}],["external:wholeWord.setPressed",{"id":"external:wholeWord.setPressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"wholeWord.setPressed"}}],["symbol-name:getSearchCountLabel",{"id":"symbol-name:getSearchCountLabel","kind":"symbol","language":"jsts","symbolName":"getSearchCountLabel","metadata":{"unresolvedName":"getSearchCountLabel"}}],["external:setSearchQuery.of",{"id":"external:setSearchQuery.of","kind":"external","language":"jsts","metadata":{"unresolvedName":"setSearchQuery.of"}}],["external:caseSensitive.pressed",{"id":"external:caseSensitive.pressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"caseSensitive.pressed"}}],["external:regexp.pressed",{"id":"external:regexp.pressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"regexp.pressed"}}],["external:wholeWord.pressed",{"id":"external:wholeWord.pressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"wholeWord.pressed"}}],["external:input.addEventListener",{"id":"external:input.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.addEventListener"}}],["external:option.button.addEventListener",{"id":"external:option.button.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"option.button.addEventListener"}}],["external:option.setPressed",{"id":"external:option.setPressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"option.setPressed"}}],["external:option.pressed",{"id":"external:option.pressed","kind":"external","language":"jsts","metadata":{"unresolvedName":"option.pressed"}}],["symbol-name:syncFromState",{"id":"symbol-name:syncFromState","kind":"symbol","language":"jsts","symbolName":"syncFromState","metadata":{"unresolvedName":"syncFromState"}}],["external:input.select",{"id":"external:input.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"input.select"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":216,"column":45,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"syncFromState","symbolKind":"function","exported":false,"metadata":{"line":188,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"applyQuery","symbolKind":"function","exported":false,"metadata":{"line":197,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"mount","symbolKind":"function","exported":false,"metadata":{"line":222,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"getSearchCountLabel","symbolKind":"function","exported":false,"metadata":{"line":225,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:query.getCursor",{"id":"external:query.getCursor","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.getCursor"}}],["external:cursor.next",{"id":"external:cursor.next","kind":"external","language":"jsts","metadata":{"unresolvedName":"cursor.next"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"createSearchDivider","symbolKind":"function","exported":false,"metadata":{"line":239,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:divider.setAttribute",{"id":"external:divider.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"divider.setAttribute"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"createSearchButton","symbolKind":"function","exported":false,"metadata":{"line":246,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:button.setAttribute",{"id":"external:button.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"button.setAttribute"}}],["external:button.addEventListener",{"id":"external:button.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"button.addEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","symbolName":"createSearchToggle","symbolKind":"function","exported":false,"metadata":{"line":258,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:button.getAttribute",{"id":"external:button.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"button.getAttribute"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","metadata":{"lineCount":56,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","metadata":{"lineCount":35,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":43,"column":66,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByText('first line')).toBeInTheDocument",{"id":"external:expect(screen.getByText('first line')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('first line')).toBeInTheDocument"}}],["external:expect(screen.getByText('second line')).toBeInTheDocument",{"id":"external:expect(screen.getByText('second line')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('second line')).toBeInTheDocument"}}],["external:expect(screen.getByText('1')).toBeInTheDocument",{"id":"external:expect(screen.getByText('1')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('1')).toBeInTheDocument"}}],["external:expect(screen.getByText('2')).toBeInTheDocument",{"id":"external:expect(screen.getByText('2')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('2')).toBeInTheDocument"}}],["external:expect(container.querySelector('.cm-editor')).toBeInTheDocument",{"id":"external:expect(container.querySelector('.cm-editor')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.querySelector('.cm-editor')).toBeInTheDocument"}}],["external:container.querySelector",{"id":"external:container.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.querySelector"}}],["external:expect(container.querySelector('.cm-content')).toHaveAttribute",{"id":"external:expect(container.querySelector('.cm-content')).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.querySelector('.cm-content')).toHaveAttribute"}}],["external:fireEvent.keyDown",{"id":"external:fireEvent.keyDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.keyDown"}}],["external:expect(screen.getByPlaceholderText('Find')).toBeInTheDocument",{"id":"external:expect(screen.getByPlaceholderText('Find')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByPlaceholderText('Find')).toBeInTheDocument"}}],["external:screen.getByPlaceholderText",{"id":"external:screen.getByPlaceholderText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByPlaceholderText"}}],["external:expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument"}}],["external:expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument"}}],["external:expect(screen.getByText('No results')).toBeInTheDocument",{"id":"external:expect(screen.getByText('No results')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('No results')).toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","symbolName":"CodePreview","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSyntaxHighlightRef",{"id":"symbol-name:useSyntaxHighlightRef","kind":"symbol","language":"jsts","symbolName":"useSyntaxHighlightRef","metadata":{"unresolvedName":"useSyntaxHighlightRef"}}],["symbol-name:codeLineHeight",{"id":"symbol-name:codeLineHeight","kind":"symbol","language":"jsts","symbolName":"codeLineHeight","metadata":{"unresolvedName":"codeLineHeight"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","metadata":{"lineCount":59,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":52,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.useFakeTimers",{"id":"external:vi.useFakeTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useFakeTimers"}}],["external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation",{"id":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}}],["external:window.setTimeout",{"id":"external:window.setTimeout","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.setTimeout"}}],["symbol-name:cb",{"id":"symbol-name:cb","kind":"symbol","language":"jsts","symbolName":"cb","metadata":{"unresolvedName":"cb"}}],["external:performance.now",{"id":"external:performance.now","kind":"external","language":"jsts","metadata":{"unresolvedName":"performance.now"}}],["external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation",{"id":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}}],["external:vi.useRealTimers",{"id":"external:vi.useRealTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useRealTimers"}}],["symbol-name:rerender",{"id":"symbol-name:rerender","kind":"symbol","language":"jsts","symbolName":"rerender","metadata":{"unresolvedName":"rerender"}}],["symbol-name:act",{"id":"symbol-name:act","kind":"symbol","language":"jsts","symbolName":"act","metadata":{"unresolvedName":"act"}}],["external:vi.runAllTimers",{"id":"external:vi.runAllTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.runAllTimers"}}],["external:fireEvent.change",{"id":"external:fireEvent.change","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.change"}}],["external:expect(input.value).toBe",{"id":"external:expect(input.value).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(input.value).toBe"}}],["external:fireEvent.click",{"id":"external:fireEvent.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.click"}}],["external:expect(onClose).toHaveBeenCalledTimes",{"id":"external:expect(onClose).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}}],["external:expect(action).toHaveBeenCalledTimes",{"id":"external:expect(action).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(action).toHaveBeenCalledTimes"}}],["external:screen.queryByPlaceholderText",{"id":"external:screen.queryByPlaceholderText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByPlaceholderText"}}],["external:react-dom",{"id":"external:react-dom","kind":"external","language":"jsts","metadata":{"source":"react-dom"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","metadata":{"lineCount":33,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:Kbd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:Kbd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","symbolName":"Kbd","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","symbolName":"ShortcutDisplay","symbolKind":"function","exported":false,"metadata":{"line":51,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseKeybinding",{"id":"symbol-name:parseKeybinding","kind":"symbol","language":"jsts","symbolName":"parseKeybinding","metadata":{"unresolvedName":"parseKeybinding"}}],["symbol-name:formatKeybinding",{"id":"symbol-name:formatKeybinding","kind":"symbol","language":"jsts","symbolName":"formatKeybinding","metadata":{"unresolvedName":"formatKeybinding"}}],["external:formatted.split",{"id":"external:formatted.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"formatted.split"}}],["external:parts.map",{"id":"external:parts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","symbolName":"CommandPalette","symbolKind":"function","exported":true,"metadata":{"line":69,"column":1,"cyclomaticComplexity":37,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useDelayedRender",{"id":"symbol-name:useDelayedRender","kind":"symbol","language":"jsts","symbolName":"useDelayedRender","metadata":{"unresolvedName":"useDelayedRender"}}],["symbol-name:setQuery",{"id":"symbol-name:setQuery","kind":"symbol","language":"jsts","symbolName":"setQuery","metadata":{"unresolvedName":"setQuery"}}],["symbol-name:setSelectedIndex",{"id":"symbol-name:setSelectedIndex","kind":"symbol","language":"jsts","symbolName":"setSelectedIndex","metadata":{"unresolvedName":"setSelectedIndex"}}],["symbol-name:cancelAnimationFrame",{"id":"symbol-name:cancelAnimationFrame","kind":"symbol","language":"jsts","symbolName":"cancelAnimationFrame","metadata":{"unresolvedName":"cancelAnimationFrame"}}],["symbol-name:setIsVisible",{"id":"symbol-name:setIsVisible","kind":"symbol","language":"jsts","symbolName":"setIsVisible","metadata":{"unresolvedName":"setIsVisible"}}],["external:inputRef.current?.focus",{"id":"external:inputRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputRef.current?.focus"}}],["external:commands.filter",{"id":"external:commands.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"commands.filter"}}],["external:cmd.when",{"id":"external:cmd.when","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.when"}}],["external:query.trim",{"id":"external:query.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.trim"}}],["external:query.toLowerCase",{"id":"external:query.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.toLowerCase"}}],["external:visible\r\n .filter",{"id":"external:visible\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"visible\r\n .filter"}}],["external:cmd.label.toLowerCase().includes",{"id":"external:cmd.label.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.label.toLowerCase().includes"}}],["external:cmd.label.toLowerCase",{"id":"external:cmd.label.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.label.toLowerCase"}}],["external:cmd.description?.toLowerCase().includes",{"id":"external:cmd.description?.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.description?.toLowerCase().includes"}}],["external:cmd.description?.toLowerCase",{"id":"external:cmd.description?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.description?.toLowerCase"}}],["external:cmd.category?.toLowerCase().includes",{"id":"external:cmd.category?.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.category?.toLowerCase().includes"}}],["external:cmd.category?.toLowerCase",{"id":"external:cmd.category?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.category?.toLowerCase"}}],["external:cmd.id.toLowerCase().includes",{"id":"external:cmd.id.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.id.toLowerCase().includes"}}],["external:cmd.id.toLowerCase",{"id":"external:cmd.id.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.id.toLowerCase"}}],["external:a.label.toLowerCase().startsWith",{"id":"external:a.label.toLowerCase().startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.label.toLowerCase().startsWith"}}],["external:a.label.toLowerCase",{"id":"external:a.label.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.label.toLowerCase"}}],["external:b.label.toLowerCase().startsWith",{"id":"external:b.label.toLowerCase().startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.label.toLowerCase().startsWith"}}],["external:b.label.toLowerCase",{"id":"external:b.label.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.label.toLowerCase"}}],["symbol-name:onClose",{"id":"symbol-name:onClose","kind":"symbol","language":"jsts","symbolName":"onClose","metadata":{"unresolvedName":"onClose"}}],["external:cmd.action",{"id":"external:cmd.action","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.action"}}],["external:e.preventDefault",{"id":"external:e.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.preventDefault"}}],["symbol-name:executeCommand",{"id":"symbol-name:executeCommand","kind":"symbol","language":"jsts","symbolName":"executeCommand","metadata":{"unresolvedName":"executeCommand"}}],["external:e.stopPropagation",{"id":"external:e.stopPropagation","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.stopPropagation"}}],["external:listRef.current.querySelector",{"id":"external:listRef.current.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"listRef.current.querySelector"}}],["external:el?.scrollIntoView",{"id":"external:el?.scrollIntoView","kind":"external","language":"jsts","metadata":{"unresolvedName":"el?.scrollIntoView"}}],["symbol-name:createPortal",{"id":"symbol-name:createPortal","kind":"symbol","language":"jsts","symbolName":"createPortal","metadata":{"unresolvedName":"createPortal"}}],["external:filteredCommands.map",{"id":"external:filteredCommands.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredCommands.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":243,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":156,"column":27,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","metadata":{"lineCount":329,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:diff",{"id":"external:diff","kind":"external","language":"jsts","metadata":{"source":"diff"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","metadata":{"lineCount":1848,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","metadata":{"lineCount":132,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","metadata":{"lineCount":163,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","metadata":{"lineCount":29,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","metadata":{"lineCount":42,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":239,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useResponsiveMaxHeight",{"id":"symbol-name:useResponsiveMaxHeight","kind":"symbol","language":"jsts","symbolName":"useResponsiveMaxHeight","metadata":{"unresolvedName":"useResponsiveMaxHeight"}}],["external:content?.trim",{"id":"external:content?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"content?.trim"}}],["symbol-name:detectLanguage",{"id":"symbol-name:detectLanguage","kind":"symbol","language":"jsts","symbolName":"detectLanguage","metadata":{"unresolvedName":"detectLanguage"}}],["external:filePath?.split(/[/\\\\]/).pop",{"id":"external:filePath?.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath?.split(/[/\\\\]/).pop"}}],["external:filePath?.split",{"id":"external:filePath?.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath?.split"}}],["symbol-name:diffLines",{"id":"symbol-name:diffLines","kind":"symbol","language":"jsts","symbolName":"diffLines","metadata":{"unresolvedName":"diffLines"}}],["external:(diff as string).split",{"id":"external:(diff as string).split","kind":"external","language":"jsts","metadata":{"unresolvedName":"(diff as string).split"}}],["symbol-name:extractContentFromUnifiedDiff",{"id":"symbol-name:extractContentFromUnifiedDiff","kind":"symbol","language":"jsts","symbolName":"extractContentFromUnifiedDiff","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}}],["symbol-name:useDiffViewerData",{"id":"symbol-name:useDiffViewerData","kind":"symbol","language":"jsts","symbolName":"useDiffViewerData","metadata":{"unresolvedName":"useDiffViewerData"}}],["symbol-name:setDiffViewMode",{"id":"symbol-name:setDiffViewMode","kind":"symbol","language":"jsts","symbolName":"setDiffViewMode","metadata":{"unresolvedName":"setDiffViewMode"}}],["symbol-name:updateViewMode",{"id":"symbol-name:updateViewMode","kind":"symbol","language":"jsts","symbolName":"updateViewMode","metadata":{"unresolvedName":"updateViewMode"}}],["external:observer.observe",{"id":"external:observer.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"observer.observe"}}],["external:observer.disconnect",{"id":"external:observer.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"observer.disconnect"}}],["symbol-name:setFullscreenDiffViewMode",{"id":"symbol-name:setFullscreenDiffViewMode","kind":"symbol","language":"jsts","symbolName":"setFullscreenDiffViewMode","metadata":{"unresolvedName":"setFullscreenDiffViewMode"}}],["symbol-name:checkWidth",{"id":"symbol-name:checkWidth","kind":"symbol","language":"jsts","symbolName":"checkWidth","metadata":{"unresolvedName":"checkWidth"}}],["symbol-name:setCollapsed",{"id":"symbol-name:setCollapsed","kind":"symbol","language":"jsts","symbolName":"setCollapsed","metadata":{"unresolvedName":"setCollapsed"}}],["symbol-name:setFullscreenOpen",{"id":"symbol-name:setFullscreenOpen","kind":"symbol","language":"jsts","symbolName":"setFullscreenOpen","metadata":{"unresolvedName":"setFullscreenOpen"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","symbolName":"updateViewMode","symbolKind":"function","exported":false,"metadata":{"line":147,"column":28,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":34,"column":72,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(controlsHost).not.toBeNull",{"id":"external:expect(controlsHost).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(controlsHost).not.toBeNull"}}],["external:controlsHost!.appendChild",{"id":"external:controlsHost!.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"controlsHost!.appendChild"}}],["external:expect(screen.getByText('Minimize')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Minimize')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Minimize')).toBeInTheDocument"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","metadata":{"lineCount":311,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","metadata":{"lineCount":276,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":98,"column":60,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","symbolName":"DesktopTitlebar","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":16,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useTheme",{"id":"symbol-name:useTheme","kind":"symbol","language":"jsts","symbolName":"useTheme","metadata":{"unresolvedName":"useTheme"}}],["symbol-name:useUpdateStore",{"id":"symbol-name:useUpdateStore","kind":"symbol","language":"jsts","symbolName":"useUpdateStore","metadata":{"unresolvedName":"useUpdateStore"}}],["symbol-name:hasUpdateAvailable",{"id":"symbol-name:hasUpdateAvailable","kind":"symbol","language":"jsts","symbolName":"hasUpdateAvailable","metadata":{"unresolvedName":"hasUpdateAvailable"}}],["symbol-name:getDesktopPlatform",{"id":"symbol-name:getDesktopPlatform","kind":"symbol","language":"jsts","symbolName":"getDesktopPlatform","metadata":{"unresolvedName":"getDesktopPlatform"}}],["symbol-name:usesCustomDesktopTitlebar",{"id":"symbol-name:usesCustomDesktopTitlebar","kind":"symbol","language":"jsts","symbolName":"usesCustomDesktopTitlebar","metadata":{"unresolvedName":"usesCustomDesktopTitlebar"}}],["external:document.documentElement.style.setProperty",{"id":"external:document.documentElement.style.setProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.style.setProperty"}}],["external:document.documentElement.style.removeProperty",{"id":"external:document.documentElement.style.removeProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.style.removeProperty"}}],["external:import('@tauri-apps/api/window').then",{"id":"external:import('@tauri-apps/api/window').then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/api/window').then"}}],["external:getCurrentWindow().setTheme",{"id":"external:getCurrentWindow().setTheme","kind":"external","language":"jsts","metadata":{"unresolvedName":"getCurrentWindow().setTheme"}}],["symbol-name:getCurrentWindow",{"id":"symbol-name:getCurrentWindow","kind":"symbol","language":"jsts","symbolName":"getCurrentWindow","metadata":{"unresolvedName":"getCurrentWindow"}}],["external:window.history.back",{"id":"external:window.history.back","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.history.back"}}],["external:window.history.forward",{"id":"external:window.history.forward","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.history.forward"}}],["external:window.dispatchEvent",{"id":"external:window.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.dispatchEvent"}}],["external:import('@tauri-apps/api/core').then",{"id":"external:import('@tauri-apps/api/core').then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/api/core').then"}}],["external:invoke('open_new_window', { directory: null }).catch",{"id":"external:invoke('open_new_window', { directory: null }).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"invoke('open_new_window', { directory: null }).catch"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","metadata":{"lineCount":175,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":20,"column":59,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByText('app.ts')).toBeInTheDocument",{"id":"external:expect(screen.getByText('app.ts')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('app.ts')).toBeInTheDocument"}}],["external:expect(screen.getByText('+1')).toBeInTheDocument",{"id":"external:expect(screen.getByText('+1')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('+1')).toBeInTheDocument"}}],["external:expect(screen.getByText('-1')).toBeInTheDocument",{"id":"external:expect(screen.getByText('-1')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('-1')).toBeInTheDocument"}}],["external:screen.getByTitle",{"id":"external:screen.getByTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByTitle"}}],["external:expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument",{"id":"external:expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument"}}],["external:screen.getByTestId",{"id":"external:screen.getByTestId","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByTestId"}}],["external:clsx",{"id":"external:clsx","kind":"external","language":"jsts","metadata":{"source":"clsx"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","symbolName":"computeDiffStats","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":124,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setFullscreenViewMode",{"id":"symbol-name:setFullscreenViewMode","kind":"symbol","language":"jsts","symbolName":"setFullscreenViewMode","metadata":{"unresolvedName":"setFullscreenViewMode"}}],["symbol-name:computeDiffStats",{"id":"symbol-name:computeDiffStats","kind":"symbol","language":"jsts","symbolName":"computeDiffStats","metadata":{"unresolvedName":"computeDiffStats"}}],["external:filePath.split(/[/\\\\]/).pop",{"id":"external:filePath.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.split(/[/\\\\]/).pop"}}],["external:filePath.split",{"id":"external:filePath.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.split"}}],["symbol-name:setModalOpen",{"id":"symbol-name:setModalOpen","kind":"symbol","language":"jsts","symbolName":"setModalOpen","metadata":{"unresolvedName":"setModalOpen"}}],["symbol-name:clsx",{"id":"symbol-name:clsx","kind":"symbol","language":"jsts","symbolName":"clsx","metadata":{"unresolvedName":"clsx"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","metadata":{"lineCount":83,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":68,"column":91,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:importOriginal",{"id":"symbol-name:importOriginal","kind":"symbol","language":"jsts","symbolName":"importOriginal","metadata":{"unresolvedName":"importOriginal"}}],["external:expect(container.querySelector('.sticky')).toBeNull",{"id":"external:expect(container.querySelector('.sticky')).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(container.querySelector('.sticky')).toBeNull"}}],["external:['same', 'tail'].join",{"id":"external:['same', 'tail'].join","kind":"external","language":"jsts","metadata":{"unresolvedName":"['same', 'tail'].join"}}],["external:['same', 'added only line', 'tail'].join",{"id":"external:['same', 'added only line', 'tail'].join","kind":"external","language":"jsts","metadata":{"unresolvedName":"['same', 'added only line', 'tail'].join"}}],["external:container.querySelectorAll",{"id":"external:container.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.querySelectorAll"}}],["external:Number.parseFloat",{"id":"external:Number.parseFloat","kind":"external","language":"jsts","metadata":{"unresolvedName":"Number.parseFloat"}}],["external:emptyBuffer.style.backgroundPosition.split",{"id":"external:emptyBuffer.style.backgroundPosition.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"emptyBuffer.style.backgroundPosition.split"}}],["external:Object.defineProperty",{"id":"external:Object.defineProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.defineProperty"}}],["external:fireEvent.scroll",{"id":"external:fireEvent.scroll","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.scroll"}}],["symbol-name:waitFor",{"id":"symbol-name:waitFor","kind":"symbol","language":"jsts","symbolName":"waitFor","metadata":{"unresolvedName":"waitFor"}}],["external:updatedBuffer.style.backgroundPosition.split",{"id":"external:updatedBuffer.style.backgroundPosition.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"updatedBuffer.style.backgroundPosition.split"}}],["external:expect(updatedX - initialX).toBe",{"id":"external:expect(updatedX - initialX).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updatedX - initialX).toBe"}}],["external:['node_modules', '.git', '.gitignore'].join",{"id":"external:['node_modules', '.git', '.gitignore'].join","kind":"external","language":"jsts","metadata":{"unresolvedName":"['node_modules', '.git', '.gitignore'].join"}}],["external:['node_modules', 'root', '.gitignore'].join",{"id":"external:['node_modules', 'root', '.gitignore'].join","kind":"external","language":"jsts","metadata":{"unresolvedName":"['node_modules', 'root', '.gitignore'].join"}}],["external:Array.from(container.querySelectorAll('span')).filter",{"id":"external:Array.from(container.querySelectorAll('span')).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(container.querySelectorAll('span')).filter"}}],["external:segment.classList.contains",{"id":"external:segment.classList.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"segment.classList.contains"}}],["external:expect(changedSegments.length).toBeGreaterThan",{"id":"external:expect(changedSegments.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(changedSegments.length).toBeGreaterThan"}}],["external:expect(segment.closest('.text-text-100')).not.toBeNull",{"id":"external:expect(segment.closest('.text-text-100')).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(segment.closest('.text-text-100')).not.toBeNull"}}],["external:segment.closest",{"id":"external:segment.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"segment.closest"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","metadata":{"lineCount":196,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:codeLineHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:codeLineHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"codeLineHeight","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"isCollapsed","symbolKind":"function","exported":false,"metadata":{"line":108,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"expandRegion","symbolKind":"function","exported":false,"metadata":{"line":114,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:next.get",{"id":"external:next.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.get"}}],["external:next.set",{"id":"external:next.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"collapseContextPaired","symbolKind":"function","exported":false,"metadata":{"line":134,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expandedRegions?.get",{"id":"external:expandedRegions?.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedRegions?.get"}}],["external:result.push",{"id":"external:result.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"collapseContextUnified","symbolKind":"function","exported":false,"metadata":{"line":183,"column":1,"cyclomaticComplexity":16,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getLineBgClass","symbolKind":"function","exported":false,"metadata":{"line":236,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getGutterBgClass","symbolKind":"function","exported":false,"metadata":{"line":249,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getContentBgClass","symbolKind":"function","exported":false,"metadata":{"line":262,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getLineBgClass",{"id":"symbol-name:getLineBgClass","kind":"symbol","language":"jsts","symbolName":"getLineBgClass","metadata":{"unresolvedName":"getLineBgClass"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getEmptyBufferBackgroundStyle","symbolKind":"function","exported":false,"metadata":{"line":267,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getEmptyBufferRowStyle","symbolKind":"function","exported":false,"metadata":{"line":271,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getEmptyBufferBackgroundStyle",{"id":"symbol-name:getEmptyBufferBackgroundStyle","kind":"symbol","language":"jsts","symbolName":"getEmptyBufferBackgroundStyle","metadata":{"unresolvedName":"getEmptyBufferBackgroundStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"estimateWrappedVisualLineCount","symbolKind":"function","exported":false,"metadata":{"line":275,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.floor",{"id":"external:Math.floor","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.floor"}}],["external:content.split",{"id":"external:content.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.split"}}],["external:Math.ceil",{"id":"external:Math.ceil","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.ceil"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getWrappedPairContent","symbolKind":"function","exported":false,"metadata":{"line":290,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"useDiffLineNumberWidth","symbolKind":"function","exported":false,"metadata":{"line":294,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:LineNumberCell",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:LineNumberCell","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"LineNumberCell","symbolKind":"function","exported":false,"metadata":{"line":301,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffMarkerCell",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffMarkerCell","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"DiffMarkerCell","symbolKind":"function","exported":false,"metadata":{"line":313,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:EmptyContentBuffer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:EmptyContentBuffer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"EmptyContentBuffer","symbolKind":"function","exported":false,"metadata":{"line":322,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getEmptyBufferRowStyle",{"id":"symbol-name:getEmptyBufferRowStyle","kind":"symbol","language":"jsts","symbolName":"getEmptyBufferRowStyle","metadata":{"unresolvedName":"getEmptyBufferRowStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getChangeBarProps","symbolKind":"function","exported":false,"metadata":{"line":327,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"alignDeleteChangeBars","symbolKind":"function","exported":false,"metadata":{"line":341,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:ExpandIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:ExpandIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"ExpandIcon","symbolKind":"function","exported":false,"metadata":{"line":348,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"getSeparatorDirections","symbolKind":"function","exported":false,"metadata":{"line":372,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:directions.push",{"id":"external:directions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"directions.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"CollapsedExpandButton","symbolKind":"function","exported":false,"metadata":{"line":380,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:directions.map",{"id":"external:directions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"directions.map"}}],["symbol-name:onExpand",{"id":"symbol-name:onExpand","kind":"symbol","language":"jsts","symbolName":"onExpand","metadata":{"unresolvedName":"onExpand"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"CollapsedLabel","symbolKind":"function","exported":false,"metadata":{"line":415,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabelOverlay",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabelOverlay","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"CollapsedLabelOverlay","symbolKind":"function","exported":false,"metadata":{"line":440,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedContinuation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedContinuation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"CollapsedContinuation","symbolKind":"function","exported":false,"metadata":{"line":461,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedBar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedBar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"CollapsedBar","symbolKind":"function","exported":false,"metadata":{"line":466,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:getSeparatorDirections",{"id":"symbol-name:getSeparatorDirections","kind":"symbol","language":"jsts","symbolName":"getSeparatorDirections","metadata":{"unresolvedName":"getSeparatorDirections"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"useDiffViewerData","symbolKind":"function","exported":true,"metadata":{"line":499,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:computePairedLines",{"id":"symbol-name:computePairedLines","kind":"symbol","language":"jsts","symbolName":"computePairedLines","metadata":{"unresolvedName":"computePairedLines"}}],["symbol-name:computeUnifiedLines",{"id":"symbol-name:computeUnifiedLines","kind":"symbol","language":"jsts","symbolName":"computeUnifiedLines","metadata":{"unresolvedName":"computeUnifiedLines"}}],["symbol-name:useDiffLineNumberWidth",{"id":"symbol-name:useDiffLineNumberWidth","kind":"symbol","language":"jsts","symbolName":"useDiffLineNumberWidth","metadata":{"unresolvedName":"useDiffLineNumberWidth"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1571,"column":26,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffViewerWithData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffViewerWithData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"DiffViewerWithData","symbolKind":"function","exported":false,"metadata":{"line":530,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:before.trim",{"id":"external:before.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"before.trim"}}],["external:after.trim",{"id":"external:after.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"after.trim"}}],["symbol-name:collapseContextPaired",{"id":"symbol-name:collapseContextPaired","kind":"symbol","language":"jsts","symbolName":"collapseContextPaired","metadata":{"unresolvedName":"collapseContextPaired"}}],["symbol-name:setExpandedRegions",{"id":"symbol-name:setExpandedRegions","kind":"symbol","language":"jsts","symbolName":"setExpandedRegions","metadata":{"unresolvedName":"setExpandedRegions"}}],["symbol-name:expandRegion",{"id":"symbol-name:expandRegion","kind":"symbol","language":"jsts","symbolName":"expandRegion","metadata":{"unresolvedName":"expandRegion"}}],["symbol-name:isCollapsed",{"id":"symbol-name:isCollapsed","kind":"symbol","language":"jsts","symbolName":"isCollapsed","metadata":{"unresolvedName":"isCollapsed"}}],["symbol-name:estimateWrappedVisualLineCount",{"id":"symbol-name:estimateWrappedVisualLineCount","kind":"symbol","language":"jsts","symbolName":"estimateWrappedVisualLineCount","metadata":{"unresolvedName":"estimateWrappedVisualLineCount"}}],["symbol-name:getWrappedPairContent",{"id":"symbol-name:getWrappedPairContent","kind":"symbol","language":"jsts","symbolName":"getWrappedPairContent","metadata":{"unresolvedName":"getWrappedPairContent"}}],["symbol-name:useDynamicVirtualScroll",{"id":"symbol-name:useDynamicVirtualScroll","kind":"symbol","language":"jsts","symbolName":"useDynamicVirtualScroll","metadata":{"unresolvedName":"useDynamicVirtualScroll"}}],["symbol-name:measureRef",{"id":"symbol-name:measureRef","kind":"symbol","language":"jsts","symbolName":"measureRef","metadata":{"unresolvedName":"measureRef"}}],["external:el.querySelectorAll",{"id":"external:el.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.querySelectorAll"}}],["symbol-name:alignDeleteChangeBars",{"id":"symbol-name:alignDeleteChangeBars","kind":"symbol","language":"jsts","symbolName":"alignDeleteChangeBars","metadata":{"unresolvedName":"alignDeleteChangeBars"}}],["external:visibleRows.push",{"id":"external:visibleRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleRows.push"}}],["symbol-name:measureWrappedRowRef",{"id":"symbol-name:measureWrappedRowRef","kind":"symbol","language":"jsts","symbolName":"measureWrappedRowRef","metadata":{"unresolvedName":"measureWrappedRowRef"}}],["symbol-name:handleExpand",{"id":"symbol-name:handleExpand","kind":"symbol","language":"jsts","symbolName":"handleExpand","metadata":{"unresolvedName":"handleExpand"}}],["symbol-name:getContentBgClass",{"id":"symbol-name:getContentBgClass","kind":"symbol","language":"jsts","symbolName":"getContentBgClass","metadata":{"unresolvedName":"getContentBgClass"}}],["symbol-name:getChangeBarProps",{"id":"symbol-name:getChangeBarProps","kind":"symbol","language":"jsts","symbolName":"getChangeBarProps","metadata":{"unresolvedName":"getChangeBarProps"}}],["symbol-name:setContainerHeight",{"id":"symbol-name:setContainerHeight","kind":"symbol","language":"jsts","symbolName":"setContainerHeight","metadata":{"unresolvedName":"setContainerHeight"}}],["external:resizeObserver.observe",{"id":"external:resizeObserver.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"resizeObserver.observe"}}],["external:resizeObserver.disconnect",{"id":"external:resizeObserver.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"resizeObserver.disconnect"}}],["symbol-name:setLeftContentWidth",{"id":"symbol-name:setLeftContentWidth","kind":"symbol","language":"jsts","symbolName":"setLeftContentWidth","metadata":{"unresolvedName":"setLeftContentWidth"}}],["symbol-name:setRightContentWidth",{"id":"symbol-name:setRightContentWidth","kind":"symbol","language":"jsts","symbolName":"setRightContentWidth","metadata":{"unresolvedName":"setRightContentWidth"}}],["symbol-name:setLeftClientWidth",{"id":"symbol-name:setLeftClientWidth","kind":"symbol","language":"jsts","symbolName":"setLeftClientWidth","metadata":{"unresolvedName":"setLeftClientWidth"}}],["symbol-name:setRightClientWidth",{"id":"symbol-name:setRightClientWidth","kind":"symbol","language":"jsts","symbolName":"setRightClientWidth","metadata":{"unresolvedName":"setRightClientWidth"}}],["symbol-name:measure",{"id":"symbol-name:measure","kind":"symbol","language":"jsts","symbolName":"measure","metadata":{"unresolvedName":"measure"}}],["external:ro.observe",{"id":"external:ro.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"ro.observe"}}],["external:mo.observe",{"id":"external:mo.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"mo.observe"}}],["external:ro.disconnect",{"id":"external:ro.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"ro.disconnect"}}],["external:mo.disconnect",{"id":"external:mo.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"mo.disconnect"}}],["symbol-name:setScrollTop",{"id":"symbol-name:setScrollTop","kind":"symbol","language":"jsts","symbolName":"setScrollTop","metadata":{"unresolvedName":"setScrollTop"}}],["symbol-name:setLeftScrollLeft",{"id":"symbol-name:setLeftScrollLeft","kind":"symbol","language":"jsts","symbolName":"setLeftScrollLeft","metadata":{"unresolvedName":"setLeftScrollLeft"}}],["symbol-name:setRightScrollLeft",{"id":"symbol-name:setRightScrollLeft","kind":"symbol","language":"jsts","symbolName":"setRightScrollLeft","metadata":{"unresolvedName":"setRightScrollLeft"}}],["external:leftGutterRows.push",{"id":"external:leftGutterRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"leftGutterRows.push"}}],["external:leftContentRows.push",{"id":"external:leftContentRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"leftContentRows.push"}}],["external:rightGutterRows.push",{"id":"external:rightGutterRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"rightGutterRows.push"}}],["external:rightContentRows.push",{"id":"external:rightContentRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"rightContentRows.push"}}],["symbol-name:getGutterBgClass",{"id":"symbol-name:getGutterBgClass","kind":"symbol","language":"jsts","symbolName":"getGutterBgClass","metadata":{"unresolvedName":"getGutterBgClass"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"measure","symbolKind":"function","exported":false,"metadata":{"line":1244,"column":21,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:collapseContextUnified",{"id":"symbol-name:collapseContextUnified","kind":"symbol","language":"jsts","symbolName":"collapseContextUnified","metadata":{"unresolvedName":"collapseContextUnified"}}],["symbol-name:setContentWidth",{"id":"symbol-name:setContentWidth","kind":"symbol","language":"jsts","symbolName":"setContentWidth","metadata":{"unresolvedName":"setContentWidth"}}],["symbol-name:setContentClientWidth",{"id":"symbol-name:setContentClientWidth","kind":"symbol","language":"jsts","symbolName":"setContentClientWidth","metadata":{"unresolvedName":"setContentClientWidth"}}],["external:gutterRows.push",{"id":"external:gutterRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"gutterRows.push"}}],["external:contentRows.push",{"id":"external:contentRows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"contentRows.push"}}],["symbol-name:measureWrappedUnifiedRowRef",{"id":"symbol-name:measureWrappedUnifiedRowRef","kind":"symbol","language":"jsts","symbolName":"measureWrappedUnifiedRowRef","metadata":{"unresolvedName":"measureWrappedUnifiedRowRef"}}],["external:line.wordDiffSegments.map",{"id":"external:line.wordDiffSegments.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.wordDiffSegments.map"}}],["external:lineTokens.map",{"id":"external:lineTokens.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"lineTokens.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"MergedWordDiffLine","symbolKind":"function","exported":false,"metadata":{"line":1621,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:token.content.substring",{"id":"external:token.content.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"token.content.substring"}}],["external:children.push",{"id":"external:children.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"children.push"}}],["external:seg.text.substring",{"id":"external:seg.text.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"seg.text.substring"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"computePairedLines","symbolKind":"function","exported":false,"metadata":{"line":1676,"column":1,"cyclomaticComplexity":23,"maxNestingDepth":6,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:before.split",{"id":"external:before.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"before.split"}}],["external:after.split",{"id":"external:after.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"after.split"}}],["symbol-name:computeWordDiff",{"id":"symbol-name:computeWordDiff","kind":"symbol","language":"jsts","symbolName":"computeWordDiff","metadata":{"unresolvedName":"computeWordDiff"}}],["symbol-name:isTooFragmented",{"id":"symbol-name:isTooFragmented","kind":"symbol","language":"jsts","symbolName":"isTooFragmented","metadata":{"unresolvedName":"isTooFragmented"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"computeUnifiedLines","symbolKind":"function","exported":false,"metadata":{"line":1760,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isTooFragmented",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isTooFragmented","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"isTooFragmented","symbolKind":"function","exported":false,"metadata":{"line":1799,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","symbolName":"computeWordDiff","symbolKind":"function","exported":false,"metadata":{"line":1809,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:diffWords",{"id":"symbol-name:diffWords","kind":"symbol","language":"jsts","symbolName":"diffWords","metadata":{"unresolvedName":"diffWords"}}],["external:/^\\s*$/.test",{"id":"external:/^\\s*$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^\\s*$/.test"}}],["external:mergedChanges.push",{"id":"external:mergedChanges.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"mergedChanges.push"}}],["external:left.push",{"id":"external:left.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"left.push"}}],["external:right.push",{"id":"external:right.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"right.push"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","metadata":{"lineCount":112,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:getDerivedStateFromError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:getDerivedStateFromError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","symbolName":"getDerivedStateFromError","symbolKind":"function","exported":false,"metadata":{"line":20,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","symbolName":"componentDidCatch","symbolKind":"function","exported":false,"metadata":{"line":24,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.setState",{"id":"external:this.setState","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setState"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:navigator.clipboard.writeText",{"id":"external:navigator.clipboard.writeText","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.clipboard.writeText"}}],["external:window.location.reload",{"id":"external:window.location.reload","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.location.reload"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","symbolName":"render","symbolKind":"function","exported":false,"metadata":{"line":47,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.state.error?.toString",{"id":"external:this.state.error?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.error?.toString"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","metadata":{"lineCount":104,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","metadata":{"lineCount":428,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":77,"column":99,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getExtensionsMock.mockReset",{"id":"external:getExtensionsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getExtensionsMock.mockReset"}}],["external:installExtensionMock.mockReset",{"id":"external:installExtensionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"installExtensionMock.mockReset"}}],["external:removeExtensionPackageMock.mockReset",{"id":"external:removeExtensionPackageMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"removeExtensionPackageMock.mockReset"}}],["external:vi.spyOn(window, 'confirm').mockReturnValue",{"id":"external:vi.spyOn(window, 'confirm').mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(window, 'confirm').mockReturnValue"}}],["external:getExtensionsMock.mockResolvedValue",{"id":"external:getExtensionsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getExtensionsMock.mockResolvedValue"}}],["external:installExtensionMock.mockResolvedValue",{"id":"external:installExtensionMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"installExtensionMock.mockResolvedValue"}}],["external:removeExtensionPackageMock.mockResolvedValue",{"id":"external:removeExtensionPackageMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"removeExtensionPackageMock.mockResolvedValue"}}],["external:expect(screen.getByText('pi-hud')).toBeInTheDocument",{"id":"external:expect(screen.getByText('pi-hud')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('pi-hud')).toBeInTheDocument"}}],["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.getAllByText('Active').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('Active').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('Active').length).toBeGreaterThan"}}],["external:screen.getAllByText",{"id":"external:screen.getAllByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getAllByText"}}],["external:expect(screen.getAllByText('Inactive').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('Inactive').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('Inactive').length).toBeGreaterThan"}}],["external:expect(screen.getAllByText('Missing').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('Missing').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('Missing').length).toBeGreaterThan"}}],["external:expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan"}}],["external:expect(screen.getByText('Skills 1')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Skills 1')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Skills 1')).toBeInTheDocument"}}],["external:expect(screen.getByText('index.ts')).toBeInTheDocument",{"id":"external:expect(screen.getByText('index.ts')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('index.ts')).toBeInTheDocument"}}],["external:expect(installExtensionMock).toHaveBeenCalledWith",{"id":"external:expect(installExtensionMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(installExtensionMock).toHaveBeenCalledWith"}}],["external:screen.findByText",{"id":"external:screen.findByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.findByText"}}],["external:expect(removeExtensionPackageMock).toHaveBeenCalledWith",{"id":"external:expect(removeExtensionPackageMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(removeExtensionPackageMock).toHaveBeenCalledWith"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":120,"column":5,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setLoading",{"id":"symbol-name:setLoading","kind":"symbol","language":"jsts","symbolName":"setLoading","metadata":{"unresolvedName":"setLoading"}}],["symbol-name:setError",{"id":"symbol-name:setError","kind":"symbol","language":"jsts","symbolName":"setError","metadata":{"unresolvedName":"setError"}}],["symbol-name:setCatalog",{"id":"symbol-name:setCatalog","kind":"symbol","language":"jsts","symbolName":"setCatalog","metadata":{"unresolvedName":"setCatalog"}}],["symbol-name:apiErrorHandler",{"id":"symbol-name:apiErrorHandler","kind":"symbol","language":"jsts","symbolName":"apiErrorHandler","metadata":{"unresolvedName":"apiErrorHandler"}}],["symbol-name:loadExtensions",{"id":"symbol-name:loadExtensions","kind":"symbol","language":"jsts","symbolName":"loadExtensions","metadata":{"unresolvedName":"loadExtensions"}}],["external:filter.trim().toLowerCase",{"id":"external:filter.trim().toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filter.trim().toLowerCase"}}],["external:filter.trim",{"id":"external:filter.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"filter.trim"}}],["external:catalog.packages.filter",{"id":"external:catalog.packages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"catalog.packages.filter"}}],["external:value.toLowerCase().includes",{"id":"external:value.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.toLowerCase().includes"}}],["external:value.toLowerCase",{"id":"external:value.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.toLowerCase"}}],["external:scopes\n .map",{"id":"external:scopes\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"scopes\n .map"}}],["external:filteredPackages.filter",{"id":"external:filteredPackages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredPackages.filter"}}],["external:installCommand.trim",{"id":"external:installCommand.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"installCommand.trim"}}],["symbol-name:setActionLoading",{"id":"symbol-name:setActionLoading","kind":"symbol","language":"jsts","symbolName":"setActionLoading","metadata":{"unresolvedName":"setActionLoading"}}],["symbol-name:setActionError",{"id":"symbol-name:setActionError","kind":"symbol","language":"jsts","symbolName":"setActionError","metadata":{"unresolvedName":"setActionError"}}],["symbol-name:setInstallCommand",{"id":"symbol-name:setInstallCommand","kind":"symbol","language":"jsts","symbolName":"setInstallCommand","metadata":{"unresolvedName":"setInstallCommand"}}],["symbol-name:setReloadRequired",{"id":"symbol-name:setReloadRequired","kind":"symbol","language":"jsts","symbolName":"setReloadRequired","metadata":{"unresolvedName":"setReloadRequired"}}],["external:window.confirm",{"id":"external:window.confirm","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.confirm"}}],["symbol-name:setFilter",{"id":"symbol-name:setFilter","kind":"symbol","language":"jsts","symbolName":"setFilter","metadata":{"unresolvedName":"setFilter"}}],["external:groupedPackages.map",{"id":"external:groupedPackages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupedPackages.map"}}],["external:group.packages.map",{"id":"external:group.packages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.packages.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"InstallCommandCard","symbolKind":"function","exported":false,"metadata":{"line":259,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onCommandChange",{"id":"symbol-name:onCommandChange","kind":"symbol","language":"jsts","symbolName":"onCommandChange","metadata":{"unresolvedName":"onCommandChange"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"SummaryBar","symbolKind":"function","exported":false,"metadata":{"line":308,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:STATUS_ORDER.map",{"id":"external:STATUS_ORDER.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"STATUS_ORDER.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"ExtensionPackageCard","symbolKind":"function","exported":false,"metadata":{"line":322,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:countResources",{"id":"symbol-name:countResources","kind":"symbol","language":"jsts","symbolName":"countResources","metadata":{"unresolvedName":"countResources"}}],["external:detailRows.join",{"id":"external:detailRows.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"detailRows.join"}}],["symbol-name:onUninstall",{"id":"symbol-name:onUninstall","kind":"symbol","language":"jsts","symbolName":"onUninstall","metadata":{"unresolvedName":"onUninstall"}}],["external:resourceCounts.map",{"id":"external:resourceCounts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"resourceCounts.map"}}],["external:extensionResources.map",{"id":"external:extensionResources.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"extensionResources.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"StatusBadge","symbolKind":"function","exported":false,"metadata":{"line":402,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","symbolName":"countResources","symbolKind":"function","exported":false,"metadata":{"line":421,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(['extensions', 'skills', 'prompts', 'themes'] as const)\n .map",{"id":"external:(['extensions', 'skills', 'prompts', 'themes'] as const)\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(['extensions', 'skills', 'prompts', 'themes'] as const)\n .map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","metadata":{"lineCount":1062,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","metadata":{"lineCount":171,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","metadata":{"lineCount":151,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","metadata":{"lineCount":497,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","metadata":{"lineCount":462,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","metadata":{"lineCount":110,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","metadata":{"lineCount":102,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"isMarkdownPreview","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:MARKDOWN_MIME_TYPES.has",{"id":"external:MARKDOWN_MIME_TYPES.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"MARKDOWN_MIME_TYPES.has"}}],["external:mimeType.split(';', 1)[0].toLowerCase",{"id":"external:mimeType.split(';', 1)[0].toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.split(';', 1)[0].toLowerCase"}}],["external:mimeType.split",{"id":"external:mimeType.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1036,"column":29,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useVerticalSplitResize",{"id":"symbol-name:useVerticalSplitResize","kind":"symbol","language":"jsts","symbolName":"useVerticalSplitResize","metadata":{"unresolvedName":"useVerticalSplitResize"}}],["symbol-name:useFileExplorer",{"id":"symbol-name:useFileExplorer","kind":"symbol","language":"jsts","symbolName":"useFileExplorer","metadata":{"unresolvedName":"useFileExplorer"}}],["symbol-name:loadPreview",{"id":"symbol-name:loadPreview","kind":"symbol","language":"jsts","symbolName":"loadPreview","metadata":{"unresolvedName":"loadPreview"}}],["symbol-name:clearPreview",{"id":"symbol-name:clearPreview","kind":"symbol","language":"jsts","symbolName":"clearPreview","metadata":{"unresolvedName":"clearPreview"}}],["symbol-name:refresh",{"id":"symbol-name:refresh","kind":"symbol","language":"jsts","symbolName":"refresh","metadata":{"unresolvedName":"refresh"}}],["symbol-name:toggleExpand",{"id":"symbol-name:toggleExpand","kind":"symbol","language":"jsts","symbolName":"toggleExpand","metadata":{"unresolvedName":"toggleExpand"}}],["external:layoutStore.openFilePreview",{"id":"external:layoutStore.openFilePreview","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.openFilePreview"}}],["external:layoutStore.closeAllFilePreviews",{"id":"external:layoutStore.closeAllFilePreviews","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.closeAllFilePreviews"}}],["symbol-name:resetSplitHeight",{"id":"symbol-name:resetSplitHeight","kind":"symbol","language":"jsts","symbolName":"resetSplitHeight","metadata":{"unresolvedName":"resetSplitHeight"}}],["external:layoutStore.activateFilePreview",{"id":"external:layoutStore.activateFilePreview","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.activateFilePreview"}}],["external:layoutStore.closeFilePreview",{"id":"external:layoutStore.closeFilePreview","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.closeFilePreview"}}],["external:layoutStore.reorderFilePreviews",{"id":"external:layoutStore.reorderFilePreviews","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.reorderFilePreviews"}}],["symbol-name:getMaterialIconUrl",{"id":"symbol-name:getMaterialIconUrl","kind":"symbol","language":"jsts","symbolName":"getMaterialIconUrl","metadata":{"unresolvedName":"getMaterialIconUrl"}}],["external:tree.map",{"id":"external:tree.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"tree.map"}}],["external:expandedPaths.has",{"id":"external:expandedPaths.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedPaths.has"}}],["external:fileStatus.get",{"id":"external:fileStatus.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileStatus.get"}}],["external:node.path.replace",{"id":"external:node.path.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.path.replace"}}],["external:e.dataTransfer.setData",{"id":"external:e.dataTransfer.setData","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.dataTransfer.setData"}}],["symbol-name:onClick",{"id":"symbol-name:onClick","kind":"symbol","language":"jsts","symbolName":"onClick","metadata":{"unresolvedName":"onClick"}}],["external:node.children.map",{"id":"external:node.children.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.children.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"FilePreview","symbolKind":"function","exported":false,"metadata":{"line":409,"column":1,"cyclomaticComplexity":36,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path?.split(/[/\\\\]/).pop",{"id":"external:path?.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"path?.split(/[/\\\\]/).pop"}}],["external:path?.split",{"id":"external:path?.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"path?.split"}}],["symbol-name:downloadFileContent",{"id":"symbol-name:downloadFileContent","kind":"symbol","language":"jsts","symbolName":"downloadFileContent","metadata":{"unresolvedName":"downloadFileContent"}}],["external:previewFiles.map",{"id":"external:previewFiles.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewFiles.map"}}],["symbol-name:getPreviewCategory",{"id":"symbol-name:getPreviewCategory","kind":"symbol","language":"jsts","symbolName":"getPreviewCategory","metadata":{"unresolvedName":"getPreviewCategory"}}],["symbol-name:isMarkdownPreview",{"id":"symbol-name:isMarkdownPreview","kind":"symbol","language":"jsts","symbolName":"isMarkdownPreview","metadata":{"unresolvedName":"isMarkdownPreview"}}],["symbol-name:isBinaryContent",{"id":"symbol-name:isBinaryContent","kind":"symbol","language":"jsts","symbolName":"isBinaryContent","metadata":{"unresolvedName":"isBinaryContent"}}],["symbol-name:decodeBase64Text",{"id":"symbol-name:decodeBase64Text","kind":"symbol","language":"jsts","symbolName":"decodeBase64Text","metadata":{"unresolvedName":"decodeBase64Text"}}],["symbol-name:isTextualMedia",{"id":"symbol-name:isTextualMedia","kind":"symbol","language":"jsts","symbolName":"isTextualMedia","metadata":{"unresolvedName":"isTextualMedia"}}],["symbol-name:buildDataUrl",{"id":"symbol-name:buildDataUrl","kind":"symbol","language":"jsts","symbolName":"buildDataUrl","metadata":{"unresolvedName":"buildDataUrl"}}],["symbol-name:buildTextDataUrl",{"id":"symbol-name:buildTextDataUrl","kind":"symbol","language":"jsts","symbolName":"buildTextDataUrl","metadata":{"unresolvedName":"buildTextDataUrl"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MediaPreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MediaPreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"MediaPreview","symbolKind":"function","exported":false,"metadata":{"line":657,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:formatMimeType",{"id":"symbol-name:formatMimeType","kind":"symbol","language":"jsts","symbolName":"formatMimeType","metadata":{"unresolvedName":"formatMimeType"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"ImagePreview","symbolKind":"function","exported":false,"metadata":{"line":693,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:el.getBoundingClientRect",{"id":"external:el.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.getBoundingClientRect"}}],["symbol-name:computeFitScale",{"id":"symbol-name:computeFitScale","kind":"symbol","language":"jsts","symbolName":"computeFitScale","metadata":{"unresolvedName":"computeFitScale"}}],["symbol-name:setFitScale",{"id":"symbol-name:setFitScale","kind":"symbol","language":"jsts","symbolName":"setFitScale","metadata":{"unresolvedName":"setFitScale"}}],["symbol-name:setScale",{"id":"symbol-name:setScale","kind":"symbol","language":"jsts","symbolName":"setScale","metadata":{"unresolvedName":"setScale"}}],["symbol-name:setTranslate",{"id":"symbol-name:setTranslate","kind":"symbol","language":"jsts","symbolName":"setTranslate","metadata":{"unresolvedName":"setTranslate"}}],["symbol-name:setInitialized",{"id":"symbol-name:setInitialized","kind":"symbol","language":"jsts","symbolName":"setInitialized","metadata":{"unresolvedName":"setInitialized"}}],["symbol-name:updateFitScale",{"id":"symbol-name:updateFitScale","kind":"symbol","language":"jsts","symbolName":"updateFitScale","metadata":{"unresolvedName":"updateFitScale"}}],["external:el.addEventListener",{"id":"external:el.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.addEventListener"}}],["external:el.removeEventListener",{"id":"external:el.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.removeEventListener"}}],["external:Math.abs",{"id":"external:Math.abs","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.abs"}}],["symbol-name:setNaturalSize",{"id":"symbol-name:setNaturalSize","kind":"symbol","language":"jsts","symbolName":"setNaturalSize","metadata":{"unresolvedName":"setNaturalSize"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"updateFitScale","symbolKind":"function","exported":false,"metadata":{"line":719,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"handler","symbolKind":"function","exported":false,"metadata":{"line":745,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"onMove","symbolKind":"function","exported":false,"metadata":{"line":768,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"onUp","symbolKind":"function","exported":false,"metadata":{"line":776,"column":18,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"TextMediaPreview","symbolKind":"function","exported":false,"metadata":{"line":893,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setMode",{"id":"symbol-name:setMode","kind":"symbol","language":"jsts","symbolName":"setMode","metadata":{"unresolvedName":"setMode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"MarkdownFilePreview","symbolKind":"function","exported":false,"metadata":{"line":931,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"BinaryPlaceholder","symbolKind":"function","exported":false,"metadata":{"line":975,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","symbolName":"DiffPreview","symbolKind":"function","exported":true,"metadata":{"line":1022,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:hunks.map",{"id":"external:hunks.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"hunks.map"}}],["external:hunk.lines.map",{"id":"external:hunk.lines.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"hunk.lines.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","metadata":{"lineCount":99,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":90,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:usesCustomDesktopTitlebarMock.mockReset",{"id":"external:usesCustomDesktopTitlebarMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReset"}}],["external:usesCustomDesktopTitlebarMock.mockReturnValue",{"id":"external:usesCustomDesktopTitlebarMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReturnValue"}}],["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:expect(screen.getByTestId('content')).toBeInTheDocument",{"id":"external:expect(screen.getByTestId('content')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('content')).toBeInTheDocument"}}],["external:vi.advanceTimersByTime",{"id":"external:vi.advanceTimersByTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.advanceTimersByTime"}}],["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:expect(screen.queryByText('closeEsc')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('closeEsc')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('closeEsc')).not.toBeInTheDocument"}}],["external:screen.queryByText",{"id":"external:screen.queryByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByText"}}],["external:expect(screen.getByRole('dialog')).toHaveStyle",{"id":"external:expect(screen.getByRole('dialog')).toHaveStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toHaveStyle"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":122,"column":12,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","symbolName":"DeferredFullscreenContent","symbolKind":"function","exported":false,"metadata":{"line":112,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setShouldRender",{"id":"symbol-name:setShouldRender","kind":"symbol","language":"jsts","symbolName":"setShouldRender","metadata":{"unresolvedName":"setShouldRender"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","symbolName":"ViewModeSwitch","symbolKind":"function","exported":true,"metadata":{"line":135,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onChange",{"id":"symbol-name:onChange","kind":"symbol","language":"jsts","symbolName":"onChange","metadata":{"unresolvedName":"onChange"}}],["external:lucide-react",{"id":"external:lucide-react","kind":"external","language":"jsts","metadata":{"source":"lucide-react"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx:wrap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx:wrap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","symbolName":"wrap","symbolKind":"function","exported":false,"metadata":{"line":100,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/index.ts","metadata":{"lineCount":23,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","metadata":{"lineCount":106,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":97,"column":94,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument"}}],["external:expect(codeEl).toBeInTheDocument",{"id":"external:expect(codeEl).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(codeEl).toBeInTheDocument"}}],["external:expect(codeEl.tagName).toBe",{"id":"external:expect(codeEl.tagName).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(codeEl.tagName).toBe"}}],["external:expect(codeEl.className).not.toMatch",{"id":"external:expect(codeEl.className).not.toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(codeEl.className).not.toMatch"}}],["external:expect(codeEl.className).toMatch",{"id":"external:expect(codeEl.className).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(codeEl.className).toMatch"}}],["external:expect(screen.getByTestId('code-block')).toHaveTextContent",{"id":"external:expect(screen.getByTestId('code-block')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('code-block')).toHaveTextContent"}}],["external:expect(screen.getByRole('paragraph')).toHaveTextContent",{"id":"external:expect(screen.getByRole('paragraph')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('paragraph')).toHaveTextContent"}}],["external:expect(heading.className).toMatch",{"id":"external:expect(heading.className).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(heading.className).toMatch"}}],["external:expect(paragraph.className).toMatch",{"id":"external:expect(paragraph.className).toMatch","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(paragraph.className).toMatch"}}],["external:expect(block.dataset.variant).toBe",{"id":"external:expect(block.dataset.variant).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(block.dataset.variant).toBe"}}],["external:expect(screen.getByRole('table')).toBeInTheDocument",{"id":"external:expect(screen.getByRole('table')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('table')).toBeInTheDocument"}}],["external:expect(screen.getByTestId('copy-button')).toBeInTheDocument",{"id":"external:expect(screen.getByTestId('copy-button')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('copy-button')).toBeInTheDocument"}}],["external:expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument"}}],["external:screen.queryByTestId",{"id":"external:screen.queryByTestId","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByTestId"}}],["external:expect(img).toBeInTheDocument",{"id":"external:expect(img).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(img).toBeInTheDocument"}}],["external:expect(img.tagName).toBe",{"id":"external:expect(img.tagName).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(img.tagName).toBe"}}],["external:expect(screen.queryByTitle('Download image')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByTitle('Download image')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByTitle('Download image')).not.toBeInTheDocument"}}],["external:screen.queryByTitle",{"id":"external:screen.queryByTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByTitle"}}],["external:streamdown",{"id":"external:streamdown","kind":"external","language":"jsts","metadata":{"source":"streamdown"}}],["external:@streamdown/math",{"id":"external:@streamdown/math","kind":"external","language":"jsts","metadata":{"source":"@streamdown/math"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":485,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"extractText","symbolKind":"function","exported":false,"metadata":{"line":58,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:node.map(extractText).join",{"id":"external:node.map(extractText).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.map(extractText).join"}}],["external:node.map",{"id":"external:node.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.map"}}],["symbol-name:isValidElement",{"id":"symbol-name:isValidElement","kind":"symbol","language":"jsts","symbolName":"isValidElement","metadata":{"unresolvedName":"isValidElement"}}],["symbol-name:extractText",{"id":"symbol-name:extractText","kind":"symbol","language":"jsts","symbolName":"extractText","metadata":{"unresolvedName":"extractText"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"extractBlockCode","symbolKind":"function","exported":false,"metadata":{"line":69,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:/language-([\\w-]+)/.exec",{"id":"external:/language-([\\w-]+)/.exec","kind":"external","language":"jsts","metadata":{"unresolvedName":"/language-([\\w-]+)/.exec"}}],["external:extractText(props.children).replace",{"id":"external:extractText(props.children).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"extractText(props.children).replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"extractTableData","symbolKind":"function","exported":false,"metadata":{"line":89,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:cells\r\n .filter(isValidElement)\r\n .map",{"id":"external:cells\r\n .filter(isValidElement)\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"cells\r\n .filter(isValidElement)\r\n .map"}}],["external:cells\r\n .filter",{"id":"external:cells\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"cells\r\n .filter"}}],["external:String(sectionType).toLowerCase().includes",{"id":"external:String(sectionType).toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"String(sectionType).toLowerCase().includes"}}],["external:String(sectionType).toLowerCase",{"id":"external:String(sectionType).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"String(sectionType).toLowerCase"}}],["external:headers.push",{"id":"external:headers.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"headers.push"}}],["external:rows.push",{"id":"external:rows.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"rows.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"tableToMarkdown","symbolKind":"function","exported":false,"metadata":{"line":119,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:headers.map",{"id":"external:headers.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"headers.map"}}],["external:headers.join",{"id":"external:headers.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"headers.join"}}],["external:sep.join",{"id":"external:sep.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"sep.join"}}],["external:rows.map",{"id":"external:rows.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"rows.map"}}],["external:r.join",{"id":"external:r.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"r.join"}}],["external:lines.join",{"id":"external:lines.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"lines.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"injectTableCopyButton","symbolKind":"function","exported":false,"metadata":{"line":126,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Children.map",{"id":"external:Children.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Children.map"}}],["external:Children.toArray",{"id":"external:Children.toArray","kind":"external","language":"jsts","metadata":{"unresolvedName":"Children.toArray"}}],["symbol-name:cloneElement",{"id":"symbol-name:cloneElement","kind":"symbol","language":"jsts","symbolName":"cloneElement","metadata":{"unresolvedName":"cloneElement"}}],["external:cells.map",{"id":"external:cells.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"cells.map"}}],["symbol-name:extractTableData",{"id":"symbol-name:extractTableData","kind":"symbol","language":"jsts","symbolName":"extractTableData","metadata":{"unresolvedName":"extractTableData"}}],["symbol-name:tableToMarkdown",{"id":"symbol-name:tableToMarkdown","kind":"symbol","language":"jsts","symbolName":"tableToMarkdown","metadata":{"unresolvedName":"tableToMarkdown"}}],["symbol-name:injectTableCopyButton",{"id":"symbol-name:injectTableCopyButton","kind":"symbol","language":"jsts","symbolName":"injectTableCopyButton","metadata":{"unresolvedName":"injectTableCopyButton"}}],["symbol-name:extractBlockCode",{"id":"symbol-name:extractBlockCode","kind":"symbol","language":"jsts","symbolName":"extractBlockCode","metadata":{"unresolvedName":"extractBlockCode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:inlineCode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:inlineCode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"inlineCode","symbolKind":"function","exported":false,"metadata":{"line":240,"column":7,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:pre",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:pre","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","symbolName":"pre","symbolKind":"function","exported":false,"metadata":{"line":245,"column":7,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","metadata":{"lineCount":623,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":530,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Object.entries(statusResponse.servers).map",{"id":"external:Object.entries(statusResponse.servers).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(statusResponse.servers).map"}}],["external:entries.sort",{"id":"external:entries.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.sort"}}],["symbol-name:setServers",{"id":"symbol-name:setServers","kind":"symbol","language":"jsts","symbolName":"setServers","metadata":{"unresolvedName":"setServers"}}],["symbol-name:loadStatus",{"id":"symbol-name:loadStatus","kind":"symbol","language":"jsts","symbolName":"loadStatus","metadata":{"unresolvedName":"loadStatus"}}],["symbol-name:connectMcpServer",{"id":"symbol-name:connectMcpServer","kind":"symbol","language":"jsts","symbolName":"connectMcpServer","metadata":{"unresolvedName":"connectMcpServer"}}],["symbol-name:disconnectMcpServer",{"id":"symbol-name:disconnectMcpServer","kind":"symbol","language":"jsts","symbolName":"disconnectMcpServer","metadata":{"unresolvedName":"disconnectMcpServer"}}],["symbol-name:authenticateMcp",{"id":"symbol-name:authenticateMcp","kind":"symbol","language":"jsts","symbolName":"authenticateMcp","metadata":{"unresolvedName":"authenticateMcp"}}],["symbol-name:startMcpAuth",{"id":"symbol-name:startMcpAuth","kind":"symbol","language":"jsts","symbolName":"startMcpAuth","metadata":{"unresolvedName":"startMcpAuth"}}],["external:(await import('../utils/tauri')).isTauri",{"id":"external:(await import('../utils/tauri')).isTauri","kind":"external","language":"jsts","metadata":{"unresolvedName":"(await import('../utils/tauri')).isTauri"}}],["external:import('@tauri-apps/plugin-opener')\n .then",{"id":"external:import('@tauri-apps/plugin-opener')\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener')\n .then"}}],["external:mod.openUrl",{"id":"external:mod.openUrl","kind":"external","language":"jsts","metadata":{"unresolvedName":"mod.openUrl"}}],["external:window.open",{"id":"external:window.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.open"}}],["symbol-name:addMcpServer",{"id":"symbol-name:addMcpServer","kind":"symbol","language":"jsts","symbolName":"addMcpServer","metadata":{"unresolvedName":"addMcpServer"}}],["symbol-name:setShowAddForm",{"id":"symbol-name:setShowAddForm","kind":"symbol","language":"jsts","symbolName":"setShowAddForm","metadata":{"unresolvedName":"setShowAddForm"}}],["external:servers.map",{"id":"external:servers.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"servers.map"}}],["external:name.trim",{"id":"external:name.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.trim"}}],["external:command.trim().split",{"id":"external:command.trim().split","kind":"external","language":"jsts","metadata":{"unresolvedName":"command.trim().split"}}],["external:cmdParts.slice",{"id":"external:cmdParts.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmdParts.slice"}}],["symbol-name:onSubmit",{"id":"symbol-name:onSubmit","kind":"symbol","language":"jsts","symbolName":"onSubmit","metadata":{"unresolvedName":"onSubmit"}}],["external:url.trim",{"id":"external:url.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.trim"}}],["symbol-name:setServerType",{"id":"symbol-name:setServerType","kind":"symbol","language":"jsts","symbolName":"setServerType","metadata":{"unresolvedName":"setServerType"}}],["symbol-name:setName",{"id":"symbol-name:setName","kind":"symbol","language":"jsts","symbolName":"setName","metadata":{"unresolvedName":"setName"}}],["symbol-name:setCommand",{"id":"symbol-name:setCommand","kind":"symbol","language":"jsts","symbolName":"setCommand","metadata":{"unresolvedName":"setCommand"}}],["symbol-name:setUrl",{"id":"symbol-name:setUrl","kind":"symbol","language":"jsts","symbolName":"setUrl","metadata":{"unresolvedName":"setUrl"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":301,"column":24,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getErrorMessage",{"id":"symbol-name:getErrorMessage","kind":"symbol","language":"jsts","symbolName":"getErrorMessage","metadata":{"unresolvedName":"getErrorMessage"}}],["symbol-name:getStatusInfo",{"id":"symbol-name:getStatusInfo","kind":"symbol","language":"jsts","symbolName":"getStatusInfo","metadata":{"unresolvedName":"getStatusInfo"}}],["symbol-name:onDisconnect",{"id":"symbol-name:onDisconnect","kind":"symbol","language":"jsts","symbolName":"onDisconnect","metadata":{"unresolvedName":"onDisconnect"}}],["symbol-name:onConnect",{"id":"symbol-name:onConnect","kind":"symbol","language":"jsts","symbolName":"onConnect","metadata":{"unresolvedName":"onConnect"}}],["symbol-name:onAuth",{"id":"symbol-name:onAuth","kind":"symbol","language":"jsts","symbolName":"onAuth","metadata":{"unresolvedName":"onAuth"}}],["symbol-name:setExpanded",{"id":"symbol-name:setExpanded","kind":"symbol","language":"jsts","symbolName":"setExpanded","metadata":{"unresolvedName":"setExpanded"}}],["symbol-name:getStatusDotColor",{"id":"symbol-name:getStatusDotColor","kind":"symbol","language":"jsts","symbolName":"getStatusDotColor","metadata":{"unresolvedName":"getStatusDotColor"}}],["symbol-name:renderActions",{"id":"symbol-name:renderActions","kind":"symbol","language":"jsts","symbolName":"renderActions","metadata":{"unresolvedName":"renderActions"}}],["external:status.args?.join",{"id":"external:status.args?.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"status.args?.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getErrorMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getErrorMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"getErrorMessage","symbolKind":"function","exported":false,"metadata":{"line":459,"column":27,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"getStatusInfo","symbolKind":"function","exported":false,"metadata":{"line":472,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"renderActions","symbolKind":"function","exported":false,"metadata":{"line":495,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusDotColor",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusDotColor","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","symbolName":"getStatusDotColor","symbolKind":"function","exported":false,"metadata":{"line":546,"column":29,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","metadata":{"lineCount":602,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","metadata":{"lineCount":381,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"cosineStrength","symbolKind":"function","exported":false,"metadata":{"line":71,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.cos",{"id":"external:Math.cos","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.cos"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"smoothStep","symbolKind":"function","exported":false,"metadata":{"line":75,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"queryCachedItems","symbolKind":"function","exported":false,"metadata":{"line":136,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Array.from(container.querySelectorAll(ITEM_SEL))\r\n .map",{"id":"external:Array.from(container.querySelectorAll(ITEM_SEL))\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(container.querySelectorAll(ITEM_SEL))\r\n .map"}}],["external:el.querySelector",{"id":"external:el.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.querySelector"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"applyFisheye","symbolKind":"function","exported":false,"metadata":{"line":147,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:items[i].el.getBoundingClientRect",{"id":"external:items[i].el.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"items[i].el.getBoundingClientRect"}}],["symbol-name:cosineStrength",{"id":"symbol-name:cosineStrength","kind":"symbol","language":"jsts","symbolName":"cosineStrength","metadata":{"unresolvedName":"cosineStrength"}}],["symbol-name:smoothStep",{"id":"symbol-name:smoothStep","kind":"symbol","language":"jsts","symbolName":"smoothStep","metadata":{"unresolvedName":"smoothStep"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"truncate","symbolKind":"function","exported":false,"metadata":{"line":211,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:s.slice",{"id":"external:s.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"normalizeWhitespace","symbolKind":"function","exported":false,"metadata":{"line":215,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:s.replace(/\\s+/g, ' ').trim",{"id":"external:s.replace(/\\s+/g, ' ').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.replace(/\\s+/g, ' ').trim"}}],["external:s.replace",{"id":"external:s.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"messageHasContent","symbolKind":"function","exported":false,"metadata":{"line":219,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:hasRenderableParts",{"id":"symbol-name:hasRenderableParts","kind":"symbol","language":"jsts","symbolName":"hasRenderableParts","metadata":{"unresolvedName":"hasRenderableParts"}}],["symbol-name:isAbortedMessage",{"id":"symbol-name:isAbortedMessage","kind":"symbol","language":"jsts","symbolName":"isAbortedMessage","metadata":{"unresolvedName":"isAbortedMessage"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"extractEntries","symbolKind":"function","exported":false,"metadata":{"line":228,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:messages.filter",{"id":"external:messages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.filter"}}],["symbol-name:isUserMessage",{"id":"symbol-name:isUserMessage","kind":"symbol","language":"jsts","symbolName":"isUserMessage","metadata":{"unresolvedName":"isUserMessage"}}],["external:msg.info.summary?.title?.trim",{"id":"external:msg.info.summary?.title?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"msg.info.summary?.title?.trim"}}],["external:getMessageText(msg)\r\n .trim()\r\n .split(/\\r?\\n/)\r\n .map",{"id":"external:getMessageText(msg)\r\n .trim()\r\n .split(/\\r?\\n/)\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim()\r\n .split(/\\r?\\n/)\r\n .map"}}],["external:getMessageText(msg)\r\n .trim()\r\n .split",{"id":"external:getMessageText(msg)\r\n .trim()\r\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim()\r\n .split"}}],["external:getMessageText(msg)\r\n .trim",{"id":"external:getMessageText(msg)\r\n .trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim"}}],["external:l.trim",{"id":"external:l.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"l.trim"}}],["symbol-name:normalizeWhitespace",{"id":"symbol-name:normalizeWhitespace","kind":"symbol","language":"jsts","symbolName":"normalizeWhitespace","metadata":{"unresolvedName":"normalizeWhitespace"}}],["symbol-name:truncate",{"id":"symbol-name:truncate","kind":"symbol","language":"jsts","symbolName":"truncate","metadata":{"unresolvedName":"truncate"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"sliceAroundVisible","symbolKind":"function","exported":false,"metadata":{"line":252,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:visibleSet.has",{"id":"external:visibleSet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleSet.has"}}],["external:entries.slice",{"id":"external:entries.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:TickRail",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:TickRail","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"TickRail","symbolKind":"function","exported":false,"metadata":{"line":287,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":566,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:extractEntries",{"id":"symbol-name:extractEntries","kind":"symbol","language":"jsts","symbolName":"extractEntries","metadata":{"unresolvedName":"extractEntries"}}],["symbol-name:sliceAroundVisible",{"id":"symbol-name:sliceAroundVisible","kind":"symbol","language":"jsts","symbolName":"sliceAroundVisible","metadata":{"unresolvedName":"sliceAroundVisible"}}],["symbol-name:queryCachedItems",{"id":"symbol-name:queryCachedItems","kind":"symbol","language":"jsts","symbolName":"queryCachedItems","metadata":{"unresolvedName":"queryCachedItems"}}],["symbol-name:applyFisheye",{"id":"symbol-name:applyFisheye","kind":"symbol","language":"jsts","symbolName":"applyFisheye","metadata":{"unresolvedName":"applyFisheye"}}],["symbol-name:getItems",{"id":"symbol-name:getItems","kind":"symbol","language":"jsts","symbolName":"getItems","metadata":{"unresolvedName":"getItems"}}],["symbol-name:setZoneActive",{"id":"symbol-name:setZoneActive","kind":"symbol","language":"jsts","symbolName":"setZoneActive","metadata":{"unresolvedName":"setZoneActive"}}],["symbol-name:kick",{"id":"symbol-name:kick","kind":"symbol","language":"jsts","symbolName":"kick","metadata":{"unresolvedName":"kick"}}],["symbol-name:deactivate",{"id":"symbol-name:deactivate","kind":"symbol","language":"jsts","symbolName":"deactivate","metadata":{"unresolvedName":"deactivate"}}],["symbol-name:onSelect",{"id":"symbol-name:onSelect","kind":"symbol","language":"jsts","symbolName":"onSelect","metadata":{"unresolvedName":"onSelect"}}],["external:bridge.vibrate",{"id":"external:bridge.vibrate","kind":"external","language":"jsts","metadata":{"unresolvedName":"bridge.vibrate"}}],["external:navigator.vibrate",{"id":"external:navigator.vibrate","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.vibrate"}}],["symbol-name:vibrate",{"id":"symbol-name:vibrate","kind":"symbol","language":"jsts","symbolName":"vibrate","metadata":{"unresolvedName":"vibrate"}}],["symbol-name:setOverlayVisible",{"id":"symbol-name:setOverlayVisible","kind":"symbol","language":"jsts","symbolName":"setOverlayVisible","metadata":{"unresolvedName":"setOverlayVisible"}}],["external:kickRef.current",{"id":"external:kickRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"kickRef.current"}}],["external:onSelectRef.current",{"id":"external:onSelectRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"onSelectRef.current"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"onStart","symbolKind":"function","exported":false,"metadata":{"line":534,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"onMove","symbolKind":"function","exported":false,"metadata":{"line":542,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","symbolName":"onEnd","symbolKind":"function","exported":false,"metadata":{"line":546,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","symbolName":"getTabLabel","symbolKind":"function","exported":false,"metadata":{"line":49,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tabs.filter",{"id":"external:tabs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.filter"}}],["external:fileTabs.findIndex",{"id":"external:fileTabs.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileTabs.findIndex"}}],["external:changesTabs.findIndex",{"id":"external:changesTabs.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"changesTabs.findIndex"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":691,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:layout.panelTabs.filter",{"id":"external:layout.panelTabs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"layout.panelTabs.filter"}}],["external:tabs.find",{"id":"external:tabs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.find"}}],["external:addMenuRef.current.contains",{"id":"external:addMenuRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"addMenuRef.current.contains"}}],["external:addButtonRef.current.contains",{"id":"external:addButtonRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"addButtonRef.current.contains"}}],["symbol-name:setAddMenuPos",{"id":"symbol-name:setAddMenuPos","kind":"symbol","language":"jsts","symbolName":"setAddMenuPos","metadata":{"unresolvedName":"setAddMenuPos"}}],["external:contextMenuRef.current.contains",{"id":"external:contextMenuRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"contextMenuRef.current.contains"}}],["symbol-name:setContextMenu",{"id":"symbol-name:setContextMenu","kind":"symbol","language":"jsts","symbolName":"setContextMenu","metadata":{"unresolvedName":"setContextMenu"}}],["symbol-name:setEditingTabId",{"id":"symbol-name:setEditingTabId","kind":"symbol","language":"jsts","symbolName":"setEditingTabId","metadata":{"unresolvedName":"setEditingTabId"}}],["external:tabs.some",{"id":"external:tabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.some"}}],["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:layoutStore.closeRightPanel",{"id":"external:layoutStore.closeRightPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.closeRightPanel"}}],["external:layoutStore.setActiveTab",{"id":"external:layoutStore.setActiveTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setActiveTab"}}],["symbol-name:onCloseTerminal",{"id":"symbol-name:onCloseTerminal","kind":"symbol","language":"jsts","symbolName":"onCloseTerminal","metadata":{"unresolvedName":"onCloseTerminal"}}],["external:layoutStore.removeTab",{"id":"external:layoutStore.removeTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.removeTab"}}],["external:layoutStore.moveTab",{"id":"external:layoutStore.moveTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.moveTab"}}],["symbol-name:setEditingValue",{"id":"symbol-name:setEditingValue","kind":"symbol","language":"jsts","symbolName":"setEditingValue","metadata":{"unresolvedName":"setEditingValue"}}],["external:editingValue.trim",{"id":"external:editingValue.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"editingValue.trim"}}],["symbol-name:cancelRename",{"id":"symbol-name:cancelRename","kind":"symbol","language":"jsts","symbolName":"cancelRename","metadata":{"unresolvedName":"cancelRename"}}],["symbol-name:updatePtySession",{"id":"symbol-name:updatePtySession","kind":"symbol","language":"jsts","symbolName":"updatePtySession","metadata":{"unresolvedName":"updatePtySession"}}],["external:layoutStore.updateTerminalCustomTitle",{"id":"external:layoutStore.updateTerminalCustomTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.updateTerminalCustomTitle"}}],["symbol-name:setDraggedId",{"id":"symbol-name:setDraggedId","kind":"symbol","language":"jsts","symbolName":"setDraggedId","metadata":{"unresolvedName":"setDraggedId"}}],["symbol-name:setDragOverId",{"id":"symbol-name:setDragOverId","kind":"symbol","language":"jsts","symbolName":"setDragOverId","metadata":{"unresolvedName":"setDragOverId"}}],["external:layoutStore.reorderTabs",{"id":"external:layoutStore.reorderTabs","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.reorderTabs"}}],["external:tabs.map",{"id":"external:tabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.map"}}],["symbol-name:getTabLabel",{"id":"symbol-name:getTabLabel","kind":"symbol","language":"jsts","symbolName":"getTabLabel","metadata":{"unresolvedName":"getTabLabel"}}],["symbol-name:handleSelectTab",{"id":"symbol-name:handleSelectTab","kind":"symbol","language":"jsts","symbolName":"handleSelectTab","metadata":{"unresolvedName":"handleSelectTab"}}],["symbol-name:handleCloseTab",{"id":"symbol-name:handleCloseTab","kind":"symbol","language":"jsts","symbolName":"handleCloseTab","metadata":{"unresolvedName":"handleCloseTab"}}],["symbol-name:handleContextMenu",{"id":"symbol-name:handleContextMenu","kind":"symbol","language":"jsts","symbolName":"handleContextMenu","metadata":{"unresolvedName":"handleContextMenu"}}],["symbol-name:startRename",{"id":"symbol-name:startRename","kind":"symbol","language":"jsts","symbolName":"startRename","metadata":{"unresolvedName":"startRename"}}],["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:submitRename",{"id":"symbol-name:submitRename","kind":"symbol","language":"jsts","symbolName":"submitRename","metadata":{"unresolvedName":"submitRename"}}],["external:addButtonRef.current.getBoundingClientRect",{"id":"external:addButtonRef.current.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"addButtonRef.current.getBoundingClientRect"}}],["symbol-name:children",{"id":"symbol-name:children","kind":"symbol","language":"jsts","symbolName":"children","metadata":{"unresolvedName":"children"}}],["symbol-name:onNewTerminal",{"id":"symbol-name:onNewTerminal","kind":"symbol","language":"jsts","symbolName":"onNewTerminal","metadata":{"unresolvedName":"onNewTerminal"}}],["external:layoutStore.addFilesTab",{"id":"external:layoutStore.addFilesTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addFilesTab"}}],["external:layoutStore.addChangesTab",{"id":"external:layoutStore.addChangesTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addChangesTab"}}],["external:layoutStore.addMcpTab",{"id":"external:layoutStore.addMcpTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addMcpTab"}}],["external:layoutStore.addSkillTab",{"id":"external:layoutStore.addSkillTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addSkillTab"}}],["external:layoutStore.addWorktreeTab",{"id":"external:layoutStore.addWorktreeTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addWorktreeTab"}}],["external:layoutStore.addExtensionTab",{"id":"external:layoutStore.addExtensionTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.addExtensionTab"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":149,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onDragStart",{"id":"symbol-name:onDragStart","kind":"symbol","language":"jsts","symbolName":"onDragStart","metadata":{"unresolvedName":"onDragStart"}}],["external:document.elementFromPoint",{"id":"external:document.elementFromPoint","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.elementFromPoint"}}],["external:target?.closest",{"id":"external:target?.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"target?.closest"}}],["external:tabEl.getAttribute",{"id":"external:tabEl.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabEl.getAttribute"}}],["symbol-name:onDragOver",{"id":"symbol-name:onDragOver","kind":"symbol","language":"jsts","symbolName":"onDragOver","metadata":{"unresolvedName":"onDragOver"}}],["symbol-name:onDragEnd",{"id":"symbol-name:onDragEnd","kind":"symbol","language":"jsts","symbolName":"onDragEnd","metadata":{"unresolvedName":"onDragEnd"}}],["symbol-name:onEditingValueChange",{"id":"symbol-name:onEditingValueChange","kind":"symbol","language":"jsts","symbolName":"onEditingValueChange","metadata":{"unresolvedName":"onEditingValueChange"}}],["symbol-name:onEditSubmit",{"id":"symbol-name:onEditSubmit","kind":"symbol","language":"jsts","symbolName":"onEditSubmit","metadata":{"unresolvedName":"onEditSubmit"}}],["symbol-name:onEditCancel",{"id":"symbol-name:onEditCancel","kind":"symbol","language":"jsts","symbolName":"onEditCancel","metadata":{"unresolvedName":"onEditCancel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","symbolName":"handleDragStart","symbolKind":"function","exported":false,"metadata":{"line":561,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":122,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onReorder",{"id":"symbol-name:onReorder","kind":"symbol","language":"jsts","symbolName":"onReorder","metadata":{"unresolvedName":"onReorder"}}],["external:items.map",{"id":"external:items.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.map"}}],["external:event.dataTransfer.setData",{"id":"external:event.dataTransfer.setData","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.dataTransfer.setData"}}],["symbol-name:onActivate",{"id":"symbol-name:onActivate","kind":"symbol","language":"jsts","symbolName":"onActivate","metadata":{"unresolvedName":"onActivate"}}],["external:event.stopPropagation",{"id":"external:event.stopPropagation","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.stopPropagation"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","symbolName":"PanelFallback","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":251,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:layoutStore.setRightPanelWidth",{"id":"external:layoutStore.setRightPanelWidth","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setRightPanelWidth"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","metadata":{"lineCount":291,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","metadata":{"lineCount":1226,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","metadata":{"lineCount":47,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":282,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:changeScopeStore.clearAll",{"id":"external:changeScopeStore.clearAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeScopeStore.clearAll"}}],["external:getCurrentProject.mockResolvedValue",{"id":"external:getCurrentProject.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValue"}}],["external:getVcsInfo.mockResolvedValue",{"id":"external:getVcsInfo.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getVcsInfo.mockResolvedValue"}}],["external:getVcsDiff.mockImplementation",{"id":"external:getVcsDiff.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"getVcsDiff.mockImplementation"}}],["external:getSessionDiff.mockResolvedValue",{"id":"external:getSessionDiff.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionDiff.mockResolvedValue"}}],["external:getLastTurnDiff.mockResolvedValue",{"id":"external:getLastTurnDiff.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getLastTurnDiff.mockResolvedValue"}}],["external:initGitProject.mockResolvedValue",{"id":"external:initGitProject.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"initGitProject.mockResolvedValue"}}],["external:expect(getSessionDiff).toHaveBeenCalledWith",{"id":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}}],["external:expect(screen.getByText('2f')).toBeInTheDocument",{"id":"external:expect(screen.getByText('2f')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('2f')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('+1').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('+1').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('+1').length).toBeGreaterThan"}}],["external:expect(screen.getAllByText('-1').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('-1').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('-1').length).toBeGreaterThan"}}],["external:expect(screen.getByTestId('diff-viewer')).toBeInTheDocument",{"id":"external:expect(screen.getByTestId('diff-viewer')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('diff-viewer')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('app.ts').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('app.ts').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('app.ts').length).toBeGreaterThan"}}],["external:expect(getLastTurnDiff).toHaveBeenCalledWith",{"id":"external:expect(getLastTurnDiff).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getLastTurnDiff).toHaveBeenCalledWith"}}],["external:expect(changeScopeStore.getMode('session-1')).toBe",{"id":"external:expect(changeScopeStore.getMode('session-1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(changeScopeStore.getMode('session-1')).toBe"}}],["external:changeScopeStore.getMode",{"id":"external:changeScopeStore.getMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeScopeStore.getMode"}}],["external:expect(screen.getByText('1f')).toBeInTheDocument",{"id":"external:expect(screen.getByText('1f')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('1f')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('turn.ts').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('turn.ts').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('turn.ts').length).toBeGreaterThan"}}],["external:expect(getVcsDiff).toHaveBeenCalledWith",{"id":"external:expect(getVcsDiff).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getVcsDiff).toHaveBeenCalledWith"}}],["external:expect(screen.getAllByText('branch.ts').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('branch.ts').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('branch.ts').length).toBeGreaterThan"}}],["external:expect(sessionChangesOption).toHaveFocus",{"id":"external:expect(sessionChangesOption).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionChangesOption).toHaveFocus"}}],["external:expect(lastTurnOption).toHaveFocus",{"id":"external:expect(lastTurnOption).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lastTurnOption).toHaveFocus"}}],["external:expect(treeButton).toHaveAttribute",{"id":"external:expect(treeButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(treeButton).toHaveAttribute"}}],["external:expect(unifiedButton).toHaveAttribute",{"id":"external:expect(unifiedButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(unifiedButton).toHaveAttribute"}}],["external:expect(listButton).toHaveAttribute",{"id":"external:expect(listButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(listButton).toHaveAttribute"}}],["external:expect(splitButton).toHaveAttribute",{"id":"external:expect(splitButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(splitButton).toHaveAttribute"}}],["external:getCurrentProject.mockResolvedValueOnce",{"id":"external:getCurrentProject.mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValueOnce"}}],["external:expect(initGitProject).toHaveBeenCalledWith",{"id":"external:expect(initGitProject).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(initGitProject).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"getDefaultChangeMode","symbolKind":"function","exported":false,"metadata":{"line":31,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:options.includes",{"id":"external:options.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"reconcileDiffPreviewState","symbolKind":"function","exported":false,"metadata":{"line":39,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:diffs.map",{"id":"external:diffs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"diffs.map"}}],["external:openFiles.filter",{"id":"external:openFiles.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"openFiles.filter"}}],["external:availableFiles.has",{"id":"external:availableFiles.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"availableFiles.has"}}],["external:nextOpenFiles.push",{"id":"external:nextOpenFiles.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextOpenFiles.push"}}],["external:nextOpenFiles.includes",{"id":"external:nextOpenFiles.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextOpenFiles.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1210,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:useSessionChangeScope",{"id":"symbol-name:useSessionChangeScope","kind":"symbol","language":"jsts","symbolName":"useSessionChangeScope","metadata":{"unresolvedName":"useSessionChangeScope"}}],["symbol-name:useId",{"id":"symbol-name:useId","kind":"symbol","language":"jsts","symbolName":"useId","metadata":{"unresolvedName":"useId"}}],["external:changeScopeStore.setMode",{"id":"external:changeScopeStore.setMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeScopeStore.setMode"}}],["external:options.push",{"id":"external:options.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.push"}}],["symbol-name:getDefaultChangeMode",{"id":"symbol-name:getDefaultChangeMode","kind":"symbol","language":"jsts","symbolName":"getDefaultChangeMode","metadata":{"unresolvedName":"getDefaultChangeMode"}}],["external:changeMenuOptionRefs.current[mode]?.focus",{"id":"external:changeMenuOptionRefs.current[mode]?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeMenuOptionRefs.current[mode]?.focus"}}],["external:element?.closest",{"id":"external:element?.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"element?.closest"}}],["external:window.getComputedStyle",{"id":"external:window.getComputedStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.getComputedStyle"}}],["external:document.body.querySelectorAll",{"id":"external:document.body.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.querySelectorAll"}}],["external:element.closest",{"id":"external:element.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"element.closest"}}],["external:focusables.findIndex",{"id":"external:focusables.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusables.findIndex"}}],["external:focusables[currentIndex + direction]?.focus",{"id":"external:focusables[currentIndex + direction]?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusables[currentIndex + direction]?.focus"}}],["symbol-name:setMountedPreviewFiles",{"id":"symbol-name:setMountedPreviewFiles","kind":"symbol","language":"jsts","symbolName":"setMountedPreviewFiles","metadata":{"unresolvedName":"setMountedPreviewFiles"}}],["external:[...prev].filter",{"id":"external:[...prev].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...prev].filter"}}],["external:openFiles.has",{"id":"external:openFiles.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"openFiles.has"}}],["external:next.add",{"id":"external:next.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.add"}}],["external:[...next].every",{"id":"external:[...next].every","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...next].every"}}],["external:prev.has",{"id":"external:prev.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.has"}}],["external:changeMenuRef.current?.contains",{"id":"external:changeMenuRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeMenuRef.current?.contains"}}],["external:changeMenuTriggerRef.current?.contains",{"id":"external:changeMenuTriggerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.contains"}}],["symbol-name:setChangeMenuOpen",{"id":"symbol-name:setChangeMenuOpen","kind":"symbol","language":"jsts","symbolName":"setChangeMenuOpen","metadata":{"unresolvedName":"setChangeMenuOpen"}}],["symbol-name:isVisibleFocusableElement",{"id":"symbol-name:isVisibleFocusableElement","kind":"symbol","language":"jsts","symbolName":"isVisibleFocusableElement","metadata":{"unresolvedName":"isVisibleFocusableElement"}}],["external:changeMenuTriggerRef.current?.focus",{"id":"external:changeMenuTriggerRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}}],["external:changeOptions.includes",{"id":"external:changeOptions.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeOptions.includes"}}],["symbol-name:focusChangeMenuOption",{"id":"symbol-name:focusChangeMenuOption","kind":"symbol","language":"jsts","symbolName":"focusChangeMenuOption","metadata":{"unresolvedName":"focusChangeMenuOption"}}],["external:changeOptions.findIndex",{"id":"external:changeOptions.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeOptions.findIndex"}}],["symbol-name:focusRelativeToChangeTrigger",{"id":"symbol-name:focusRelativeToChangeTrigger","kind":"symbol","language":"jsts","symbolName":"focusRelativeToChangeTrigger","metadata":{"unresolvedName":"focusRelativeToChangeTrigger"}}],["symbol-name:focusByIndex",{"id":"symbol-name:focusByIndex","kind":"symbol","language":"jsts","symbolName":"focusByIndex","metadata":{"unresolvedName":"focusByIndex"}}],["symbol-name:setProjectLoading",{"id":"symbol-name:setProjectLoading","kind":"symbol","language":"jsts","symbolName":"setProjectLoading","metadata":{"unresolvedName":"setProjectLoading"}}],["symbol-name:getCurrentProject",{"id":"symbol-name:getCurrentProject","kind":"symbol","language":"jsts","symbolName":"getCurrentProject","metadata":{"unresolvedName":"getCurrentProject"}}],["symbol-name:setProject",{"id":"symbol-name:setProject","kind":"symbol","language":"jsts","symbolName":"setProject","metadata":{"unresolvedName":"setProject"}}],["external:getVcsInfo(directory).catch",{"id":"external:getVcsInfo(directory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getVcsInfo(directory).catch"}}],["symbol-name:getVcsInfo",{"id":"symbol-name:getVcsInfo","kind":"symbol","language":"jsts","symbolName":"getVcsInfo","metadata":{"unresolvedName":"getVcsInfo"}}],["symbol-name:setVcsInfo",{"id":"symbol-name:setVcsInfo","kind":"symbol","language":"jsts","symbolName":"setVcsInfo","metadata":{"unresolvedName":"setVcsInfo"}}],["symbol-name:sessionErrorHandler",{"id":"symbol-name:sessionErrorHandler","kind":"symbol","language":"jsts","symbolName":"sessionErrorHandler","metadata":{"unresolvedName":"sessionErrorHandler"}}],["symbol-name:setLoadingModes",{"id":"symbol-name:setLoadingModes","kind":"symbol","language":"jsts","symbolName":"setLoadingModes","metadata":{"unresolvedName":"setLoadingModes"}}],["symbol-name:getVcsDiff",{"id":"symbol-name:getVcsDiff","kind":"symbol","language":"jsts","symbolName":"getVcsDiff","metadata":{"unresolvedName":"getVcsDiff"}}],["symbol-name:getSessionDiff",{"id":"symbol-name:getSessionDiff","kind":"symbol","language":"jsts","symbolName":"getSessionDiff","metadata":{"unresolvedName":"getSessionDiff"}}],["symbol-name:getLastTurnDiff",{"id":"symbol-name:getLastTurnDiff","kind":"symbol","language":"jsts","symbolName":"getLastTurnDiff","metadata":{"unresolvedName":"getLastTurnDiff"}}],["symbol-name:setGitDiffs",{"id":"symbol-name:setGitDiffs","kind":"symbol","language":"jsts","symbolName":"setGitDiffs","metadata":{"unresolvedName":"setGitDiffs"}}],["symbol-name:setBranchDiffs",{"id":"symbol-name:setBranchDiffs","kind":"symbol","language":"jsts","symbolName":"setBranchDiffs","metadata":{"unresolvedName":"setBranchDiffs"}}],["symbol-name:setSessionDiffs",{"id":"symbol-name:setSessionDiffs","kind":"symbol","language":"jsts","symbolName":"setSessionDiffs","metadata":{"unresolvedName":"setSessionDiffs"}}],["symbol-name:setTurnDiffs",{"id":"symbol-name:setTurnDiffs","kind":"symbol","language":"jsts","symbolName":"setTurnDiffs","metadata":{"unresolvedName":"setTurnDiffs"}}],["symbol-name:setLoadedModes",{"id":"symbol-name:setLoadedModes","kind":"symbol","language":"jsts","symbolName":"setLoadedModes","metadata":{"unresolvedName":"setLoadedModes"}}],["symbol-name:setOpenDiffFiles",{"id":"symbol-name:setOpenDiffFiles","kind":"symbol","language":"jsts","symbolName":"setOpenDiffFiles","metadata":{"unresolvedName":"setOpenDiffFiles"}}],["symbol-name:setSelectedFile",{"id":"symbol-name:setSelectedFile","kind":"symbol","language":"jsts","symbolName":"setSelectedFile","metadata":{"unresolvedName":"setSelectedFile"}}],["symbol-name:setExpandedDirs",{"id":"symbol-name:setExpandedDirs","kind":"symbol","language":"jsts","symbolName":"setExpandedDirs","metadata":{"unresolvedName":"setExpandedDirs"}}],["symbol-name:loadProjectState",{"id":"symbol-name:loadProjectState","kind":"symbol","language":"jsts","symbolName":"loadProjectState","metadata":{"unresolvedName":"loadProjectState"}}],["symbol-name:setChangeMode",{"id":"symbol-name:setChangeMode","kind":"symbol","language":"jsts","symbolName":"setChangeMode","metadata":{"unresolvedName":"setChangeMode"}}],["symbol-name:loadDiffMode",{"id":"symbol-name:loadDiffMode","kind":"symbol","language":"jsts","symbolName":"loadDiffMode","metadata":{"unresolvedName":"loadDiffMode"}}],["symbol-name:collectExpandedDirPaths",{"id":"symbol-name:collectExpandedDirPaths","kind":"symbol","language":"jsts","symbolName":"collectExpandedDirPaths","metadata":{"unresolvedName":"collectExpandedDirPaths"}}],["symbol-name:buildChangesTree",{"id":"symbol-name:buildChangesTree","kind":"symbol","language":"jsts","symbolName":"buildChangesTree","metadata":{"unresolvedName":"buildChangesTree"}}],["symbol-name:reconcileDiffPreviewState",{"id":"symbol-name:reconcileDiffPreviewState","kind":"symbol","language":"jsts","symbolName":"reconcileDiffPreviewState","metadata":{"unresolvedName":"reconcileDiffPreviewState"}}],["symbol-name:setInitializingGit",{"id":"symbol-name:setInitializingGit","kind":"symbol","language":"jsts","symbolName":"setInitializingGit","metadata":{"unresolvedName":"setInitializingGit"}}],["symbol-name:initGitProject",{"id":"symbol-name:initGitProject","kind":"symbol","language":"jsts","symbolName":"initGitProject","metadata":{"unresolvedName":"initGitProject"}}],["external:prev.includes",{"id":"external:prev.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.includes"}}],["external:next.has",{"id":"external:next.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.has"}}],["external:next.delete",{"id":"external:next.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.delete"}}],["external:prev.indexOf",{"id":"external:prev.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.indexOf"}}],["external:prev.filter",{"id":"external:prev.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.filter"}}],["external:next.splice",{"id":"external:next.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.splice"}}],["external:diffs.find",{"id":"external:diffs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"diffs.find"}}],["external:openDiffFiles\r\n .map",{"id":"external:openDiffFiles\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"openDiffFiles\r\n .map"}}],["external:previewDiffs.filter",{"id":"external:previewDiffs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewDiffs.filter"}}],["external:mountedPreviewFiles.has",{"id":"external:mountedPreviewFiles.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"mountedPreviewFiles.has"}}],["external:diffs.reduce",{"id":"external:diffs.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"diffs.reduce"}}],["external:changeOptions.map",{"id":"external:changeOptions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"changeOptions.map"}}],["external:node.focus",{"id":"external:node.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"node.focus"}}],["symbol-name:setListMode",{"id":"symbol-name:setListMode","kind":"symbol","language":"jsts","symbolName":"setListMode","metadata":{"unresolvedName":"setListMode"}}],["symbol-name:setViewMode",{"id":"symbol-name:setViewMode","kind":"symbol","language":"jsts","symbolName":"setViewMode","metadata":{"unresolvedName":"setViewMode"}}],["external:changesTree.map",{"id":"external:changesTree.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"changesTree.map"}}],["symbol-name:getFileStatus",{"id":"symbol-name:getFileStatus","kind":"symbol","language":"jsts","symbolName":"getFileStatus","metadata":{"unresolvedName":"getFileStatus"}}],["symbol-name:handleSelectFile",{"id":"symbol-name:handleSelectFile","kind":"symbol","language":"jsts","symbolName":"handleSelectFile","metadata":{"unresolvedName":"handleSelectFile"}}],["external:mountedPreviewDiffs.map",{"id":"external:mountedPreviewDiffs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"mountedPreviewDiffs.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"handlePointerDown","symbolKind":"function","exported":false,"metadata":{"line":219,"column":31,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":230,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"focusByIndex","symbolKind":"function","exported":false,"metadata":{"line":286,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:diff.file.split(/[/\\\\]/).pop",{"id":"external:diff.file.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.file.split(/[/\\\\]/).pop"}}],["external:diff.file.split",{"id":"external:diff.file.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.file.split"}}],["external:previewDiffs.map",{"id":"external:previewDiffs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewDiffs.map"}}],["external:previewDiff.file.split(/[/\\\\]/).pop",{"id":"external:previewDiff.file.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewDiff.file.split(/[/\\\\]/).pop"}}],["external:previewDiff.file.split",{"id":"external:previewDiff.file.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewDiff.file.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"getFileStatus","symbolKind":"function","exported":false,"metadata":{"line":1003,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:diff.before.trim",{"id":"external:diff.before.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.before.trim"}}],["external:diff.after.trim",{"id":"external:diff.after.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.after.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"buildChangesTree","symbolKind":"function","exported":false,"metadata":{"line":1039,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:diff.file.split(/[/\\\\]/).filter",{"id":"external:diff.file.split(/[/\\\\]/).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.file.split(/[/\\\\]/).filter"}}],["external:parts.slice(0, i + 1).join",{"id":"external:parts.slice(0, i + 1).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.slice(0, i + 1).join"}}],["external:parts.slice",{"id":"external:parts.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.slice"}}],["external:currentLevel.find",{"id":"external:currentLevel.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentLevel.find"}}],["external:currentLevel.push",{"id":"external:currentLevel.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentLevel.push"}}],["external:nodes\r\n .map",{"id":"external:nodes\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"nodes\r\n .map"}}],["symbol-name:processNodes",{"id":"symbol-name:processNodes","kind":"symbol","language":"jsts","symbolName":"processNodes","metadata":{"unresolvedName":"processNodes"}}],["external:processedChildren.some",{"id":"external:processedChildren.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"processedChildren.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"processNodes","symbolKind":"function","exported":false,"metadata":{"line":1078,"column":24,"cyclomaticComplexity":9,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"collectExpandedDirPaths","symbolKind":"function","exported":false,"metadata":{"line":1108,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:allDirPaths.add",{"id":"external:allDirPaths.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"allDirPaths.add"}}],["symbol-name:collectDirs",{"id":"symbol-name:collectDirs","kind":"symbol","language":"jsts","symbolName":"collectDirs","metadata":{"unresolvedName":"collectDirs"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","symbolName":"collectDirs","symbolKind":"function","exported":false,"metadata":{"line":1111,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:expandedDirs.has",{"id":"external:expandedDirs.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedDirs.has"}}],["symbol-name:onToggleDir",{"id":"symbol-name:onToggleDir","kind":"symbol","language":"jsts","symbolName":"onToggleDir","metadata":{"unresolvedName":"onToggleDir"}}],["symbol-name:onSelectFile",{"id":"symbol-name:onSelectFile","kind":"symbol","language":"jsts","symbolName":"onSelectFile","metadata":{"unresolvedName":"onSelectFile"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","metadata":{"lineCount":61,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","metadata":{"lineCount":210,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":40,"column":77,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getSkillsMock.mockReset",{"id":"external:getSkillsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSkillsMock.mockReset"}}],["external:getSkillsMock.mockResolvedValue",{"id":"external:getSkillsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSkillsMock.mockResolvedValue"}}],["external:expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument"}}],["external:expect(screen.getByText('Global')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Global')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Global')).toBeInTheDocument"}}],["external:expect(screen.getByText('Project')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Project')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Project')).toBeInTheDocument"}}],["external:expect(screen.getByText('(2)')).toBeInTheDocument",{"id":"external:expect(screen.getByText('(2)')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('(2)')).toBeInTheDocument"}}],["external:expect(searchInput).toHaveAttribute",{"id":"external:expect(searchInput).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(searchInput).toHaveAttribute"}}],["external:expect(itemButton).toHaveAttribute",{"id":"external:expect(itemButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(itemButton).toHaveAttribute"}}],["external:expect(screen.getByText('skill content')).toBeInTheDocument",{"id":"external:expect(screen.getByText('skill content')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('skill content')).toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":176,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setSkills",{"id":"symbol-name:setSkills","kind":"symbol","language":"jsts","symbolName":"setSkills","metadata":{"unresolvedName":"setSkills"}}],["symbol-name:loadSkills",{"id":"symbol-name:loadSkills","kind":"symbol","language":"jsts","symbolName":"loadSkills","metadata":{"unresolvedName":"loadSkills"}}],["external:skills.filter",{"id":"external:skills.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"skills.filter"}}],["external:skill.name.toLowerCase().includes",{"id":"external:skill.name.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"skill.name.toLowerCase().includes"}}],["external:skill.name.toLowerCase",{"id":"external:skill.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"skill.name.toLowerCase"}}],["external:filter.toLowerCase",{"id":"external:filter.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filter.toLowerCase"}}],["external:skill.description.toLowerCase().includes",{"id":"external:skill.description.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"skill.description.toLowerCase().includes"}}],["external:skill.description.toLowerCase",{"id":"external:skill.description.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"skill.description.toLowerCase"}}],["external:SKILL_SOURCE_ORDER.map",{"id":"external:SKILL_SOURCE_ORDER.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"SKILL_SOURCE_ORDER.map"}}],["external:filteredSkills.filter",{"id":"external:filteredSkills.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredSkills.filter"}}],["external:groupedSkills.map",{"id":"external:groupedSkills.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupedSkills.map"}}],["external:group.skills.map",{"id":"external:group.skills.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.skills.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","metadata":{"lineCount":1034,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@xterm/xterm",{"id":"external:@xterm/xterm","kind":"external","language":"jsts","metadata":{"source":"@xterm/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/xterm/css/xterm.css",{"id":"external:@xterm/xterm/css/xterm.css","kind":"external","language":"jsts","metadata":{"source":"@xterm/xterm/css/xterm.css"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","metadata":{"lineCount":40,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","metadata":{"lineCount":66,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"getHSLColor","symbolKind":"function","exported":false,"metadata":{"line":27,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getComputedStyle(document.documentElement).getPropertyValue(varName).trim",{"id":"external:getComputedStyle(document.documentElement).getPropertyValue(varName).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"getComputedStyle(document.documentElement).getPropertyValue(varName).trim"}}],["external:getComputedStyle(document.documentElement).getPropertyValue",{"id":"external:getComputedStyle(document.documentElement).getPropertyValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getComputedStyle(document.documentElement).getPropertyValue"}}],["symbol-name:getComputedStyle",{"id":"symbol-name:getComputedStyle","kind":"symbol","language":"jsts","symbolName":"getComputedStyle","metadata":{"unresolvedName":"getComputedStyle"}}],["external:value.split",{"id":"external:value.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.split"}}],["symbol-name:parseFloat",{"id":"symbol-name:parseFloat","kind":"symbol","language":"jsts","symbolName":"parseFloat","metadata":{"unresolvedName":"parseFloat"}}],["external:Math.round(255 * color)\r\n .toString(16)\r\n .padStart",{"id":"external:Math.round(255 * color)\r\n .toString(16)\r\n .padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString(16)\r\n .padStart"}}],["external:Math.round(255 * color)\r\n .toString",{"id":"external:Math.round(255 * color)\r\n .toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"f","symbolKind":"function","exported":false,"metadata":{"line":41,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"getTerminalTheme","symbolKind":"function","exported":false,"metadata":{"line":51,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getHSLColor",{"id":"symbol-name:getHSLColor","kind":"symbol","language":"jsts","symbolName":"getHSLColor","metadata":{"unresolvedName":"getHSLColor"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"isDarkMode","symbolKind":"function","exported":false,"metadata":{"line":113,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["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"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"createStickyModifiers","symbolKind":"function","exported":false,"metadata":{"line":130,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"toCtrlSequence","symbolKind":"function","exported":false,"metadata":{"line":161,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:data.toUpperCase",{"id":"external:data.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.toUpperCase"}}],["external:String.fromCharCode",{"id":"external:String.fromCharCode","kind":"external","language":"jsts","metadata":{"unresolvedName":"String.fromCharCode"}}],["external:upper.charCodeAt",{"id":"external:upper.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"upper.charCodeAt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"hasStickyModifier","symbolKind":"function","exported":false,"metadata":{"line":192,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"isNativePasteShortcut","symbolKind":"function","exported":false,"metadata":{"line":196,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"canReadClipboardText","symbolKind":"function","exported":false,"metadata":{"line":200,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"applyStickyModifiers","symbolKind":"function","exported":false,"metadata":{"line":206,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:toCtrlSequence",{"id":"symbol-name:toCtrlSequence","kind":"symbol","language":"jsts","symbolName":"toCtrlSequence","metadata":{"unresolvedName":"toCtrlSequence"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"MobileExtraKeys","symbolKind":"function","exported":false,"metadata":{"line":220,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onSend",{"id":"symbol-name:onSend","kind":"symbol","language":"jsts","symbolName":"onSend","metadata":{"unresolvedName":"onSend"}}],["symbol-name:onFocusTerminal",{"id":"symbol-name:onFocusTerminal","kind":"symbol","language":"jsts","symbolName":"onFocusTerminal","metadata":{"unresolvedName":"onFocusTerminal"}}],["external:MOBILE_EXTRA_KEY_ROWS.map",{"id":"external:MOBILE_EXTRA_KEY_ROWS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"MOBILE_EXTRA_KEY_ROWS.map"}}],["external:row.map",{"id":"external:row.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"row.map"}}],["symbol-name:onToggleSticky",{"id":"symbol-name:onToggleSticky","kind":"symbol","language":"jsts","symbolName":"onToggleSticky","metadata":{"unresolvedName":"onToggleSticky"}}],["symbol-name:handleSend",{"id":"symbol-name:handleSend","kind":"symbol","language":"jsts","symbolName":"handleSend","metadata":{"unresolvedName":"handleSend"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1016,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createStickyModifiers",{"id":"symbol-name:createStickyModifiers","kind":"symbol","language":"jsts","symbolName":"createStickyModifiers","metadata":{"unresolvedName":"createStickyModifiers"}}],["symbol-name:useInputCapabilities",{"id":"symbol-name:useInputCapabilities","kind":"symbol","language":"jsts","symbolName":"useInputCapabilities","metadata":{"unresolvedName":"useInputCapabilities"}}],["external:panelTabs.find",{"id":"external:panelTabs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"panelTabs.find"}}],["external:Number.isSafeInteger",{"id":"external:Number.isSafeInteger","kind":"external","language":"jsts","metadata":{"unresolvedName":"Number.isSafeInteger"}}],["symbol-name:setStickyModifiers",{"id":"symbol-name:setStickyModifiers","kind":"symbol","language":"jsts","symbolName":"setStickyModifiers","metadata":{"unresolvedName":"setStickyModifiers"}}],["external:terminalRef.current?.focus",{"id":"external:terminalRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalRef.current?.focus"}}],["symbol-name:applyStickyModifiers",{"id":"symbol-name:applyStickyModifiers","kind":"symbol","language":"jsts","symbolName":"applyStickyModifiers","metadata":{"unresolvedName":"applyStickyModifiers"}}],["external:transportSendRef.current",{"id":"external:transportSendRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"transportSendRef.current"}}],["symbol-name:hasStickyModifier",{"id":"symbol-name:hasStickyModifier","kind":"symbol","language":"jsts","symbolName":"hasStickyModifier","metadata":{"unresolvedName":"hasStickyModifier"}}],["symbol-name:clearStickyModifiers",{"id":"symbol-name:clearStickyModifiers","kind":"symbol","language":"jsts","symbolName":"clearStickyModifiers","metadata":{"unresolvedName":"clearStickyModifiers"}}],["symbol-name:setHasBeenActive",{"id":"symbol-name:setHasBeenActive","kind":"symbol","language":"jsts","symbolName":"setHasBeenActive","metadata":{"unresolvedName":"setHasBeenActive"}}],["symbol-name:getTerminalTheme",{"id":"symbol-name:getTerminalTheme","kind":"symbol","language":"jsts","symbolName":"getTerminalTheme","metadata":{"unresolvedName":"getTerminalTheme"}}],["symbol-name:isDarkMode",{"id":"symbol-name:isDarkMode","kind":"symbol","language":"jsts","symbolName":"isDarkMode","metadata":{"unresolvedName":"isDarkMode"}}],["external:rootStyle.getPropertyValue('--fs-terminal').trim",{"id":"external:rootStyle.getPropertyValue('--fs-terminal').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal').trim"}}],["external:rootStyle.getPropertyValue",{"id":"external:rootStyle.getPropertyValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootStyle.getPropertyValue"}}],["external:rootStyle.getPropertyValue('--fs-terminal-line-height').trim",{"id":"external:rootStyle.getPropertyValue('--fs-terminal-line-height').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal-line-height').trim"}}],["external:rootStyle.getPropertyValue('--font-mono').trim",{"id":"external:rootStyle.getPropertyValue('--font-mono').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--font-mono').trim"}}],["external:import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch",{"id":"external:import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch"}}],["external:import('@tauri-apps/plugin-opener').then",{"id":"external:import('@tauri-apps/plugin-opener').then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then"}}],["external:terminal.loadAddon",{"id":"external:terminal.loadAddon","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.loadAddon"}}],["external:terminal.open",{"id":"external:terminal.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.open"}}],["external:terminal.attachCustomKeyEventHandler",{"id":"external:terminal.attachCustomKeyEventHandler","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.attachCustomKeyEventHandler"}}],["external:keybindingStore.findMatchingAction",{"id":"external:keybindingStore.findMatchingAction","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}}],["symbol-name:isNativePasteShortcut",{"id":"symbol-name:isNativePasteShortcut","kind":"symbol","language":"jsts","symbolName":"isNativePasteShortcut","metadata":{"unresolvedName":"isNativePasteShortcut"}}],["external:readTextFromClipboard()\r\n .then",{"id":"external:readTextFromClipboard()\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}}],["symbol-name:readTextFromClipboard",{"id":"symbol-name:readTextFromClipboard","kind":"symbol","language":"jsts","symbolName":"readTextFromClipboard","metadata":{"unresolvedName":"readTextFromClipboard"}}],["symbol-name:sendTerminalData",{"id":"symbol-name:sendTerminalData","kind":"symbol","language":"jsts","symbolName":"sendTerminalData","metadata":{"unresolvedName":"sendTerminalData"}}],["external:terminal.hasSelection",{"id":"external:terminal.hasSelection","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.hasSelection"}}],["external:terminal.getSelection",{"id":"external:terminal.getSelection","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.getSelection"}}],["external:copyTextToClipboard(selected).catch",{"id":"external:copyTextToClipboard(selected).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"copyTextToClipboard(selected).catch"}}],["symbol-name:copyTextToClipboard",{"id":"symbol-name:copyTextToClipboard","kind":"symbol","language":"jsts","symbolName":"copyTextToClipboard","metadata":{"unresolvedName":"copyTextToClipboard"}}],["external:terminal.clearSelection",{"id":"external:terminal.clearSelection","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.clearSelection"}}],["external:copyTextToClipboard(selected)\r\n .then",{"id":"external:copyTextToClipboard(selected)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"copyTextToClipboard(selected)\r\n .then"}}],["symbol-name:canReadClipboardText",{"id":"symbol-name:canReadClipboardText","kind":"symbol","language":"jsts","symbolName":"canReadClipboardText","metadata":{"unresolvedName":"canReadClipboardText"}}],["external:terminal.focus",{"id":"external:terminal.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.focus"}}],["external:readTextFromClipboard()\r\n .then",{"id":"external:readTextFromClipboard()\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}}],["external:terminalElement?.addEventListener",{"id":"external:terminalElement?.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalElement?.addEventListener"}}],["external:textarea.setAttribute",{"id":"external:textarea.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"textarea.setAttribute"}}],["external:textarea.addEventListener",{"id":"external:textarea.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"textarea.addEventListener"}}],["external:layoutStore.updateTerminalTab",{"id":"external:layoutStore.updateTerminalTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.updateTerminalTab"}}],["external:updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch",{"id":"external:updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch"}}],["symbol-name:resetTransport",{"id":"symbol-name:resetTransport","kind":"symbol","language":"jsts","symbolName":"resetTransport","metadata":{"unresolvedName":"resetTransport"}}],["external:terminal.write",{"id":"external:terminal.write","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.write"}}],["external:Math.pow",{"id":"external:Math.pow","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.pow"}}],["external:(delay / 1000).toFixed",{"id":"external:(delay / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(delay / 1000).toFixed"}}],["symbol-name:connectTransport",{"id":"symbol-name:connectTransport","kind":"symbol","language":"jsts","symbolName":"connectTransport","metadata":{"unresolvedName":"connectTransport"}}],["external:fitAddon.fit",{"id":"external:fitAddon.fit","kind":"external","language":"jsts","metadata":{"unresolvedName":"fitAddon.fit"}}],["external:import('../api/ptyBridge')\r\n .then",{"id":"external:import('../api/ptyBridge')\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('../api/ptyBridge')\r\n .then"}}],["symbol-name:connectTauriPty",{"id":"symbol-name:connectTauriPty","kind":"symbol","language":"jsts","symbolName":"connectTauriPty","metadata":{"unresolvedName":"connectTauriPty"}}],["symbol-name:parsePtyFrame",{"id":"symbol-name:parsePtyFrame","kind":"symbol","language":"jsts","symbolName":"parsePtyFrame","metadata":{"unresolvedName":"parsePtyFrame"}}],["external:connection.close",{"id":"external:connection.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"connection.close"}}],["external:connection.send",{"id":"external:connection.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"connection.send"}}],["symbol-name:handleDisconnected",{"id":"symbol-name:handleDisconnected","kind":"symbol","language":"jsts","symbolName":"handleDisconnected","metadata":{"unresolvedName":"handleDisconnected"}}],["symbol-name:getPtyConnectUrl",{"id":"symbol-name:getPtyConnectUrl","kind":"symbol","language":"jsts","symbolName":"getPtyConnectUrl","metadata":{"unresolvedName":"getPtyConnectUrl"}}],["external:ws?.close",{"id":"external:ws?.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws?.close"}}],["external:disposeData?.dispose",{"id":"external:disposeData?.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"disposeData?.dispose"}}],["external:terminal.onData",{"id":"external:terminal.onData","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.onData"}}],["external:terminal.scrollToLine",{"id":"external:terminal.scrollToLine","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.scrollToLine"}}],["symbol-name:scheduleInitialConnect",{"id":"symbol-name:scheduleInitialConnect","kind":"symbol","language":"jsts","symbolName":"scheduleInitialConnect","metadata":{"unresolvedName":"scheduleInitialConnect"}}],["external:terminal.onTitleChange",{"id":"external:terminal.onTitleChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.onTitleChange"}}],["external:layoutStore.updateTerminalShellTitle",{"id":"external:layoutStore.updateTerminalShellTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.updateTerminalShellTitle"}}],["external:layoutStore.updateTerminalSnapshot",{"id":"external:layoutStore.updateTerminalSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.updateTerminalSnapshot"}}],["external:serializeAddon.serialize",{"id":"external:serializeAddon.serialize","kind":"external","language":"jsts","metadata":{"unresolvedName":"serializeAddon.serialize"}}],["external:transportDisconnectRef.current",{"id":"external:transportDisconnectRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"transportDisconnectRef.current"}}],["external:disposeTitle?.dispose",{"id":"external:disposeTitle?.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"disposeTitle?.dispose"}}],["external:textarea?.removeEventListener",{"id":"external:textarea?.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"textarea?.removeEventListener"}}],["external:terminalElement?.removeEventListener",{"id":"external:terminalElement?.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalElement?.removeEventListener"}}],["external:fitAddon.dispose",{"id":"external:fitAddon.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"fitAddon.dispose"}}],["external:serializeAddon.dispose",{"id":"external:serializeAddon.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"serializeAddon.dispose"}}],["external:webLinksAddon.dispose",{"id":"external:webLinksAddon.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"webLinksAddon.dispose"}}],["external:terminal.dispose",{"id":"external:terminal.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.dispose"}}],["external:terminal.element?.querySelector",{"id":"external:terminal.element?.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminal.element?.querySelector"}}],["symbol-name:setIsTouchScrolling",{"id":"symbol-name:setIsTouchScrolling","kind":"symbol","language":"jsts","symbolName":"setIsTouchScrolling","metadata":{"unresolvedName":"setIsTouchScrolling"}}],["symbol-name:stopMomentum",{"id":"symbol-name:stopMomentum","kind":"symbol","language":"jsts","symbolName":"stopMomentum","metadata":{"unresolvedName":"stopMomentum"}}],["symbol-name:startMomentum",{"id":"symbol-name:startMomentum","kind":"symbol","language":"jsts","symbolName":"startMomentum","metadata":{"unresolvedName":"startMomentum"}}],["external:container.addEventListener",{"id":"external:container.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.addEventListener"}}],["external:container.removeEventListener",{"id":"external:container.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.removeEventListener"}}],["external:fitAddonRef.current.fit",{"id":"external:fitAddonRef.current.fit","kind":"external","language":"jsts","metadata":{"unresolvedName":"fitAddonRef.current.fit"}}],["symbol-name:handleResize",{"id":"symbol-name:handleResize","kind":"symbol","language":"jsts","symbolName":"handleResize","metadata":{"unresolvedName":"handleResize"}}],["external:terminalRef.current.focus",{"id":"external:terminalRef.current.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalRef.current.focus"}}],["external:fitAddonRef.current?.fit",{"id":"external:fitAddonRef.current?.fit","kind":"external","language":"jsts","metadata":{"unresolvedName":"fitAddonRef.current?.fit"}}],["symbol-name:focusTerminal",{"id":"symbol-name:focusTerminal","kind":"symbol","language":"jsts","symbolName":"focusTerminal","metadata":{"unresolvedName":"focusTerminal"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleSelectionCopy","symbolKind":"function","exported":false,"metadata":{"line":481,"column":33,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleContextMenuPaste","symbolKind":"function","exported":false,"metadata":{"line":493,"column":36,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"resetTransport","symbolKind":"function","exported":false,"metadata":{"line":544,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleConnected","symbolKind":"function","exported":false,"metadata":{"line":549,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleDisconnected","symbolKind":"function","exported":false,"metadata":{"line":559,"column":32,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"connectTransport","symbolKind":"function","exported":false,"metadata":{"line":586,"column":30,"cyclomaticComplexity":16,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"onMessage","symbolKind":"function","exported":false,"metadata":{"line":605,"column":26,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"onError","symbolKind":"function","exported":false,"metadata":{"line":617,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"scheduleInitialConnect","symbolKind":"function","exported":false,"metadata":{"line":678,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"stopMomentum","symbolKind":"function","exported":false,"metadata":{"line":767,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"startMomentum","symbolKind":"function","exported":false,"metadata":{"line":774,"column":27,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"step","symbolKind":"function","exported":false,"metadata":{"line":782,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleTouchStart","symbolKind":"function","exported":false,"metadata":{"line":796,"column":30,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleTouchMove","symbolKind":"function","exported":false,"metadata":{"line":809,"column":29,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleTouchEnd","symbolKind":"function","exported":false,"metadata":{"line":836,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handleResize","symbolKind":"function","exported":false,"metadata":{"line":856,"column":26,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handlePanelResizeStart","symbolKind":"function","exported":false,"metadata":{"line":877,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","symbolName":"handlePanelResizeEnd","symbolKind":"function","exported":false,"metadata":{"line":938,"column":34,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","metadata":{"lineCount":326,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","symbolName":"Toast","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:notificationStore.pauseToast",{"id":"external:notificationStore.pauseToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.pauseToast"}}],["external:notificationStore.resumeToast",{"id":"external:notificationStore.resumeToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.resumeToast"}}],["symbol-name:onDismiss",{"id":"symbol-name:onDismiss","kind":"symbol","language":"jsts","symbolName":"onDismiss","metadata":{"unresolvedName":"onDismiss"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":150,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","symbolName":"UpdateToast","symbolKind":"function","exported":false,"metadata":{"line":115,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:shouldShowUpdateToast",{"id":"symbol-name:shouldShowUpdateToast","kind":"symbol","language":"jsts","symbolName":"shouldShowUpdateToast","metadata":{"unresolvedName":"shouldShowUpdateToast"}}],["external:updateStore.hideToastForCurrentVersion",{"id":"external:updateStore.hideToastForCurrentVersion","kind":"external","language":"jsts","metadata":{"unresolvedName":"updateStore.hideToastForCurrentVersion"}}],["symbol-name:onOpenAbout",{"id":"symbol-name:onOpenAbout","kind":"symbol","language":"jsts","symbolName":"onOpenAbout","metadata":{"unresolvedName":"onOpenAbout"}}],["external:updateStore.dismissCurrentVersion",{"id":"external:updateStore.dismissCurrentVersion","kind":"external","language":"jsts","metadata":{"unresolvedName":"updateStore.dismissCurrentVersion"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","symbolName":"ToastContainer","symbolKind":"function","exported":true,"metadata":{"line":170,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useNotificationStore",{"id":"symbol-name:useNotificationStore","kind":"symbol","language":"jsts","symbolName":"useNotificationStore","metadata":{"unresolvedName":"useNotificationStore"}}],["external:notificationStore.dismissToast",{"id":"external:notificationStore.dismissToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.dismissToast"}}],["external:notificationStore.markRead",{"id":"external:notificationStore.markRead","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.markRead"}}],["external:window.location.assign",{"id":"external:window.location.assign","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.location.assign"}}],["external:toasts.map",{"id":"external:toasts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toasts.map"}}],["symbol-name:handleClick",{"id":"symbol-name:handleClick","kind":"symbol","language":"jsts","symbolName":"handleClick","metadata":{"unresolvedName":"handleClick"}}],["external:notificationStore.dismissAllToasts",{"id":"external:notificationStore.dismissAllToasts","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.dismissAllToasts"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":179,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","symbolName":"AnimatedPresence","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":29,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:ExpandableSection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:ExpandableSection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","symbolName":"ExpandableSection","symbolKind":"function","exported":true,"metadata":{"line":55,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":31,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","metadata":{"lineCount":52,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","symbolName":"ConfirmDialog","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":40,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","symbolName":"CopyButton","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setCopied",{"id":"symbol-name:setCopied","kind":"symbol","language":"jsts","symbolName":"setCopied","metadata":{"unresolvedName":"setCopied"}}],["symbol-name:clipboardErrorHandler",{"id":"symbol-name:clipboardErrorHandler","kind":"symbol","language":"jsts","symbolName":"clipboardErrorHandler","metadata":{"unresolvedName":"clipboardErrorHandler"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":28,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","metadata":{"lineCount":181,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":160,"column":75,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument"}}],["external:expect(screen.getByText('Test Dialog')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Test Dialog')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Test Dialog')).toBeInTheDocument"}}],["external:expect(screen.getByText('dialog body')).toBeInTheDocument",{"id":"external:expect(screen.getByText('dialog body')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('dialog body')).toBeInTheDocument"}}],["external:expect(screen.queryByText('dialog body')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('dialog body')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('dialog body')).not.toBeInTheDocument"}}],["external:expect(backdrop).not.toBeNull",{"id":"external:expect(backdrop).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(backdrop).not.toBeNull"}}],["external:fireEvent.pointerDown",{"id":"external:fireEvent.pointerDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.pointerDown"}}],["symbol-name:setIsOpen",{"id":"symbol-name:setIsOpen","kind":"symbol","language":"jsts","symbolName":"setIsOpen","metadata":{"unresolvedName":"setIsOpen"}}],["external:trigger.focus",{"id":"external:trigger.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"trigger.focus"}}],["external:expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus",{"id":"external:expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus"}}],["external:expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument"}}],["symbol-name:setIsFirstOpen",{"id":"symbol-name:setIsFirstOpen","kind":"symbol","language":"jsts","symbolName":"setIsFirstOpen","metadata":{"unresolvedName":"setIsFirstOpen"}}],["symbol-name:setIsSecondOpen",{"id":"symbol-name:setIsSecondOpen","kind":"symbol","language":"jsts","symbolName":"setIsSecondOpen","metadata":{"unresolvedName":"setIsSecondOpen"}}],["external:expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument"}}],["external:expect(document.getElementById('first-trigger')).not.toHaveFocus",{"id":"external:expect(document.getElementById('first-trigger')).not.toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(document.getElementById('first-trigger')).not.toHaveFocus"}}],["external:document.getElementById",{"id":"external:document.getElementById","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.getElementById"}}],["external:expect(secondClose).toHaveBeenCalledTimes",{"id":"external:expect(secondClose).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(secondClose).toHaveBeenCalledTimes"}}],["external:expect(firstClose).not.toHaveBeenCalled",{"id":"external:expect(firstClose).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(firstClose).not.toHaveBeenCalled"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","symbolName":"Harness","symbolKind":"function","exported":false,"metadata":{"line":115,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","symbolName":"Dialog","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":71,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:target?.focus",{"id":"external:target?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"target?.focus"}}],["external:document.querySelectorAll",{"id":"external:document.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelectorAll"}}],["external:document.contains",{"id":"external:document.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.contains"}}],["external:previousFocusedElement.focus",{"id":"external:previousFocusedElement.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"previousFocusedElement.focus"}}],["external:replacement?.focus",{"id":"external:replacement?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"replacement?.focus"}}],["external:dialogs.at",{"id":"external:dialogs.at","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialogs.at"}}],["symbol-name:focusFirstFocusable",{"id":"symbol-name:focusFirstFocusable","kind":"symbol","language":"jsts","symbolName":"focusFirstFocusable","metadata":{"unresolvedName":"focusFirstFocusable"}}],["symbol-name:getTopOpenDialog",{"id":"symbol-name:getTopOpenDialog","kind":"symbol","language":"jsts","symbolName":"getTopOpenDialog","metadata":{"unresolvedName":"getTopOpenDialog"}}],["external:activeDialog.contains",{"id":"external:activeDialog.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeDialog.contains"}}],["symbol-name:restorePreviousFocus",{"id":"symbol-name:restorePreviousFocus","kind":"symbol","language":"jsts","symbolName":"restorePreviousFocus","metadata":{"unresolvedName":"restorePreviousFocus"}}],["external:handle.contains",{"id":"external:handle.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"handle.contains"}}],["symbol-name:setIsDraggingActive",{"id":"symbol-name:setIsDraggingActive","kind":"symbol","language":"jsts","symbolName":"setIsDraggingActive","metadata":{"unresolvedName":"setIsDraggingActive"}}],["symbol-name:setDragY",{"id":"symbol-name:setDragY","kind":"symbol","language":"jsts","symbolName":"setDragY","metadata":{"unresolvedName":"setDragY"}}],["symbol-name:requestClose",{"id":"symbol-name:requestClose","kind":"symbol","language":"jsts","symbolName":"requestClose","metadata":{"unresolvedName":"requestClose"}}],["external:dialog.contains",{"id":"external:dialog.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialog.contains"}}],["external:dialogRef.current.querySelectorAll",{"id":"external:dialogRef.current.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialogRef.current.querySelectorAll"}}],["external:dialogRef.current.contains",{"id":"external:dialogRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"dialogRef.current.contains"}}],["external:last.focus",{"id":"external:last.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"last.focus"}}],["external:first.focus",{"id":"external:first.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"first.focus"}}],["symbol-name:handleFocusTrap",{"id":"symbol-name:handleFocusTrap","kind":"symbol","language":"jsts","symbolName":"handleFocusTrap","metadata":{"unresolvedName":"handleFocusTrap"}}],["symbol-name:focusDialogContent",{"id":"symbol-name:focusDialogContent","kind":"symbol","language":"jsts","symbolName":"focusDialogContent","metadata":{"unresolvedName":"focusDialogContent"}}],["symbol-name:handleBackdropPointerDown",{"id":"symbol-name:handleBackdropPointerDown","kind":"symbol","language":"jsts","symbolName":"handleBackdropPointerDown","metadata":{"unresolvedName":"handleBackdropPointerDown"}}],["symbol-name:handleBackdropClick",{"id":"symbol-name:handleBackdropClick","kind":"symbol","language":"jsts","symbolName":"handleBackdropClick","metadata":{"unresolvedName":"handleBackdropClick"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":307,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":237,"column":27,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","metadata":{"lineCount":120,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","metadata":{"lineCount":189,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:DropdownHarness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:DropdownHarness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","symbolName":"DropdownHarness","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":112,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:ConstrainedDropdownHarness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:ConstrainedDropdownHarness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","symbolName":"ConstrainedDropdownHarness","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByText('dropdown content')).toBeInTheDocument",{"id":"external:expect(screen.getByText('dropdown content')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('dropdown content')).toBeInTheDocument"}}],["external:expect(screen.queryByText('dropdown content')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('dropdown content')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('dropdown content')).not.toBeInTheDocument"}}],["external:expect(menu).toHaveStyle",{"id":"external:expect(menu).toHaveStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(menu).toHaveStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:observe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:observe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","symbolName":"observe","symbolKind":"function","exported":false,"metadata":{"line":49,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:disconnect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:disconnect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","symbolName":"disconnect","symbolKind":"function","exported":false,"metadata":{"line":50,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","symbolName":"DropdownMenu","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":27,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:triggerRef.current.getBoundingClientRect",{"id":"external:triggerRef.current.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"triggerRef.current.getBoundingClientRect"}}],["external:constrainToRef.current.getBoundingClientRect",{"id":"external:constrainToRef.current.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"constrainToRef.current.getBoundingClientRect"}}],["symbol-name:calcStyles",{"id":"symbol-name:calcStyles","kind":"symbol","language":"jsts","symbolName":"calcStyles","metadata":{"unresolvedName":"calcStyles"}}],["symbol-name:setPosStyle",{"id":"symbol-name:setPosStyle","kind":"symbol","language":"jsts","symbolName":"setPosStyle","metadata":{"unresolvedName":"setPosStyle"}}],["symbol-name:setSizeStyle",{"id":"symbol-name:setSizeStyle","kind":"symbol","language":"jsts","symbolName":"setSizeStyle","metadata":{"unresolvedName":"setSizeStyle"}}],["symbol-name:updateStyles",{"id":"symbol-name:updateStyles","kind":"symbol","language":"jsts","symbolName":"updateStyles","metadata":{"unresolvedName":"updateStyles"}}],["symbol-name:scheduleUpdate",{"id":"symbol-name:scheduleUpdate","kind":"symbol","language":"jsts","symbolName":"scheduleUpdate","metadata":{"unresolvedName":"scheduleUpdate"}}],["external:resizeObserver?.disconnect",{"id":"external:resizeObserver?.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"resizeObserver?.disconnect"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":155,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","symbolName":"scheduleUpdate","symbolKind":"function","exported":false,"metadata":{"line":134,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":25,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/index.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","metadata":{"lineCount":63,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx:MenuItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx:MenuItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","symbolName":"MenuItem","symbolKind":"function","exported":true,"metadata":{"line":13,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","metadata":{"lineCount":41,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":28,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useModalAnimation",{"id":"symbol-name:useModalAnimation","kind":"symbol","language":"jsts","symbolName":"useModalAnimation","metadata":{"unresolvedName":"useModalAnimation"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":170,"column":12,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useLayoutEffect",{"id":"symbol-name:useLayoutEffect","kind":"symbol","language":"jsts","symbolName":"useLayoutEffect","metadata":{"unresolvedName":"useLayoutEffect"}}],["symbol-name:setIsResizing",{"id":"symbol-name:setIsResizing","kind":"symbol","language":"jsts","symbolName":"setIsResizing","metadata":{"unresolvedName":"setIsResizing"}}],["symbol-name:onSizeChange",{"id":"symbol-name:onSizeChange","kind":"symbol","language":"jsts","symbolName":"onSizeChange","metadata":{"unresolvedName":"onSizeChange"}}],["external:panel.getBoundingClientRect",{"id":"external:panel.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"panel.getBoundingClientRect"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","symbolName":"handlePointerMove","symbolKind":"function","exported":false,"metadata":{"line":91,"column":33,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","symbolName":"handlePointerUp","symbolKind":"function","exported":false,"metadata":{"line":107,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","symbolName":"handleTouchMove","symbolKind":"function","exported":false,"metadata":{"line":144,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","symbolName":"handleTouchEnd","symbolKind":"function","exported":false,"metadata":{"line":152,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","metadata":{"lineCount":34,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":16,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","metadata":{"lineCount":77,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:motion/mini",{"id":"external:motion/mini","kind":"external","language":"jsts","metadata":{"source":"motion/mini"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","symbolName":"SmoothHeight","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:animRef.current?.stop",{"id":"external:animRef.current?.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"animRef.current?.stop"}}],["symbol-name:animate",{"id":"symbol-name:animate","kind":"symbol","language":"jsts","symbolName":"animate","metadata":{"unresolvedName":"animate"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":64,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","symbolName":"update","symbolKind":"function","exported":false,"metadata":{"line":45,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","metadata":{"lineCount":537,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":481,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useVcsInfo",{"id":"symbol-name:useVcsInfo","kind":"symbol","language":"jsts","symbolName":"useVcsInfo","metadata":{"unresolvedName":"useVcsInfo"}}],["symbol-name:setWorktrees",{"id":"symbol-name:setWorktrees","kind":"symbol","language":"jsts","symbolName":"setWorktrees","metadata":{"unresolvedName":"setWorktrees"}}],["symbol-name:setRootDirectory",{"id":"symbol-name:setRootDirectory","kind":"symbol","language":"jsts","symbolName":"setRootDirectory","metadata":{"unresolvedName":"setRootDirectory"}}],["symbol-name:resolveRootDirectory",{"id":"symbol-name:resolveRootDirectory","kind":"symbol","language":"jsts","symbolName":"resolveRootDirectory","metadata":{"unresolvedName":"resolveRootDirectory"}}],["symbol-name:listWorktrees",{"id":"symbol-name:listWorktrees","kind":"symbol","language":"jsts","symbolName":"listWorktrees","metadata":{"unresolvedName":"listWorktrees"}}],["symbol-name:loadWorktrees",{"id":"symbol-name:loadWorktrees","kind":"symbol","language":"jsts","symbolName":"loadWorktrees","metadata":{"unresolvedName":"loadWorktrees"}}],["symbol-name:refreshVcs",{"id":"symbol-name:refreshVcs","kind":"symbol","language":"jsts","symbolName":"refreshVcs","metadata":{"unresolvedName":"refreshVcs"}}],["external:Promise.allSettled",{"id":"external:Promise.allSettled","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.allSettled"}}],["external:ptySessions.map",{"id":"external:ptySessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"ptySessions.map"}}],["symbol-name:disposeInstance",{"id":"symbol-name:disposeInstance","kind":"symbol","language":"jsts","symbolName":"disposeInstance","metadata":{"unresolvedName":"disposeInstance"}}],["symbol-name:addDirectory",{"id":"symbol-name:addDirectory","kind":"symbol","language":"jsts","symbolName":"addDirectory","metadata":{"unresolvedName":"addDirectory"}}],["symbol-name:requireRootDirectory",{"id":"symbol-name:requireRootDirectory","kind":"symbol","language":"jsts","symbolName":"requireRootDirectory","metadata":{"unresolvedName":"requireRootDirectory"}}],["symbol-name:createWorktree",{"id":"symbol-name:createWorktree","kind":"symbol","language":"jsts","symbolName":"createWorktree","metadata":{"unresolvedName":"createWorktree"}}],["symbol-name:setShowCreateForm",{"id":"symbol-name:setShowCreateForm","kind":"symbol","language":"jsts","symbolName":"setShowCreateForm","metadata":{"unresolvedName":"setShowCreateForm"}}],["symbol-name:requestGitWorkspaceCatalogRefresh",{"id":"symbol-name:requestGitWorkspaceCatalogRefresh","kind":"symbol","language":"jsts","symbolName":"requestGitWorkspaceCatalogRefresh","metadata":{"unresolvedName":"requestGitWorkspaceCatalogRefresh"}}],["symbol-name:handleOpenSession",{"id":"symbol-name:handleOpenSession","kind":"symbol","language":"jsts","symbolName":"handleOpenSession","metadata":{"unresolvedName":"handleOpenSession"}}],["symbol-name:setCurrentDirectory",{"id":"symbol-name:setCurrentDirectory","kind":"symbol","language":"jsts","symbolName":"setCurrentDirectory","metadata":{"unresolvedName":"setCurrentDirectory"}}],["symbol-name:releaseWorktreeResources",{"id":"symbol-name:releaseWorktreeResources","kind":"symbol","language":"jsts","symbolName":"releaseWorktreeResources","metadata":{"unresolvedName":"releaseWorktreeResources"}}],["symbol-name:removeWorktree",{"id":"symbol-name:removeWorktree","kind":"symbol","language":"jsts","symbolName":"removeWorktree","metadata":{"unresolvedName":"removeWorktree"}}],["symbol-name:setDeleteConfirm",{"id":"symbol-name:setDeleteConfirm","kind":"symbol","language":"jsts","symbolName":"setDeleteConfirm","metadata":{"unresolvedName":"setDeleteConfirm"}}],["symbol-name:resetWorktree",{"id":"symbol-name:resetWorktree","kind":"symbol","language":"jsts","symbolName":"resetWorktree","metadata":{"unresolvedName":"resetWorktree"}}],["symbol-name:setResetConfirm",{"id":"symbol-name:setResetConfirm","kind":"symbol","language":"jsts","symbolName":"setResetConfirm","metadata":{"unresolvedName":"setResetConfirm"}}],["external:worktrees.map",{"id":"external:worktrees.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"worktrees.map"}}],["symbol-name:getDirectoryName",{"id":"symbol-name:getDirectoryName","kind":"symbol","language":"jsts","symbolName":"getDirectoryName","metadata":{"unresolvedName":"getDirectoryName"}}],["symbol-name:handleDelete",{"id":"symbol-name:handleDelete","kind":"symbol","language":"jsts","symbolName":"handleDelete","metadata":{"unresolvedName":"handleDelete"}}],["symbol-name:handleReset",{"id":"symbol-name:handleReset","kind":"symbol","language":"jsts","symbolName":"handleReset","metadata":{"unresolvedName":"handleReset"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeReady",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeReady","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"onWorktreeReady","symbolKind":"function","exported":false,"metadata":{"line":109,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"onWorktreeFailed","symbolKind":"function","exported":false,"metadata":{"line":112,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onVcsBranchUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onVcsBranchUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"onVcsBranchUpdated","symbolKind":"function","exported":false,"metadata":{"line":116,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"CreateWorktreeForm","symbolKind":"function","exported":false,"metadata":{"line":412,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setAutoOpen",{"id":"symbol-name:setAutoOpen","kind":"symbol","language":"jsts","symbolName":"setAutoOpen","metadata":{"unresolvedName":"setAutoOpen"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":417,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/animation.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/animation.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/animation.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/api.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/api.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/api.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/desktopWindow.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/desktopWindow.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/desktopWindow.ts","metadata":{"lineCount":10,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/index.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/pagination.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/pagination.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/pagination.ts","metadata":{"lineCount":6,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","metadata":{"lineCount":16,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/time.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/time.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/time.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/ui.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/ui.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/ui.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","metadata":{"lineCount":24,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","metadata":{"lineCount":209,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","metadata":{"lineCount":193,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","symbolName":"DirectoryProvider","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":25,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:serverStorage.getJSON",{"id":"external:serverStorage.getJSON","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStorage.getJSON"}}],["external:serverStore.onServerChange",{"id":"external:serverStore.onServerChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.onServerChange"}}],["symbol-name:setSavedDirectories",{"id":"symbol-name:setSavedDirectories","kind":"symbol","language":"jsts","symbolName":"setSavedDirectories","metadata":{"unresolvedName":"setSavedDirectories"}}],["symbol-name:setRecentProjects",{"id":"symbol-name:setRecentProjects","kind":"symbol","language":"jsts","symbolName":"setRecentProjects","metadata":{"unresolvedName":"setRecentProjects"}}],["symbol-name:setPathInfo",{"id":"symbol-name:setPathInfo","kind":"symbol","language":"jsts","symbolName":"setPathInfo","metadata":{"unresolvedName":"setPathInfo"}}],["symbol-name:setUrlDirectory",{"id":"symbol-name:setUrlDirectory","kind":"symbol","language":"jsts","symbolName":"setUrlDirectory","metadata":{"unresolvedName":"setUrlDirectory"}}],["external:getPath().then(setPathInfo).catch",{"id":"external:getPath().then(setPathInfo).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPath().then(setPathInfo).catch"}}],["external:getPath().then",{"id":"external:getPath().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPath().then"}}],["symbol-name:getPath",{"id":"symbol-name:getPath","kind":"symbol","language":"jsts","symbolName":"getPath","metadata":{"unresolvedName":"getPath"}}],["symbol-name:handleError",{"id":"symbol-name:handleError","kind":"symbol","language":"jsts","symbolName":"handleError","metadata":{"unresolvedName":"handleError"}}],["external:serverStorage.setJSON",{"id":"external:serverStorage.setJSON","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStorage.setJSON"}}],["external:path.replace(/\\\\/g, '/').replace",{"id":"external:path.replace(/\\\\/g, '/').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').replace"}}],["external:path.replace",{"id":"external:path.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.replace"}}],["external:/^[a-zA-Z]:\\/$/.test",{"id":"external:/^[a-zA-Z]:\\/$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}}],["external:trimmed.slice",{"id":"external:trimmed.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.slice"}}],["external:savedDirectories.some",{"id":"external:savedDirectories.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedDirectories.some"}}],["external:next.findIndex",{"id":"external:next.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"next.findIndex"}}],["external:invoke('get_cli_directory')\r\n .then",{"id":"external:invoke('get_cli_directory')\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"invoke('get_cli_directory')\r\n .then"}}],["external:addDirectoryRef.current",{"id":"external:addDirectoryRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"addDirectoryRef.current"}}],["external:import('@tauri-apps/api/event').then",{"id":"external:import('@tauri-apps/api/event').then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/api/event').then"}}],["symbol-name:listen",{"id":"symbol-name:listen","kind":"symbol","language":"jsts","symbolName":"listen","metadata":{"unresolvedName":"listen"}}],["symbol-name:unlisten",{"id":"symbol-name:unlisten","kind":"symbol","language":"jsts","symbolName":"unlisten","metadata":{"unresolvedName":"unlisten"}}],["external:layoutStore.setSidebarExpanded",{"id":"external:layoutStore.setSidebarExpanded","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setSidebarExpanded"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":175,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/index.ts","metadata":{"lineCount":9,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","metadata":{"lineCount":18,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","metadata":{"lineCount":158,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","metadata":{"lineCount":256,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:createDeferred",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:createDeferred","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","symbolName":"createDeferred","symbolKind":"function","exported":false,"metadata":{"line":8,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":151,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","symbolName":"SessionContextProbe","symbolKind":"function","exported":false,"metadata":{"line":76,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:useContext",{"id":"symbol-name:useContext","kind":"symbol","language":"jsts","symbolName":"useContext","metadata":{"unresolvedName":"useContext"}}],["external:getSessionsMock.mockReset",{"id":"external:getSessionsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsMock.mockReset"}}],["external:createSessionMock.mockReset",{"id":"external:createSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"createSessionMock.mockReset"}}],["external:deleteSessionMock.mockReset",{"id":"external:deleteSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"deleteSessionMock.mockReset"}}],["external:subscribeToEventsMock.mockReset",{"id":"external:subscribeToEventsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}}],["external:clearChildrenMock.mockReset",{"id":"external:clearChildrenMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"clearChildrenMock.mockReset"}}],["external:clearFollowupQueueMock.mockReset",{"id":"external:clearFollowupQueueMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"clearFollowupQueueMock.mockReset"}}],["external:setTodosMock.mockReset",{"id":"external:setTodosMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"setTodosMock.mockReset"}}],["external:sessionErrorHandlerMock.mockReset",{"id":"external:sessionErrorHandlerMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionErrorHandlerMock.mockReset"}}],["external:autoDetectPathStyleMock.mockReset",{"id":"external:autoDetectPathStyleMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoDetectPathStyleMock.mockReset"}}],["external:subscribeToEventsMock.mockImplementation",{"id":"external:subscribeToEventsMock.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}}],["external:getSessionsMock.mockImplementationOnce",{"id":"external:getSessionsMock.mockImplementationOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsMock.mockImplementationOnce"}}],["external:expect(latestContext).not.toBeNull",{"id":"external:expect(latestContext).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(latestContext).not.toBeNull"}}],["external:latestContext!.setSearch",{"id":"external:latestContext!.setSearch","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestContext!.setSearch"}}],["external:firstRequest.resolve",{"id":"external:firstRequest.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"firstRequest.resolve"}}],["external:latestEventCallbacks.onReconnected",{"id":"external:latestEventCallbacks.onReconnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}}],["external:expect(getSessionsMock).toHaveBeenCalledTimes",{"id":"external:expect(getSessionsMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledTimes"}}],["external:secondRequest.resolve",{"id":"external:secondRequest.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"secondRequest.resolve"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","metadata":{"lineCount":284,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","metadata":{"lineCount":221,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","metadata":{"lineCount":173,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","metadata":{"lineCount":36,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"SessionProvider","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":30,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:setIsLoadingMore",{"id":"symbol-name:setIsLoadingMore","kind":"symbol","language":"jsts","symbolName":"setIsLoadingMore","metadata":{"unresolvedName":"setIsLoadingMore"}}],["symbol-name:setIsLoading",{"id":"symbol-name:setIsLoading","kind":"symbol","language":"jsts","symbolName":"setIsLoading","metadata":{"unresolvedName":"setIsLoading"}}],["symbol-name:getSessions",{"id":"symbol-name:getSessions","kind":"symbol","language":"jsts","symbolName":"getSessions","metadata":{"unresolvedName":"getSessions"}}],["symbol-name:autoDetectPathStyle",{"id":"symbol-name:autoDetectPathStyle","kind":"symbol","language":"jsts","symbolName":"autoDetectPathStyle","metadata":{"unresolvedName":"autoDetectPathStyle"}}],["symbol-name:setSessions",{"id":"symbol-name:setSessions","kind":"symbol","language":"jsts","symbolName":"setSessions","metadata":{"unresolvedName":"setSessions"}}],["external:prev.map",{"id":"external:prev.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.map"}}],["external:data.filter",{"id":"external:data.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.filter"}}],["external:existingIds.has",{"id":"external:existingIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"existingIds.has"}}],["symbol-name:setHasMore",{"id":"symbol-name:setHasMore","kind":"symbol","language":"jsts","symbolName":"setHasMore","metadata":{"unresolvedName":"setHasMore"}}],["symbol-name:fetchSessions",{"id":"symbol-name:fetchSessions","kind":"symbol","language":"jsts","symbolName":"fetchSessions","metadata":{"unresolvedName":"fetchSessions"}}],["symbol-name:matchesCurrentDirectory",{"id":"symbol-name:matchesCurrentDirectory","kind":"symbol","language":"jsts","symbolName":"matchesCurrentDirectory","metadata":{"unresolvedName":"matchesCurrentDirectory"}}],["external:fetchSessionsRef.current",{"id":"external:fetchSessionsRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetchSessionsRef.current"}}],["external:prev.some",{"id":"external:prev.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.some"}}],["external:prev.findIndex",{"id":"external:prev.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.findIndex"}}],["external:todoStore.setTodos",{"id":"external:todoStore.setTodos","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.setTodos"}}],["symbol-name:apiCreateSession",{"id":"symbol-name:apiCreateSession","kind":"symbol","language":"jsts","symbolName":"apiCreateSession","metadata":{"unresolvedName":"apiCreateSession"}}],["symbol-name:apiDeleteSession",{"id":"symbol-name:apiDeleteSession","kind":"symbol","language":"jsts","symbolName":"apiDeleteSession","metadata":{"unresolvedName":"apiDeleteSession"}}],["external:childSessionStore.clearChildren",{"id":"external:childSessionStore.clearChildren","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.clearChildren"}}],["external:followupQueueStore.clearSession",{"id":"external:followupQueueStore.clearSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.clearSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":225,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"onSessionCreated","symbolKind":"function","exported":false,"metadata":{"line":131,"column":25,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"onSessionUpdated","symbolKind":"function","exported":false,"metadata":{"line":148,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onTodoUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onTodoUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"onTodoUpdated","symbolKind":"function","exported":false,"metadata":{"line":175,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","symbolName":"onReconnected","symbolKind":"function","exported":false,"metadata":{"line":179,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","metadata":{"lineCount":38,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:defaultNavigateToSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:defaultNavigateToSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","symbolName":"defaultNavigateToSession","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","symbolName":"useSessionNavigation","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"useDirectory","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useCurrentDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useCurrentDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"useCurrentDirectory","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSavedDirectories",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSavedDirectories","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"useSavedDirectories","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:usePathInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:usePathInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"usePathInfo","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"useSidebarExpanded","symbolKind":"function","exported":true,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":31,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","metadata":{"lineCount":11,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","symbolName":"useSessionContext","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","metadata":{"lineCount":72,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","metadata":{"lineCount":480,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","metadata":{"lineCount":62,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":53,"column":76,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByText('notes.txt')).toBeInTheDocument",{"id":"external:expect(screen.getByText('notes.txt')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('notes.txt')).toBeInTheDocument"}}],["external:expect(screen.getByText('hello world')).toBeInTheDocument",{"id":"external:expect(screen.getByText('hello world')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('hello world')).toBeInTheDocument"}}],["external:expect(screen.queryByText('notes.txt')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('notes.txt')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('notes.txt')).not.toBeInTheDocument"}}],["external:screen.getByAltText",{"id":"external:screen.getByAltText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByAltText"}}],["external:fireEvent.load",{"id":"external:fireEvent.load","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.load"}}],["external:expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument"}}],["external:expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","metadata":{"lineCount":146,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"getTouchDistance","symbolKind":"function","exported":false,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Math.sqrt",{"id":"external:Math.sqrt","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.sqrt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"getTouchCenter","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"clamp","symbolKind":"function","exported":false,"metadata":{"line":40,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":379,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:attachment.mime?.startsWith",{"id":"external:attachment.mime?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachment.mime?.startsWith"}}],["symbol-name:getAttachmentIcon",{"id":"symbol-name:getAttachmentIcon","kind":"symbol","language":"jsts","symbolName":"getAttachmentIcon","metadata":{"unresolvedName":"getAttachmentIcon"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"DownloadButton","symbolKind":"function","exported":false,"metadata":{"line":114,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then",{"id":"external:fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then"}}],["external:fetch(attachment.url)\r\n .then",{"id":"external:fetch(attachment.url)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}}],["external:res.arrayBuffer",{"id":"external:res.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"res.arrayBuffer"}}],["symbol-name:saveData",{"id":"symbol-name:saveData","kind":"symbol","language":"jsts","symbolName":"saveData","metadata":{"unresolvedName":"saveData"}}],["external:new TextEncoder().encode",{"id":"external:new TextEncoder().encode","kind":"external","language":"jsts","metadata":{"unresolvedName":"new TextEncoder().encode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"ZoomableImage","symbolKind":"function","exported":false,"metadata":{"line":148,"column":1,"cyclomaticComplexity":25,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:containerRef.current?.getBoundingClientRect",{"id":"external:containerRef.current?.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef.current?.getBoundingClientRect"}}],["symbol-name:getContainerCenter",{"id":"symbol-name:getContainerCenter","kind":"symbol","language":"jsts","symbolName":"getContainerCenter","metadata":{"unresolvedName":"getContainerCenter"}}],["symbol-name:clamp",{"id":"symbol-name:clamp","kind":"symbol","language":"jsts","symbolName":"clamp","metadata":{"unresolvedName":"clamp"}}],["symbol-name:zoomToPoint",{"id":"symbol-name:zoomToPoint","kind":"symbol","language":"jsts","symbolName":"zoomToPoint","metadata":{"unresolvedName":"zoomToPoint"}}],["symbol-name:resetView",{"id":"symbol-name:resetView","kind":"symbol","language":"jsts","symbolName":"resetView","metadata":{"unresolvedName":"resetView"}}],["symbol-name:toggleZoomAtPoint",{"id":"symbol-name:toggleZoomAtPoint","kind":"symbol","language":"jsts","symbolName":"toggleZoomAtPoint","metadata":{"unresolvedName":"toggleZoomAtPoint"}}],["symbol-name:setIsDragging",{"id":"symbol-name:setIsDragging","kind":"symbol","language":"jsts","symbolName":"setIsDragging","metadata":{"unresolvedName":"setIsDragging"}}],["external:toggleZoomRef.current",{"id":"external:toggleZoomRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"toggleZoomRef.current"}}],["symbol-name:getTouchDistance",{"id":"symbol-name:getTouchDistance","kind":"symbol","language":"jsts","symbolName":"getTouchDistance","metadata":{"unresolvedName":"getTouchDistance"}}],["symbol-name:getTouchCenter",{"id":"symbol-name:getTouchCenter","kind":"symbol","language":"jsts","symbolName":"getTouchCenter","metadata":{"unresolvedName":"getTouchCenter"}}],["external:getContainerCenterRef.current",{"id":"external:getContainerCenterRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"getContainerCenterRef.current"}}],["symbol-name:setImgLoaded",{"id":"symbol-name:setImgLoaded","kind":"symbol","language":"jsts","symbolName":"setImgLoaded","metadata":{"unresolvedName":"setImgLoaded"}}],["symbol-name:setImgError",{"id":"symbol-name:setImgError","kind":"symbol","language":"jsts","symbolName":"setImgError","metadata":{"unresolvedName":"setImgError"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:handleMouseMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:handleMouseMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"handleMouseMove","symbolKind":"function","exported":false,"metadata":{"line":266,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"onTouchStart","symbolKind":"function","exported":false,"metadata":{"line":297,"column":26,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"onTouchMove","symbolKind":"function","exported":false,"metadata":{"line":331,"column":25,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"onTouchEnd","symbolKind":"function","exported":false,"metadata":{"line":363,"column":24,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","symbolName":"ZoomButton","symbolKind":"function","exported":false,"metadata":{"line":456,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","metadata":{"lineCount":385,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","symbolName":"AttachmentItemComponent","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:hasExpandableContent",{"id":"symbol-name:hasExpandableContent","kind":"symbol","language":"jsts","symbolName":"hasExpandableContent","metadata":{"unresolvedName":"hasExpandableContent"}}],["symbol-name:setIsExpanded",{"id":"symbol-name:setIsExpanded","kind":"symbol","language":"jsts","symbolName":"setIsExpanded","metadata":{"unresolvedName":"setIsExpanded"}}],["symbol-name:onRemove",{"id":"symbol-name:onRemove","kind":"symbol","language":"jsts","symbolName":"onRemove","metadata":{"unresolvedName":"onRemove"}}],["symbol-name:setImageError",{"id":"symbol-name:setImageError","kind":"symbol","language":"jsts","symbolName":"setImageError","metadata":{"unresolvedName":"setImageError"}}],["symbol-name:setIsModalOpen",{"id":"symbol-name:setIsModalOpen","kind":"symbol","language":"jsts","symbolName":"setIsModalOpen","metadata":{"unresolvedName":"setIsModalOpen"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":331,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:MetaRow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:MetaRow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","symbolName":"MetaRow","symbolKind":"function","exported":false,"metadata":{"line":143,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","symbolName":"ExpandedContent","symbolKind":"function","exported":false,"metadata":{"line":165,"column":1,"cyclomaticComplexity":28,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:mime?.startsWith",{"id":"external:mime?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"mime?.startsWith"}}],["external:content.slice",{"id":"external:content.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.slice"}}],["external:url.startsWith",{"id":"external:url.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.startsWith"}}],["symbol-name:decodeURIComponent",{"id":"symbol-name:decodeURIComponent","kind":"symbol","language":"jsts","symbolName":"decodeURIComponent","metadata":{"unresolvedName":"decodeURIComponent"}}],["external:url.replace",{"id":"external:url.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"url.replace"}}],["external:url?.startsWith",{"id":"external:url?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"url?.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","symbolName":"ActionBar","symbolKind":"function","exported":false,"metadata":{"line":284,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fetch(attachment.url)\r\n .then",{"id":"external:fetch(attachment.url)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}}],["symbol-name:onOpenDetail",{"id":"symbol-name:onOpenDetail","kind":"symbol","language":"jsts","symbolName":"onOpenDetail","metadata":{"unresolvedName":"onOpenDetail"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","metadata":{"lineCount":64,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:AttachmentPreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:AttachmentPreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","symbolName":"AttachmentPreview","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:attachments.map",{"id":"external:attachments.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachments.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/index.ts","metadata":{"lineCount":5,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"fromFilePart","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"fromAgentPart","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"fromTextPart","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:part.text.trim",{"id":"external:part.text.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.text.trim"}}],["external:text.slice(0, 30).replace",{"id":"external:text.slice(0, 30).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.slice(0, 30).replace"}}],["external:text.slice",{"id":"external:text.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.slice"}}],["external:text.replace",{"id":"external:text.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getMentionText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getMentionText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"getMentionText","symbolKind":"function","exported":true,"metadata":{"line":94,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"hasExpandableContent","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","symbolName":"getAttachmentIcon","symbolKind":"function","exported":true,"metadata":{"line":124,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","metadata":{"lineCount":160,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","metadata":{"lineCount":623,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","metadata":{"lineCount":136,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","symbolName":"createUserMessage","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createAssistantMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createAssistantMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","symbolName":"createAssistantMessage","symbolKind":"function","exported":false,"metadata":{"line":21,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","symbolName":"createToolPart","symbolKind":"function","exported":false,"metadata":{"line":48,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":143,"column":89,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createAssistantMessage",{"id":"symbol-name:createAssistantMessage","kind":"symbol","language":"jsts","symbolName":"createAssistantMessage","metadata":{"unresolvedName":"createAssistantMessage"}}],["symbol-name:createToolPart",{"id":"symbol-name:createToolPart","kind":"symbol","language":"jsts","symbolName":"createToolPart","metadata":{"unresolvedName":"createToolPart"}}],["symbol-name:buildVisibleMessageEntries",{"id":"symbol-name:buildVisibleMessageEntries","kind":"symbol","language":"jsts","symbolName":"buildVisibleMessageEntries","metadata":{"unresolvedName":"buildVisibleMessageEntries"}}],["external:expect(entries).toHaveLength",{"id":"external:expect(entries).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(entries).toHaveLength"}}],["external:expect(entries[0].sourceIds).toEqual",{"id":"external:expect(entries[0].sourceIds).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(entries[0].sourceIds).toEqual"}}],["external:expect(entries[0].message.parts).toHaveLength",{"id":"external:expect(entries[0].message.parts).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(entries[0].message.parts).toHaveLength"}}],["external:expect(getVisibleMessageForkTargetId(entries[0])).toBe",{"id":"external:expect(getVisibleMessageForkTargetId(entries[0])).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getVisibleMessageForkTargetId(entries[0])).toBe"}}],["symbol-name:getVisibleMessageForkTargetId",{"id":"symbol-name:getVisibleMessageForkTargetId","kind":"symbol","language":"jsts","symbolName":"getVisibleMessageForkTargetId","metadata":{"unresolvedName":"getVisibleMessageForkTargetId"}}],["external:expect(entries[0].message.info.id).toBe",{"id":"external:expect(entries[0].message.info.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(entries[0].message.info.id).toBe"}}],["symbol-name:createUserMessage",{"id":"symbol-name:createUserMessage","kind":"symbol","language":"jsts","symbolName":"createUserMessage","metadata":{"unresolvedName":"createUserMessage"}}],["symbol-name:buildTurnDurationMap",{"id":"symbol-name:buildTurnDurationMap","kind":"symbol","language":"jsts","symbolName":"buildTurnDurationMap","metadata":{"unresolvedName":"buildTurnDurationMap"}}],["external:expect(durationMap.get('assistant-2')).toBe",{"id":"external:expect(durationMap.get('assistant-2')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(durationMap.get('assistant-2')).toBe"}}],["external:durationMap.get",{"id":"external:durationMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"durationMap.get"}}],["external:expect(durationMap.get('assistant-3')).toBe",{"id":"external:expect(durationMap.get('assistant-3')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(durationMap.get('assistant-3')).toBe"}}],["external:expect(durationMap.has('assistant-1')).toBe",{"id":"external:expect(durationMap.has('assistant-1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(durationMap.has('assistant-1')).toBe"}}],["external:durationMap.has",{"id":"external:durationMap.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"durationMap.has"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","metadata":{"lineCount":91,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:NOOP",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:NOOP","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"NOOP","symbolKind":"function","exported":false,"metadata":{"line":42,"column":14,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"estimateMessageHeight","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"rememberMeasuredMessageHeight","symbolKind":"function","exported":false,"metadata":{"line":52,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:measuredMessageHeightCache.set",{"id":"external:measuredMessageHeightCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"measuredMessageHeightCache.set"}}],["external:measuredMessageHeightCache.keys().next",{"id":"external:measuredMessageHeightCache.keys().next","kind":"external","language":"jsts","metadata":{"unresolvedName":"measuredMessageHeightCache.keys().next"}}],["external:measuredMessageHeightCache.keys",{"id":"external:measuredMessageHeightCache.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"measuredMessageHeightCache.keys"}}],["external:measuredMessageHeightCache.delete",{"id":"external:measuredMessageHeightCache.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"measuredMessageHeightCache.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"buildTurnDurationMap","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:visibleMessages.filter(message => message.info.role === 'assistant').map",{"id":"external:visibleMessages.filter(message => message.info.role === 'assistant').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessages.filter(message => message.info.role === 'assistant').map"}}],["external:visibleMessages.filter",{"id":"external:visibleMessages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessages.filter"}}],["external:map.set",{"id":"external:map.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"map.set"}}],["symbol-name:commitTurn",{"id":"symbol-name:commitTurn","kind":"symbol","language":"jsts","symbolName":"commitTurn","metadata":{"unresolvedName":"commitTurn"}}],["external:visibleAssistantIds.has",{"id":"external:visibleAssistantIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleAssistantIds.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"commitTurn","symbolKind":"function","exported":false,"metadata":{"line":70,"column":22,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":598,"column":30,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:visibleMessageEntries.map",{"id":"external:visibleMessageEntries.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessageEntries.map"}}],["external:visibleMessages.slice(-STICKY_RENDER_MESSAGE_COUNT).map",{"id":"external:visibleMessages.slice(-STICKY_RENDER_MESSAGE_COUNT).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessages.slice(-STICKY_RENDER_MESSAGE_COUNT).map"}}],["external:visibleMessages.slice",{"id":"external:visibleMessages.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessages.slice"}}],["symbol-name:setScrollRoot",{"id":"symbol-name:setScrollRoot","kind":"symbol","language":"jsts","symbolName":"setScrollRoot","metadata":{"unresolvedName":"setScrollRoot"}}],["symbol-name:onAtBottomChange",{"id":"symbol-name:onAtBottomChange","kind":"symbol","language":"jsts","symbolName":"onAtBottomChange","metadata":{"unresolvedName":"onAtBottomChange"}}],["external:messageStore.getSessionState",{"id":"external:messageStore.getSessionState","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getSessionState"}}],["external:Promise.resolve(fn()).finally",{"id":"external:Promise.resolve(fn()).finally","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.resolve(fn()).finally"}}],["external:entry.target.getAttribute",{"id":"external:entry.target.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.target.getAttribute"}}],["external:visibleIds.has",{"id":"external:visibleIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleIds.has"}}],["external:visibleIds.add",{"id":"external:visibleIds.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleIds.add"}}],["external:visibleIds.delete",{"id":"external:visibleIds.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleIds.delete"}}],["external:onVisibleIdsChangeRef.current",{"id":"external:onVisibleIdsChangeRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"onVisibleIdsChangeRef.current"}}],["external:root.querySelectorAll",{"id":"external:root.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.querySelectorAll"}}],["external:elements.forEach",{"id":"external:elements.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"elements.forEach"}}],["symbol-name:useImperativeHandle",{"id":"symbol-name:useImperativeHandle","kind":"symbol","language":"jsts","symbolName":"useImperativeHandle","metadata":{"unresolvedName":"useImperativeHandle"}}],["external:el.scrollTo",{"id":"external:el.scrollTo","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.scrollTo"}}],["external:scrollRef.current\n ?.querySelector",{"id":"external:scrollRef.current\n ?.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"scrollRef.current\n ?.querySelector"}}],["external:prev.push",{"id":"external:prev.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.push"}}],["external:groups.push",{"id":"external:groups.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.push"}}],["external:messages.map",{"id":"external:messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.map"}}],["external:stickyRenderIds.has",{"id":"external:stickyRenderIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"stickyRenderIds.has"}}],["symbol-name:estimateMessageHeight",{"id":"symbol-name:estimateMessageHeight","kind":"symbol","language":"jsts","symbolName":"estimateMessageHeight","metadata":{"unresolvedName":"estimateMessageHeight"}}],["external:turnDurationMap.get",{"id":"external:turnDurationMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"turnDurationMap.get"}}],["external:forkTargetIdMap.get",{"id":"external:forkTargetIdMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"forkTargetIdMap.get"}}],["external:messageGroups.map",{"id":"external:messageGroups.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageGroups.map"}}],["symbol-name:renderMessageGroup",{"id":"symbol-name:renderMessageGroup","kind":"symbol","language":"jsts","symbolName":"renderMessageGroup","metadata":{"unresolvedName":"renderMessageGroup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"onScroll","symbolKind":"function","exported":false,"metadata":{"line":202,"column":26,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottom",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottom","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"scrollToBottom","symbolKind":"function","exported":false,"metadata":{"line":352,"column":27,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottomIfAtBottom",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottomIfAtBottom","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"scrollToBottomIfAtBottom","symbolKind":"function","exported":false,"metadata":{"line":357,"column":37,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToLastMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToLastMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"scrollToLastMessage","symbolKind":"function","exported":false,"metadata":{"line":365,"column":32,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageIndex",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageIndex","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"scrollToMessageIndex","symbolKind":"function","exported":false,"metadata":{"line":372,"column":33,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"scrollToMessageId","symbolKind":"function","exported":false,"metadata":{"line":379,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:measuredMessageHeightCache.get",{"id":"external:measuredMessageHeightCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"measuredMessageHeightCache.get"}}],["symbol-name:registerMessage",{"id":"symbol-name:registerMessage","kind":"symbol","language":"jsts","symbolName":"registerMessage","metadata":{"unresolvedName":"registerMessage"}}],["symbol-name:setIsNearViewport",{"id":"symbol-name:setIsNearViewport","kind":"symbol","language":"jsts","symbolName":"setIsNearViewport","metadata":{"unresolvedName":"setIsNearViewport"}}],["symbol-name:setMeasuredHeightState",{"id":"symbol-name:setMeasuredHeightState","kind":"symbol","language":"jsts","symbolName":"setMeasuredHeightState","metadata":{"unresolvedName":"setMeasuredHeightState"}}],["symbol-name:rememberMeasuredMessageHeight",{"id":"symbol-name:rememberMeasuredMessageHeight","kind":"symbol","language":"jsts","symbolName":"rememberMeasuredMessageHeight","metadata":{"unresolvedName":"rememberMeasuredMessageHeight"}}],["symbol-name:updateHeight",{"id":"symbol-name:updateHeight","kind":"symbol","language":"jsts","symbolName":"updateHeight","metadata":{"unresolvedName":"updateHeight"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","symbolName":"updateHeight","symbolKind":"function","exported":false,"metadata":{"line":595,"column":26,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"messageHasContent","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"isVisibleThinking","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isVisibleReasoningPart",{"id":"symbol-name:isVisibleReasoningPart","kind":"symbol","language":"jsts","symbolName":"isVisibleReasoningPart","metadata":{"unresolvedName":"isVisibleReasoningPart"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"isVisibleText","symbolKind":"function","exported":false,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isVisibleTextPart",{"id":"symbol-name:isVisibleTextPart","kind":"symbol","language":"jsts","symbolName":"isVisibleTextPart","metadata":{"unresolvedName":"isVisibleTextPart"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"endsWithTool","symbolKind":"function","exported":false,"metadata":{"line":27,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"isToolOnlyFollowUp","symbolKind":"function","exported":false,"metadata":{"line":40,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isVisibleThinking",{"id":"symbol-name:isVisibleThinking","kind":"symbol","language":"jsts","symbolName":"isVisibleThinking","metadata":{"unresolvedName":"isVisibleThinking"}}],["symbol-name:isVisibleText",{"id":"symbol-name:isVisibleText","kind":"symbol","language":"jsts","symbolName":"isVisibleText","metadata":{"unresolvedName":"isVisibleText"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"isMergeableTrailing","symbolKind":"function","exported":false,"metadata":{"line":52,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"getVisibleMessageForkTargetId","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","symbolName":"buildVisibleMessageEntries","symbolKind":"function","exported":true,"metadata":{"line":81,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:seenIds.has",{"id":"external:seenIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"seenIds.has"}}],["external:seenIds.add",{"id":"external:seenIds.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"seenIds.add"}}],["external:unique.push",{"id":"external:unique.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"unique.push"}}],["external:unique.filter",{"id":"external:unique.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"unique.filter"}}],["symbol-name:endsWithTool",{"id":"symbol-name:endsWithTool","kind":"symbol","language":"jsts","symbolName":"endsWithTool","metadata":{"unresolvedName":"endsWithTool"}}],["symbol-name:isToolOnlyFollowUp",{"id":"symbol-name:isToolOnlyFollowUp","kind":"symbol","language":"jsts","symbolName":"isToolOnlyFollowUp","metadata":{"unresolvedName":"isToolOnlyFollowUp"}}],["external:sourceIds.push",{"id":"external:sourceIds.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"sourceIds.push"}}],["symbol-name:isMergeableTrailing",{"id":"symbol-name:isMergeableTrailing","kind":"symbol","language":"jsts","symbolName":"isMergeableTrailing","metadata":{"unresolvedName":"isMergeableTrailing"}}],["external:filteredMessages.slice",{"id":"external:filteredMessages.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredMessages.slice"}}],["external:mergedMessages.flatMap",{"id":"external:mergedMessages.flatMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"mergedMessages.flatMap"}}],["external:mergedMessages.some",{"id":"external:mergedMessages.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"mergedMessages.some"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","metadata":{"lineCount":894,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","metadata":{"lineCount":307,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","metadata":{"lineCount":117,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","metadata":{"lineCount":51,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","metadata":{"lineCount":86,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","metadata":{"lineCount":486,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","metadata":{"lineCount":285,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","metadata":{"lineCount":402,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:setSidebarRequestedWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:setSidebarRequestedWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","symbolName":"setSidebarRequestedWidth","symbolKind":"function","exported":false,"metadata":{"line":90,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","symbolName":"scheduleSplitSessionNavigation","symbolKind":"function","exported":false,"metadata":{"line":96,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:callback",{"id":"symbol-name:callback","kind":"symbol","language":"jsts","symbolName":"callback","metadata":{"unresolvedName":"callback"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":660,"column":13,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","symbolName":"cancelPendingSplitSessionNavigation","symbolKind":"function","exported":false,"metadata":{"line":108,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:useChatViewportMaybe",{"id":"symbol-name:useChatViewportMaybe","kind":"symbol","language":"jsts","symbolName":"useChatViewportMaybe","metadata":{"unresolvedName":"useChatViewportMaybe"}}],["symbol-name:useModels",{"id":"symbol-name:useModels","kind":"symbol","language":"jsts","symbolName":"useModels","metadata":{"unresolvedName":"useModels"}}],["symbol-name:useHiddenModelKeys",{"id":"symbol-name:useHiddenModelKeys","kind":"symbol","language":"jsts","symbolName":"useHiddenModelKeys","metadata":{"unresolvedName":"useHiddenModelKeys"}}],["external:hiddenModelKeys.includes",{"id":"external:hiddenModelKeys.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"hiddenModelKeys.includes"}}],["symbol-name:getModelKey",{"id":"symbol-name:getModelKey","kind":"symbol","language":"jsts","symbolName":"getModelKey","metadata":{"unresolvedName":"getModelKey"}}],["symbol-name:useModelSelection",{"id":"symbol-name:useModelSelection","kind":"symbol","language":"jsts","symbolName":"useModelSelection","metadata":{"unresolvedName":"useModelSelection"}}],["external:autoApproveStore.onFullAutoChange",{"id":"external:autoApproveStore.onFullAutoChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.onFullAutoChange"}}],["symbol-name:setFullAutoHint",{"id":"symbol-name:setFullAutoHint","kind":"symbol","language":"jsts","symbolName":"setFullAutoHint","metadata":{"unresolvedName":"setFullAutoHint"}}],["external:prev.every",{"id":"external:prev.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.every"}}],["symbol-name:setVisibleMessageIds",{"id":"symbol-name:setVisibleMessageIds","kind":"symbol","language":"jsts","symbolName":"setVisibleMessageIds","metadata":{"unresolvedName":"setVisibleMessageIds"}}],["external:chatAreaRef.current?.scrollToMessageId",{"id":"external:chatAreaRef.current?.scrollToMessageId","kind":"external","language":"jsts","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToMessageId"}}],["symbol-name:setInputBoxHeight",{"id":"symbol-name:setInputBoxHeight","kind":"symbol","language":"jsts","symbolName":"setInputBoxHeight","metadata":{"unresolvedName":"setInputBoxHeight"}}],["symbol-name:useChatSession",{"id":"symbol-name:useChatSession","kind":"symbol","language":"jsts","symbolName":"useChatSession","metadata":{"unresolvedName":"useChatSession"}}],["symbol-name:useDeferredValue",{"id":"symbol-name:useDeferredValue","kind":"symbol","language":"jsts","symbolName":"useDeferredValue","metadata":{"unresolvedName":"useDeferredValue"}}],["external:messageStore.protectSession",{"id":"external:messageStore.protectSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.protectSession"}}],["external:messageStore.unprotectSession",{"id":"external:messageStore.unprotectSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.unprotectSession"}}],["symbol-name:useCancelHint",{"id":"symbol-name:useCancelHint","kind":"symbol","language":"jsts","symbolName":"useCancelHint","metadata":{"unresolvedName":"useCancelHint"}}],["external:handleVisibleMessageIdsChangeRef.current",{"id":"external:handleVisibleMessageIdsChangeRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"handleVisibleMessageIdsChangeRef.current"}}],["symbol-name:setVisibleMessageIdsStable",{"id":"symbol-name:setVisibleMessageIdsStable","kind":"symbol","language":"jsts","symbolName":"setVisibleMessageIdsStable","metadata":{"unresolvedName":"setVisibleMessageIdsStable"}}],["external:agents.find",{"id":"external:agents.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"agents.find"}}],["symbol-name:findModelByKey",{"id":"symbol-name:findModelByKey","kind":"symbol","language":"jsts","symbolName":"findModelByKey","metadata":{"unresolvedName":"findModelByKey"}}],["symbol-name:handleModelChange",{"id":"symbol-name:handleModelChange","kind":"symbol","language":"jsts","symbolName":"handleModelChange","metadata":{"unresolvedName":"handleModelChange"}}],["symbol-name:setSelectedAgent",{"id":"symbol-name:setSelectedAgent","kind":"symbol","language":"jsts","symbolName":"setSelectedAgent","metadata":{"unresolvedName":"setSelectedAgent"}}],["symbol-name:syncModelForAgent",{"id":"symbol-name:syncModelForAgent","kind":"symbol","language":"jsts","symbolName":"syncModelForAgent","metadata":{"unresolvedName":"syncModelForAgent"}}],["external:primaryAgents.findIndex",{"id":"external:primaryAgents.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"primaryAgents.findIndex"}}],["symbol-name:handleAgentChange",{"id":"symbol-name:handleAgentChange","kind":"symbol","language":"jsts","symbolName":"handleAgentChange","metadata":{"unresolvedName":"handleAgentChange"}}],["symbol-name:restoreModelSelection",{"id":"symbol-name:restoreModelSelection","kind":"symbol","language":"jsts","symbolName":"restoreModelSelection","metadata":{"unresolvedName":"restoreModelSelection"}}],["symbol-name:restoreFromMessage",{"id":"symbol-name:restoreFromMessage","kind":"symbol","language":"jsts","symbolName":"restoreFromMessage","metadata":{"unresolvedName":"restoreFromMessage"}}],["external:[...messages].reverse().find",{"id":"external:[...messages].reverse().find","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...messages].reverse().find"}}],["external:[...messages].reverse",{"id":"external:[...messages].reverse","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...messages].reverse"}}],["symbol-name:restoreAgentFromMessage",{"id":"symbol-name:restoreAgentFromMessage","kind":"symbol","language":"jsts","symbolName":"restoreAgentFromMessage","metadata":{"unresolvedName":"restoreAgentFromMessage"}}],["external:overlayRef.current?.setZone",{"id":"external:overlayRef.current?.setZone","kind":"external","language":"jsts","metadata":{"unresolvedName":"overlayRef.current?.setZone"}}],["symbol-name:cancelPendingZone",{"id":"symbol-name:cancelPendingZone","kind":"symbol","language":"jsts","symbolName":"cancelPendingZone","metadata":{"unresolvedName":"cancelPendingZone"}}],["symbol-name:writeZone",{"id":"symbol-name:writeZone","kind":"symbol","language":"jsts","symbolName":"writeZone","metadata":{"unresolvedName":"writeZone"}}],["symbol-name:resetDropState",{"id":"symbol-name:resetDropState","kind":"symbol","language":"jsts","symbolName":"resetDropState","metadata":{"unresolvedName":"resetDropState"}}],["external:e.dataTransfer.types.includes",{"id":"external:e.dataTransfer.types.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}}],["external:e.dataTransfer.getData",{"id":"external:e.dataTransfer.getData","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.dataTransfer.getData"}}],["external:e.currentTarget.getBoundingClientRect",{"id":"external:e.currentTarget.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.currentTarget.getBoundingClientRect"}}],["symbol-name:resolveDropZone",{"id":"symbol-name:resolveDropZone","kind":"symbol","language":"jsts","symbolName":"resolveDropZone","metadata":{"unresolvedName":"resolveDropZone"}}],["external:e.currentTarget.contains",{"id":"external:e.currentTarget.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.currentTarget.contains"}}],["symbol-name:cancelPendingSplitSessionNavigation",{"id":"symbol-name:cancelPendingSplitSessionNavigation","kind":"symbol","language":"jsts","symbolName":"cancelPendingSplitSessionNavigation","metadata":{"unresolvedName":"cancelPendingSplitSessionNavigation"}}],["symbol-name:readSessionDragPayload",{"id":"symbol-name:readSessionDragPayload","kind":"symbol","language":"jsts","symbolName":"readSessionDragPayload","metadata":{"unresolvedName":"readSessionDragPayload"}}],["external:paneLayoutStore.splitPaneToSide",{"id":"external:paneLayoutStore.splitPaneToSide","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.splitPaneToSide"}}],["external:paneLayoutStore.findLeaf",{"id":"external:paneLayoutStore.findLeaf","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.findLeaf"}}],["symbol-name:scheduleSplitSessionNavigation",{"id":"symbol-name:scheduleSplitSessionNavigation","kind":"symbol","language":"jsts","symbolName":"scheduleSplitSessionNavigation","metadata":{"unresolvedName":"scheduleSplitSessionNavigation"}}],["external:autoApproveStore.cyclePaneFullAutoMode",{"id":"external:autoApproveStore.cyclePaneFullAutoMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.cyclePaneFullAutoMode"}}],["external:modelSelectorRef.current?.openMenu",{"id":"external:modelSelectorRef.current?.openMenu","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelSelectorRef.current?.openMenu"}}],["external:controllerActionsRef.current.newSession",{"id":"external:controllerActionsRef.current.newSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.newSession"}}],["external:controllerActionsRef.current.archiveSession",{"id":"external:controllerActionsRef.current.archiveSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.archiveSession"}}],["external:controllerActionsRef.current.previousSession",{"id":"external:controllerActionsRef.current.previousSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.previousSession"}}],["external:controllerActionsRef.current.nextSession",{"id":"external:controllerActionsRef.current.nextSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.nextSession"}}],["external:controllerActionsRef.current.toggleAgent",{"id":"external:controllerActionsRef.current.toggleAgent","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.toggleAgent"}}],["external:controllerActionsRef.current.copyLastResponse",{"id":"external:controllerActionsRef.current.copyLastResponse","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.copyLastResponse"}}],["external:controllerActionsRef.current.cancelMessage",{"id":"external:controllerActionsRef.current.cancelMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.cancelMessage"}}],["external:controllerActionsRef.current.openModelSelector",{"id":"external:controllerActionsRef.current.openModelSelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.openModelSelector"}}],["external:controllerActionsRef.current.toggleFullAuto",{"id":"external:controllerActionsRef.current.toggleFullAuto","kind":"external","language":"jsts","metadata":{"unresolvedName":"controllerActionsRef.current.toggleFullAuto"}}],["external:paneControllerStore.removeController",{"id":"external:paneControllerStore.removeController","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllerStore.removeController"}}],["external:paneControllerStore.setController",{"id":"external:paneControllerStore.setController","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllerStore.setController"}}],["symbol-name:setPermissionCollapsed",{"id":"symbol-name:setPermissionCollapsed","kind":"symbol","language":"jsts","symbolName":"setPermissionCollapsed","metadata":{"unresolvedName":"setPermissionCollapsed"}}],["symbol-name:setQuestionCollapsed",{"id":"symbol-name:setQuestionCollapsed","kind":"symbol","language":"jsts","symbolName":"setQuestionCollapsed","metadata":{"unresolvedName":"setQuestionCollapsed"}}],["external:pendingPermissionRequests.find",{"id":"external:pendingPermissionRequests.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingPermissionRequests.find"}}],["symbol-name:handlePermissionReply",{"id":"symbol-name:handlePermissionReply","kind":"symbol","language":"jsts","symbolName":"handlePermissionReply","metadata":{"unresolvedName":"handlePermissionReply"}}],["symbol-name:handleQuestionReply",{"id":"symbol-name:handleQuestionReply","kind":"symbol","language":"jsts","symbolName":"handleQuestionReply","metadata":{"unresolvedName":"handleQuestionReply"}}],["symbol-name:handleQuestionReject",{"id":"symbol-name:handleQuestionReject","kind":"symbol","language":"jsts","symbolName":"handleQuestionReject","metadata":{"unresolvedName":"handleQuestionReject"}}],["external:chatAreaRef.current?.scrollToBottom",{"id":"external:chatAreaRef.current?.scrollToBottom","kind":"external","language":"jsts","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToBottom"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","symbolName":"onPermissionReply","symbolKind":"function","exported":false,"metadata":{"line":670,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"clamp","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"getResponsiveSidebarMaxWidth","symbolKind":"function","exported":false,"metadata":{"line":30,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"getResponsiveSidebarDefaultWidth","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"getResponsiveRightPanelMaxWidth","symbolKind":"function","exported":false,"metadata":{"line":42,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"canUseSplitPane","symbolKind":"function","exported":true,"metadata":{"line":107,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"computeChatViewport","symbolKind":"function","exported":false,"metadata":{"line":114,"column":1,"cyclomaticComplexity":27,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getResponsiveSidebarMaxWidth",{"id":"symbol-name:getResponsiveSidebarMaxWidth","kind":"symbol","language":"jsts","symbolName":"getResponsiveSidebarMaxWidth","metadata":{"unresolvedName":"getResponsiveSidebarMaxWidth"}}],["symbol-name:getResponsiveSidebarDefaultWidth",{"id":"symbol-name:getResponsiveSidebarDefaultWidth","kind":"symbol","language":"jsts","symbolName":"getResponsiveSidebarDefaultWidth","metadata":{"unresolvedName":"getResponsiveSidebarDefaultWidth"}}],["symbol-name:getResponsiveRightPanelMaxWidth",{"id":"symbol-name:getResponsiveRightPanelMaxWidth","kind":"symbol","language":"jsts","symbolName":"getResponsiveRightPanelMaxWidth","metadata":{"unresolvedName":"getResponsiveRightPanelMaxWidth"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:ChatViewportProvider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:ChatViewportProvider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"ChatViewportProvider","symbolKind":"function","exported":true,"metadata":{"line":248,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"useChatViewport","symbolKind":"function","exported":true,"metadata":{"line":252,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"useChatViewportMaybe","symbolKind":"function","exported":true,"metadata":{"line":261,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"useChatViewportController","symbolKind":"function","exported":true,"metadata":{"line":265,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:localStorage.getItem",{"id":"external:localStorage.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.getItem"}}],["symbol-name:setViewportWidth",{"id":"symbol-name:setViewportWidth","kind":"symbol","language":"jsts","symbolName":"setViewportWidth","metadata":{"unresolvedName":"setViewportWidth"}}],["symbol-name:setViewportHeight",{"id":"symbol-name:setViewportHeight","kind":"symbol","language":"jsts","symbolName":"setViewportHeight","metadata":{"unresolvedName":"setViewportHeight"}}],["symbol-name:setSurfaceWidth",{"id":"symbol-name:setSurfaceWidth","kind":"symbol","language":"jsts","symbolName":"setSurfaceWidth","metadata":{"unresolvedName":"setSurfaceWidth"}}],["symbol-name:setSidebarHasCustomWidth",{"id":"symbol-name:setSidebarHasCustomWidth","kind":"symbol","language":"jsts","symbolName":"setSidebarHasCustomWidth","metadata":{"unresolvedName":"setSidebarHasCustomWidth"}}],["symbol-name:setRequestedSidebarWidthState",{"id":"symbol-name:setRequestedSidebarWidthState","kind":"symbol","language":"jsts","symbolName":"setRequestedSidebarWidthState","metadata":{"unresolvedName":"setRequestedSidebarWidthState"}}],["external:localStorage.setItem",{"id":"external:localStorage.setItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.setItem"}}],["symbol-name:computeChatViewport",{"id":"symbol-name:computeChatViewport","kind":"symbol","language":"jsts","symbolName":"computeChatViewport","metadata":{"unresolvedName":"computeChatViewport"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":319,"column":48,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","symbolName":"handleResize","symbolKind":"function","exported":false,"metadata":{"line":297,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","metadata":{"lineCount":200,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"EmptyState","symbolKind":"function","exported":true,"metadata":{"line":13,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["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"}}],["external:customPath.trim",{"id":"external:customPath.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"customPath.trim"}}],["symbol-name:onStartChat",{"id":"symbol-name:onStartChat","kind":"symbol","language":"jsts","symbolName":"onStartChat","metadata":{"unresolvedName":"onStartChat"}}],["symbol-name:setCustomPath",{"id":"symbol-name:setCustomPath","kind":"symbol","language":"jsts","symbolName":"setCustomPath","metadata":{"unresolvedName":"setCustomPath"}}],["symbol-name:setIsCustomMode",{"id":"symbol-name:setIsCustomMode","kind":"symbol","language":"jsts","symbolName":"setIsCustomMode","metadata":{"unresolvedName":"setIsCustomMode"}}],["external:projects\r\n .filter",{"id":"external:projects\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects\r\n .filter"}}],["symbol-name:handleStart",{"id":"symbol-name:handleStart","kind":"symbol","language":"jsts","symbolName":"handleStart","metadata":{"unresolvedName":"handleStart"}}],["symbol-name:handleSelectDirectory",{"id":"symbol-name:handleSelectDirectory","kind":"symbol","language":"jsts","symbolName":"handleSelectDirectory","metadata":{"unresolvedName":"handleSelectDirectory"}}],["external:otherDirectories.map",{"id":"external:otherDirectories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"otherDirectories.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":107,"column":28,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":29,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"handleStart","symbolKind":"function","exported":false,"metadata":{"line":49,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"handleSelectDirectory","symbolKind":"function","exported":false,"metadata":{"line":57,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","symbolName":"handleCustomPath","symbolKind":"function","exported":false,"metadata":{"line":66,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","metadata":{"lineCount":276,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","metadata":{"lineCount":136,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","symbolName":"SessionTitleControl","symbolKind":"function","exported":false,"metadata":{"line":51,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:setEditTitle",{"id":"symbol-name:setEditTitle","kind":"symbol","language":"jsts","symbolName":"setEditTitle","metadata":{"unresolvedName":"setEditTitle"}}],["symbol-name:handleRename",{"id":"symbol-name:handleRename","kind":"symbol","language":"jsts","symbolName":"handleRename","metadata":{"unresolvedName":"handleRename"}}],["symbol-name:setIsEditingTitle",{"id":"symbol-name:setIsEditingTitle","kind":"symbol","language":"jsts","symbolName":"setIsEditingTitle","metadata":{"unresolvedName":"setIsEditingTitle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":150,"column":13,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","symbolName":"Header","symbolKind":"function","exported":true,"metadata":{"line":113,"column":1,"cyclomaticComplexity":26,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSessionContext",{"id":"symbol-name:useSessionContext","kind":"symbol","language":"jsts","symbolName":"useSessionContext","metadata":{"unresolvedName":"useSessionContext"}}],["external:titleInputRef.current.focus",{"id":"external:titleInputRef.current.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"titleInputRef.current.focus"}}],["external:titleInputRef.current.select",{"id":"external:titleInputRef.current.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"titleInputRef.current.select"}}],["external:editTitle.trim",{"id":"external:editTitle.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"editTitle.trim"}}],["symbol-name:updateSession",{"id":"symbol-name:updateSession","kind":"symbol","language":"jsts","symbolName":"updateSession","metadata":{"unresolvedName":"updateSession"}}],["external:messageStore.updateSessionMetadata",{"id":"external:messageStore.updateSessionMetadata","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}}],["symbol-name:setShareDialogOpen",{"id":"symbol-name:setShareDialogOpen","kind":"symbol","language":"jsts","symbolName":"setShareDialogOpen","metadata":{"unresolvedName":"setShareDialogOpen"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","symbolName":"handleStartEdit","symbolKind":"function","exported":false,"metadata":{"line":157,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","symbolName":"handleRename","symbolKind":"function","exported":false,"metadata":{"line":163,"column":24,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/index.ts","metadata":{"lineCount":9,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","metadata":{"lineCount":131,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":26,"column":38,"cyclomaticComplexity":20,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(request.patterns as string[]).map(p => p.replace(/\\\\n/g, '\\n')).join",{"id":"external:(request.patterns as string[]).map(p => p.replace(/\\\\n/g, '\\n')).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"(request.patterns as string[]).map(p => p.replace(/\\\\n/g, '\\n')).join"}}],["external:(request.patterns as string[]).map",{"id":"external:(request.patterns as string[]).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(request.patterns as string[]).map"}}],["external:p.replace",{"id":"external:p.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"p.replace"}}],["external:autoApproveStore.addRules",{"id":"external:autoApproveStore.addRules","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.addRules"}}],["symbol-name:onReply",{"id":"symbol-name:onReply","kind":"symbol","language":"jsts","symbolName":"onReply","metadata":{"unresolvedName":"onReply"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","symbolName":"handleAlways","symbolKind":"function","exported":false,"metadata":{"line":59,"column":24,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","metadata":{"lineCount":310,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":294,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:request.questions.forEach",{"id":"external:request.questions.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.questions.forEach"}}],["symbol-name:setAnswers",{"id":"symbol-name:setAnswers","kind":"symbol","language":"jsts","symbolName":"setAnswers","metadata":{"unresolvedName":"setAnswers"}}],["external:m.set",{"id":"external:m.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.set"}}],["symbol-name:setCustomEnabled",{"id":"symbol-name:setCustomEnabled","kind":"symbol","language":"jsts","symbolName":"setCustomEnabled","metadata":{"unresolvedName":"setCustomEnabled"}}],["external:prev.get",{"id":"external:prev.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.get"}}],["external:s.has",{"id":"external:s.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.has"}}],["external:s.delete",{"id":"external:s.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.delete"}}],["external:s.add",{"id":"external:s.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.add"}}],["symbol-name:setCustomValues",{"id":"symbol-name:setCustomValues","kind":"symbol","language":"jsts","symbolName":"setCustomValues","metadata":{"unresolvedName":"setCustomValues"}}],["external:request.questions.map",{"id":"external:request.questions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.questions.map"}}],["external:answers.get",{"id":"external:answers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"answers.get"}}],["external:customEnabled.get",{"id":"external:customEnabled.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"customEnabled.get"}}],["external:customValues.get(idx)?.trim",{"id":"external:customValues.get(idx)?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}}],["external:customValues.get",{"id":"external:customValues.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"customValues.get"}}],["external:request.questions.every",{"id":"external:request.questions.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.questions.every"}}],["symbol-name:onReject",{"id":"symbol-name:onReject","kind":"symbol","language":"jsts","symbolName":"onReject","metadata":{"unresolvedName":"onReject"}}],["symbol-name:matchesKeybinding",{"id":"symbol-name:matchesKeybinding","kind":"symbol","language":"jsts","symbolName":"matchesKeybinding","metadata":{"unresolvedName":"matchesKeybinding"}}],["symbol-name:handleSubmit",{"id":"symbol-name:handleSubmit","kind":"symbol","language":"jsts","symbolName":"handleSubmit","metadata":{"unresolvedName":"handleSubmit"}}],["symbol-name:selectOption",{"id":"symbol-name:selectOption","kind":"symbol","language":"jsts","symbolName":"selectOption","metadata":{"unresolvedName":"selectOption"}}],["symbol-name:selectCustom",{"id":"symbol-name:selectCustom","kind":"symbol","language":"jsts","symbolName":"selectCustom","metadata":{"unresolvedName":"selectCustom"}}],["symbol-name:toggleOption",{"id":"symbol-name:toggleOption","kind":"symbol","language":"jsts","symbolName":"toggleOption","metadata":{"unresolvedName":"toggleOption"}}],["symbol-name:toggleCustom",{"id":"symbol-name:toggleCustom","kind":"symbol","language":"jsts","symbolName":"toggleCustom","metadata":{"unresolvedName":"toggleCustom"}}],["symbol-name:updateCustomValue",{"id":"symbol-name:updateCustomValue","kind":"symbol","language":"jsts","symbolName":"updateCustomValue","metadata":{"unresolvedName":"updateCustomValue"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","symbolName":"InlineQuestionItem","symbolKind":"function","exported":false,"metadata":{"line":195,"column":1,"cyclomaticComplexity":21,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:textareaRef.current.focus",{"id":"external:textareaRef.current.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"textareaRef.current.focus"}}],["external:(question.options || []).map",{"id":"external:(question.options || []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(question.options || []).map"}}],["external:selected.has",{"id":"external:selected.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"selected.has"}}],["symbol-name:onToggleOption",{"id":"symbol-name:onToggleOption","kind":"symbol","language":"jsts","symbolName":"onToggleOption","metadata":{"unresolvedName":"onToggleOption"}}],["symbol-name:onSelectOption",{"id":"symbol-name:onSelectOption","kind":"symbol","language":"jsts","symbolName":"onSelectOption","metadata":{"unresolvedName":"onSelectOption"}}],["symbol-name:onToggleCustom",{"id":"symbol-name:onToggleCustom","kind":"symbol","language":"jsts","symbolName":"onToggleCustom","metadata":{"unresolvedName":"onToggleCustom"}}],["symbol-name:onSelectCustom",{"id":"symbol-name:onSelectCustom","kind":"symbol","language":"jsts","symbolName":"onSelectCustom","metadata":{"unresolvedName":"onSelectCustom"}}],["symbol-name:onCustomValueChange",{"id":"symbol-name:onCustomValueChange","kind":"symbol","language":"jsts","symbolName":"onCustomValueChange","metadata":{"unresolvedName":"onCustomValueChange"}}],["symbol-name:adjustHeight",{"id":"symbol-name:adjustHeight","kind":"symbol","language":"jsts","symbolName":"adjustHeight","metadata":{"unresolvedName":"adjustHeight"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onPermissionReply",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onPermissionReply","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"onPermissionReply","symbolKind":"function","exported":false,"metadata":{"line":31,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReply",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReply","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"onQuestionReply","symbolKind":"function","exported":false,"metadata":{"line":32,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"onQuestionReject","symbolKind":"function","exported":false,"metadata":{"line":33,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"useInlineToolRequests","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"findPermissionRequestForTool","symbolKind":"function","exported":true,"metadata":{"line":43,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pendingPermissions.find",{"id":"external:pendingPermissions.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingPermissions.find"}}],["external:childSessionStore.isChildOf",{"id":"external:childSessionStore.isChildOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.isChildOf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","symbolName":"findQuestionRequestForTool","symbolKind":"function","exported":true,"metadata":{"line":68,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pendingQuestions.find",{"id":"external:pendingQuestions.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingQuestions.find"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","metadata":{"lineCount":104,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","metadata":{"lineCount":534,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":99,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.importActual",{"id":"external:vi.importActual","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.importActual"}}],["external:vi.mocked(getVcsStatus).mockReset",{"id":"external:vi.mocked(getVcsStatus).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockReset"}}],["external:vi.mocked(getVcsBranches).mockReset",{"id":"external:vi.mocked(getVcsBranches).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockReset"}}],["external:vi.mocked(stageGitPaths).mockReset",{"id":"external:vi.mocked(stageGitPaths).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockReset"}}],["external:vi.mocked(commitGitChanges).mockReset",{"id":"external:vi.mocked(commitGitChanges).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockReset"}}],["external:vi.mocked(getVcsStatus).mockResolvedValue",{"id":"external:vi.mocked(getVcsStatus).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockResolvedValue"}}],["external:vi.mocked(getVcsBranches).mockResolvedValue",{"id":"external:vi.mocked(getVcsBranches).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockResolvedValue"}}],["external:screen.findByRole",{"id":"external:screen.findByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.findByRole"}}],["external:expect(trigger).toBeInTheDocument",{"id":"external:expect(trigger).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(trigger).toBeInTheDocument"}}],["external:expect(screen.getByText('main')).toBeInTheDocument",{"id":"external:expect(screen.getByText('main')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('main')).toBeInTheDocument"}}],["external:expect(screen.getByText('1 ahead')).toBeInTheDocument",{"id":"external:expect(screen.getByText('1 ahead')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('1 ahead')).toBeInTheDocument"}}],["external:expect(screen.getByText('2 behind')).toBeInTheDocument",{"id":"external:expect(screen.getByText('2 behind')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('2 behind')).toBeInTheDocument"}}],["external:vi.mocked(getVcsStatus).mockRejectedValue",{"id":"external:vi.mocked(getVcsStatus).mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockRejectedValue"}}],["external:vi.mocked(getVcsBranches).mockRejectedValue",{"id":"external:vi.mocked(getVcsBranches).mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockRejectedValue"}}],["external:vi.mocked(stageGitPaths).mockResolvedValue",{"id":"external:vi.mocked(stageGitPaths).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockResolvedValue"}}],["external:vi.mocked(commitGitChanges).mockResolvedValue",{"id":"external:vi.mocked(commitGitChanges).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockResolvedValue"}}],["external:expect(stageGitPaths).toHaveBeenCalledWith",{"id":"external:expect(stageGitPaths).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stageGitPaths).toHaveBeenCalledWith"}}],["external:screen.getByLabelText",{"id":"external:screen.getByLabelText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByLabelText"}}],["external:expect(commitGitChanges).toHaveBeenCalledWith",{"id":"external:expect(commitGitChanges).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commitGitChanges).toHaveBeenCalledWith"}}],["external:@primer/octicons-react",{"id":"external:@primer/octicons-react","kind":"external","language":"jsts","metadata":{"source":"@primer/octicons-react"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:fileStatusLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:fileStatusLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"fileStatusLabel","symbolKind":"function","exported":false,"metadata":{"line":41,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"compactBranchName","symbolKind":"function","exported":false,"metadata":{"line":48,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:branch.slice",{"id":"external:branch.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"branch.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"countStaged","symbolKind":"function","exported":false,"metadata":{"line":52,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:files.filter",{"id":"external:files.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"files.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"countUnstaged","symbolKind":"function","exported":false,"metadata":{"line":56,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"GitComposerControl","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:countStaged",{"id":"symbol-name:countStaged","kind":"symbol","language":"jsts","symbolName":"countStaged","metadata":{"unresolvedName":"countStaged"}}],["symbol-name:countUnstaged",{"id":"symbol-name:countUnstaged","kind":"symbol","language":"jsts","symbolName":"countUnstaged","metadata":{"unresolvedName":"countUnstaged"}}],["symbol-name:setStatus",{"id":"symbol-name:setStatus","kind":"symbol","language":"jsts","symbolName":"setStatus","metadata":{"unresolvedName":"setStatus"}}],["symbol-name:setBranches",{"id":"symbol-name:setBranches","kind":"symbol","language":"jsts","symbolName":"setBranches","metadata":{"unresolvedName":"setBranches"}}],["external:Promise.all",{"id":"external:Promise.all","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.all"}}],["external:menuRef.current?.contains",{"id":"external:menuRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"menuRef.current?.contains"}}],["external:triggerRef.current?.contains",{"id":"external:triggerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"triggerRef.current?.contains"}}],["symbol-name:setOpen",{"id":"symbol-name:setOpen","kind":"symbol","language":"jsts","symbolName":"setOpen","metadata":{"unresolvedName":"setOpen"}}],["external:triggerRef.current?.focus",{"id":"external:triggerRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"triggerRef.current?.focus"}}],["symbol-name:setCommitMessage",{"id":"symbol-name:setCommitMessage","kind":"symbol","language":"jsts","symbolName":"setCommitMessage","metadata":{"unresolvedName":"setCommitMessage"}}],["external:newBranchName.trim",{"id":"external:newBranchName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"newBranchName.trim"}}],["symbol-name:runAction",{"id":"symbol-name:runAction","kind":"symbol","language":"jsts","symbolName":"runAction","metadata":{"unresolvedName":"runAction"}}],["symbol-name:setNewBranchName",{"id":"symbol-name:setNewBranchName","kind":"symbol","language":"jsts","symbolName":"setNewBranchName","metadata":{"unresolvedName":"setNewBranchName"}}],["external:status?.files.map",{"id":"external:status?.files.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"status?.files.map"}}],["external:status?.files.filter(file => file.staged).map",{"id":"external:status?.files.filter(file => file.staged).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"status?.files.filter(file => file.staged).map"}}],["external:status?.files.filter",{"id":"external:status?.files.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"status?.files.filter"}}],["symbol-name:compactBranchName",{"id":"symbol-name:compactBranchName","kind":"symbol","language":"jsts","symbolName":"compactBranchName","metadata":{"unresolvedName":"compactBranchName"}}],["external:branches.map",{"id":"external:branches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"branches.map"}}],["external:commitMessage.trim",{"id":"external:commitMessage.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"commitMessage.trim"}}],["external:status?.files\n .slice(0, 8)\n .map",{"id":"external:status?.files\n .slice(0, 8)\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"status?.files\n .slice(0, 8)\n .map"}}],["external:status?.files\n .slice",{"id":"external:status?.files\n .slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"status?.files\n .slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":308,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"handlePointerDown","symbolKind":"function","exported":false,"metadata":{"line":106,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":112,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:StatusBadge",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:StatusBadge","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"StatusBadge","symbolKind":"function","exported":false,"metadata":{"line":429,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitActionButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitActionButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"GitActionButton","symbolKind":"function","exported":false,"metadata":{"line":455,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:ChangedFileRow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:ChangedFileRow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","symbolName":"ChangedFileRow","symbolKind":"function","exported":false,"metadata":{"line":486,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:fileStatusLabel",{"id":"symbol-name:fileStatusLabel","kind":"symbol","language":"jsts","symbolName":"fileStatusLabel","metadata":{"unresolvedName":"fileStatusLabel"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","metadata":{"lineCount":153,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","metadata":{"lineCount":38,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","metadata":{"lineCount":1179,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:PresenceItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:PresenceItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","symbolName":"PresenceItem","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:usePresence",{"id":"symbol-name:usePresence","kind":"symbol","language":"jsts","symbolName":"usePresence","metadata":{"unresolvedName":"usePresence"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":133,"column":38,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","metadata":{"lineCount":409,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"useFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:autoApproveStore.getPaneFullAutoMode",{"id":"external:autoApproveStore.getPaneFullAutoMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.getPaneFullAutoMode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":385,"column":22,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useTodos",{"id":"symbol-name:useTodos","kind":"symbol","language":"jsts","symbolName":"useTodos","metadata":{"unresolvedName":"useTodos"}}],["symbol-name:useTodoStats",{"id":"symbol-name:useTodoStats","kind":"symbol","language":"jsts","symbolName":"useTodoStats","metadata":{"unresolvedName":"useTodoStats"}}],["symbol-name:useCurrentTask",{"id":"symbol-name:useCurrentTask","kind":"symbol","language":"jsts","symbolName":"useCurrentTask","metadata":{"unresolvedName":"useCurrentTask"}}],["symbol-name:useFullAutoMode",{"id":"symbol-name:useFullAutoMode","kind":"symbol","language":"jsts","symbolName":"useFullAutoMode","metadata":{"unresolvedName":"useFullAutoMode"}}],["external:getSessionTodos(sessionId)\r\n .then",{"id":"external:getSessionTodos(sessionId)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionTodos(sessionId)\r\n .then"}}],["symbol-name:getSessionTodos",{"id":"symbol-name:getSessionTodos","kind":"symbol","language":"jsts","symbolName":"getSessionTodos","metadata":{"unresolvedName":"getSessionTodos"}}],["external:window.clearTimeout",{"id":"external:window.clearTimeout","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.clearTimeout"}}],["symbol-name:clearPanelTimers",{"id":"symbol-name:clearPanelTimers","kind":"symbol","language":"jsts","symbolName":"clearPanelTimers","metadata":{"unresolvedName":"clearPanelTimers"}}],["external:inputContainer.setAttribute",{"id":"external:inputContainer.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainer.setAttribute"}}],["external:inputContainer.contains",{"id":"external:inputContainer.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainer.contains"}}],["external:activeElement.blur",{"id":"external:activeElement.blur","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeElement.blur"}}],["symbol-name:setPanelState",{"id":"symbol-name:setPanelState","kind":"symbol","language":"jsts","symbolName":"setPanelState","metadata":{"unresolvedName":"setPanelState"}}],["external:inputContainerRef?.current?.removeAttribute",{"id":"external:inputContainerRef?.current?.removeAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainerRef?.current?.removeAttribute"}}],["symbol-name:closePanel",{"id":"symbol-name:closePanel","kind":"symbol","language":"jsts","symbolName":"closePanel","metadata":{"unresolvedName":"closePanel"}}],["symbol-name:openPanel",{"id":"symbol-name:openPanel","kind":"symbol","language":"jsts","symbolName":"openPanel","metadata":{"unresolvedName":"openPanel"}}],["external:popoverRef.current?.contains",{"id":"external:popoverRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"popoverRef.current?.contains"}}],["external:inputContainerRef?.current?.contains",{"id":"external:inputContainerRef?.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainerRef?.current?.contains"}}],["external:inputContainer?.removeAttribute",{"id":"external:inputContainer?.removeAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainer?.removeAttribute"}}],["external:todos.map",{"id":"external:todos.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"todos.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":133,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"TodoSwapPanel","symbolKind":"function","exported":false,"metadata":{"line":313,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:container.getBoundingClientRect",{"id":"external:container.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.getBoundingClientRect"}}],["external:footer.getBoundingClientRect",{"id":"external:footer.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"footer.getBoundingClientRect"}}],["symbol-name:setStyle",{"id":"symbol-name:setStyle","kind":"symbol","language":"jsts","symbolName":"setStyle","metadata":{"unresolvedName":"setStyle"}}],["symbol-name:update",{"id":"symbol-name:update","kind":"symbol","language":"jsts","symbolName":"update","metadata":{"unresolvedName":"update"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"update","symbolKind":"function","exported":false,"metadata":{"line":330,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:MiniProgress",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:MiniProgress","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","symbolName":"MiniProgress","symbolKind":"function","exported":false,"metadata":{"line":368,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","metadata":{"lineCount":282,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","metadata":{"lineCount":559,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:extToMime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:extToMime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","symbolName":"extToMime","symbolKind":"function","exported":false,"metadata":{"line":39,"column":14,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:MenuItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:MenuItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","symbolName":"MenuItem","symbolKind":"function","exported":false,"metadata":{"line":56,"column":13,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":253,"column":64,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:isTauriMock.mockReturnValue",{"id":"external:isTauriMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"isTauriMock.mockReturnValue"}}],["external:isTauriMobileMock.mockReturnValue",{"id":"external:isTauriMobileMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"isTauriMobileMock.mockReturnValue"}}],["external:openMock.mockReset",{"id":"external:openMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"openMock.mockReset"}}],["external:readFileMock.mockReset",{"id":"external:readFileMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"readFileMock.mockReset"}}],["external:expect(inputClickSpy).toHaveBeenCalledTimes",{"id":"external:expect(inputClickSpy).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(inputClickSpy).toHaveBeenCalledTimes"}}],["external:expect(onFilesSelected).toHaveBeenCalledWith",{"id":"external:expect(onFilesSelected).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledWith"}}],["external:inputClickSpy.mockRestore",{"id":"external:inputClickSpy.mockRestore","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputClickSpy.mockRestore"}}],["external:openMock.mockResolvedValue",{"id":"external:openMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"openMock.mockResolvedValue"}}],["external:readFileMock.mockResolvedValue",{"id":"external:readFileMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"readFileMock.mockResolvedValue"}}],["external:expect(openMock).toHaveBeenCalledTimes",{"id":"external:expect(openMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(openMock).toHaveBeenCalledTimes"}}],["external:expect(readFileMock).toHaveBeenCalledWith",{"id":"external:expect(readFileMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(readFileMock).toHaveBeenCalledWith"}}],["external:expect(onFilesSelected).toHaveBeenCalledTimes",{"id":"external:expect(onFilesSelected).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledTimes"}}],["external:expect(files).toHaveLength",{"id":"external:expect(files).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(files).toHaveLength"}}],["external:expect(files[0].name).toBe",{"id":"external:expect(files[0].name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(files[0].name).toBe"}}],["external:expect(files[0].type).toBe",{"id":"external:expect(files[0].type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(files[0].type).toBe"}}],["external:expect(trigger).toHaveAttribute",{"id":"external:expect(trigger).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}}],["external:expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus",{"id":"external:expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus"}}],["external:screen.getAllByRole",{"id":"external:screen.getAllByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getAllByRole"}}],["external:expect(buttons.indexOf(voiceButton)).toBe",{"id":"external:expect(buttons.indexOf(voiceButton)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(buttons.indexOf(voiceButton)).toBe"}}],["external:buttons.indexOf",{"id":"external:buttons.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"buttons.indexOf"}}],["external:expect(onVoiceTranscription).toHaveBeenCalledWith",{"id":"external:expect(onVoiceTranscription).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onVoiceTranscription).toHaveBeenCalledWith"}}],["external:expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus",{"id":"external:expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus"}}],["external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus",{"id":"external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","symbolName":"ToolbarHarness","symbolKind":"function","exported":false,"metadata":{"line":254,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","metadata":{"lineCount":39,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","symbolName":"InputToolbar","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":92,"maxNestingDepth":6,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:accept.push",{"id":"external:accept.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"accept.push"}}],["external:filterNames.push",{"id":"external:filterNames.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"filterNames.push"}}],["external:accept.join",{"id":"external:accept.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"accept.join"}}],["external:filterNames.join",{"id":"external:filterNames.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"filterNames.join"}}],["external:inputContainerRef?.current?.querySelector",{"id":"external:inputContainerRef?.current?.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainerRef?.current?.querySelector"}}],["symbol-name:close",{"id":"symbol-name:close","kind":"symbol","language":"jsts","symbolName":"close","metadata":{"unresolvedName":"close"}}],["external:menu.querySelectorAll",{"id":"external:menu.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"menu.querySelectorAll"}}],["external:menu.querySelector",{"id":"external:menu.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"menu.querySelector"}}],["external:focusables[nextIndex]?.focus",{"id":"external:focusables[nextIndex]?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusables[nextIndex]?.focus"}}],["external:menu?.querySelectorAll",{"id":"external:menu?.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"menu?.querySelectorAll"}}],["external:trigger?.focus",{"id":"external:trigger?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"trigger?.focus"}}],["external:items.findIndex",{"id":"external:items.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.findIndex"}}],["external:items[index]?.focus",{"id":"external:items[index]?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"items[index]?.focus"}}],["symbol-name:focusRelativeToTrigger",{"id":"symbol-name:focusRelativeToTrigger","kind":"symbol","language":"jsts","symbolName":"focusRelativeToTrigger","metadata":{"unresolvedName":"focusRelativeToTrigger"}}],["external:fileInputRef.current?.click",{"id":"external:fileInputRef.current?.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileInputRef.current?.click"}}],["symbol-name:open",{"id":"symbol-name:open","kind":"symbol","language":"jsts","symbolName":"open","metadata":{"unresolvedName":"open"}}],["external:path.split(/[\\\\/]/).pop",{"id":"external:path.split(/[\\\\/]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split(/[\\\\/]/).pop"}}],["external:path.split",{"id":"external:path.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split"}}],["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"}}],["symbol-name:extToMime",{"id":"symbol-name:extToMime","kind":"symbol","language":"jsts","symbolName":"extToMime","metadata":{"unresolvedName":"extToMime"}}],["symbol-name:readFile",{"id":"symbol-name:readFile","kind":"symbol","language":"jsts","symbolName":"readFile","metadata":{"unresolvedName":"readFile"}}],["symbol-name:onFilesSelected",{"id":"symbol-name:onFilesSelected","kind":"symbol","language":"jsts","symbolName":"onFilesSelected","metadata":{"unresolvedName":"onFilesSelected"}}],["external:agentMenuRef.current?.contains",{"id":"external:agentMenuRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"agentMenuRef.current?.contains"}}],["external:agentTriggerRef.current?.contains",{"id":"external:agentTriggerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"agentTriggerRef.current?.contains"}}],["symbol-name:setAgentMenuOpen",{"id":"symbol-name:setAgentMenuOpen","kind":"symbol","language":"jsts","symbolName":"setAgentMenuOpen","metadata":{"unresolvedName":"setAgentMenuOpen"}}],["symbol-name:isFocusableElement",{"id":"symbol-name:isFocusableElement","kind":"symbol","language":"jsts","symbolName":"isFocusableElement","metadata":{"unresolvedName":"isFocusableElement"}}],["external:agentTriggerRef.current?.focus",{"id":"external:agentTriggerRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"agentTriggerRef.current?.focus"}}],["external:variantMenuRef.current?.contains",{"id":"external:variantMenuRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantMenuRef.current?.contains"}}],["external:variantTriggerRef.current?.contains",{"id":"external:variantTriggerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantTriggerRef.current?.contains"}}],["symbol-name:setVariantMenuOpen",{"id":"symbol-name:setVariantMenuOpen","kind":"symbol","language":"jsts","symbolName":"setVariantMenuOpen","metadata":{"unresolvedName":"setVariantMenuOpen"}}],["external:variantTriggerRef.current?.focus",{"id":"external:variantTriggerRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantTriggerRef.current?.focus"}}],["symbol-name:focusMenuItem",{"id":"symbol-name:focusMenuItem","kind":"symbol","language":"jsts","symbolName":"focusMenuItem","metadata":{"unresolvedName":"focusMenuItem"}}],["symbol-name:handleMenuKeyDown",{"id":"symbol-name:handleMenuKeyDown","kind":"symbol","language":"jsts","symbolName":"handleMenuKeyDown","metadata":{"unresolvedName":"handleMenuKeyDown"}}],["external:selectableAgents.map",{"id":"external:selectableAgents.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectableAgents.map"}}],["external:agent.name.charAt(0).toUpperCase",{"id":"external:agent.name.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"agent.name.charAt(0).toUpperCase"}}],["external:agent.name.charAt",{"id":"external:agent.name.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"agent.name.charAt"}}],["external:agent.name.slice",{"id":"external:agent.name.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"agent.name.slice"}}],["symbol-name:onAgentChange",{"id":"symbol-name:onAgentChange","kind":"symbol","language":"jsts","symbolName":"onAgentChange","metadata":{"unresolvedName":"onAgentChange"}}],["symbol-name:closeMenuToComposer",{"id":"symbol-name:closeMenuToComposer","kind":"symbol","language":"jsts","symbolName":"closeMenuToComposer","metadata":{"unresolvedName":"closeMenuToComposer"}}],["external:selectedVariant.charAt(0).toUpperCase",{"id":"external:selectedVariant.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedVariant.charAt(0).toUpperCase"}}],["external:selectedVariant.charAt",{"id":"external:selectedVariant.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedVariant.charAt"}}],["external:selectedVariant.slice",{"id":"external:selectedVariant.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedVariant.slice"}}],["symbol-name:onVariantChange",{"id":"symbol-name:onVariantChange","kind":"symbol","language":"jsts","symbolName":"onVariantChange","metadata":{"unresolvedName":"onVariantChange"}}],["external:variants.map",{"id":"external:variants.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"variants.map"}}],["external:variant.charAt(0).toUpperCase",{"id":"external:variant.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"variant.charAt(0).toUpperCase"}}],["external:variant.charAt",{"id":"external:variant.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"variant.charAt"}}],["external:variant.slice",{"id":"external:variant.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"variant.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":527,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":275,"column":32,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","symbolName":"detectSlashTrigger","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:text.startsWith",{"id":"external:text.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.startsWith"}}],["external:query.includes",{"id":"external:query.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","symbolName":"isFileSupported","symbolKind":"function","exported":true,"metadata":{"line":44,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:mime.startsWith",{"id":"external:mime.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"mime.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","symbolName":"ensureFileMime","symbolKind":"function","exported":true,"metadata":{"line":52,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:file.name.split('.').pop()?.toLowerCase",{"id":"external:file.name.split('.').pop()?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.name.split('.').pop()?.toLowerCase"}}],["external:file.name.split('.').pop",{"id":"external:file.name.split('.').pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.name.split('.').pop"}}],["external:file.name.split",{"id":"external:file.name.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.name.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","symbolName":"readFileAsDataUrl","symbolKind":"function","exported":true,"metadata":{"line":66,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:reader.readAsDataURL",{"id":"external:reader.readAsDataURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader.readAsDataURL"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":67,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","symbolName":"UndoStatus","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","metadata":{"lineCount":129,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","symbolName":"useAttachmentRail","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setOverflowing",{"id":"symbol-name:setOverflowing","kind":"symbol","language":"jsts","symbolName":"setOverflowing","metadata":{"unresolvedName":"setOverflowing"}}],["symbol-name:setShowLeftFade",{"id":"symbol-name:setShowLeftFade","kind":"symbol","language":"jsts","symbolName":"setShowLeftFade","metadata":{"unresolvedName":"setShowLeftFade"}}],["symbol-name:setShowRightFade",{"id":"symbol-name:setShowRightFade","kind":"symbol","language":"jsts","symbolName":"setShowRightFade","metadata":{"unresolvedName":"setShowRightFade"}}],["symbol-name:syncState",{"id":"symbol-name:syncState","kind":"symbol","language":"jsts","symbolName":"syncState","metadata":{"unresolvedName":"syncState"}}],["symbol-name:resetState",{"id":"symbol-name:resetState","kind":"symbol","language":"jsts","symbolName":"resetState","metadata":{"unresolvedName":"resetState"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":114,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","metadata":{"lineCount":203,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","metadata":{"lineCount":212,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","symbolName":"useInputHistory","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":44,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useMessages",{"id":"symbol-name:useMessages","kind":"symbol","language":"jsts","symbolName":"useMessages","metadata":{"unresolvedName":"useMessages"}}],["external:getMessageText(msg).trim",{"id":"external:getMessageText(msg).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"getMessageText(msg).trim"}}],["external:seen.has",{"id":"external:seen.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"seen.has"}}],["external:seen.add",{"id":"external:seen.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"seen.add"}}],["external:atts.push",{"id":"external:atts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"atts.push"}}],["external:attachments.every",{"id":"external:attachments.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachments.every"}}],["symbol-name:isHistoryUnmodified",{"id":"symbol-name:isHistoryUnmodified","kind":"symbol","language":"jsts","symbolName":"isHistoryUnmodified","metadata":{"unresolvedName":"isHistoryUnmodified"}}],["symbol-name:canNavigateHistoryAtCursor",{"id":"symbol-name:canNavigateHistoryAtCursor","kind":"symbol","language":"jsts","symbolName":"canNavigateHistoryAtCursor","metadata":{"unresolvedName":"canNavigateHistoryAtCursor"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":187,"column":43,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","symbolName":"canNavigateHistoryAtCursor","symbolKind":"function","exported":false,"metadata":{"line":121,"column":42,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","symbolName":"isHistoryUnmodified","symbolKind":"function","exported":false,"metadata":{"line":142,"column":35,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","metadata":{"lineCount":201,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","symbolName":"useMobileCollapse","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":26,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:inputContainerRef.current?.contains",{"id":"external:inputContainerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputContainerRef.current?.contains"}}],["external:contentWrapRef.current?.contains",{"id":"external:contentWrapRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"contentWrapRef.current?.contains"}}],["external:footerRef.current?.contains",{"id":"external:footerRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"footerRef.current?.contains"}}],["symbol-name:setIsFocused",{"id":"symbol-name:setIsFocused","kind":"symbol","language":"jsts","symbolName":"setIsFocused","metadata":{"unresolvedName":"setIsFocused"}}],["external:textareaRef.current?.focus",{"id":"external:textareaRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"textareaRef.current?.focus"}}],["symbol-name:isInsideInputArea",{"id":"symbol-name:isInsideInputArea","kind":"symbol","language":"jsts","symbolName":"isInsideInputArea","metadata":{"unresolvedName":"isInsideInputArea"}}],["symbol-name:setExpandedHeight",{"id":"symbol-name:setExpandedHeight","kind":"symbol","language":"jsts","symbolName":"setExpandedHeight","metadata":{"unresolvedName":"setExpandedHeight"}}],["symbol-name:registerInputBox",{"id":"symbol-name:registerInputBox","kind":"symbol","language":"jsts","symbolName":"registerInputBox","metadata":{"unresolvedName":"registerInputBox"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":185,"column":13,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","symbolName":"handleOutsidePointerDown","symbolKind":"function","exported":false,"metadata":{"line":151,"column":38,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","metadata":{"lineCount":67,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","metadata":{"lineCount":140,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":49,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(useVoiceTranscription).mockReturnValue",{"id":"external:vi.mocked(useVoiceTranscription).mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(useVoiceTranscription).mockReturnValue"}}],["external:expect(startRecording).toHaveBeenCalled",{"id":"external:expect(startRecording).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(startRecording).toHaveBeenCalled"}}],["external:expect(resetError).not.toHaveBeenCalled",{"id":"external:expect(resetError).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(resetError).not.toHaveBeenCalled"}}],["external:expect(stopRecording).toHaveBeenCalled",{"id":"external:expect(stopRecording).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stopRecording).toHaveBeenCalled"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:VoiceInputButton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:VoiceInputButton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","symbolName":"VoiceInputButton","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useVoiceTranscription",{"id":"symbol-name:useVoiceTranscription","kind":"symbol","language":"jsts","symbolName":"useVoiceTranscription","metadata":{"unresolvedName":"useVoiceTranscription"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","metadata":{"lineCount":363,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","symbolName":"createHistoryMessage","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":356,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:slashCommands.map",{"id":"external:slashCommands.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"slashCommands.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","symbolName":"moveUp","symbolKind":"function","exported":false,"metadata":{"line":53,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","symbolName":"moveDown","symbolKind":"function","exported":false,"metadata":{"line":54,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:selectCurrent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:selectCurrent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","symbolName":"selectCurrent","symbolKind":"function","exported":false,"metadata":{"line":55,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(onCommand).toHaveBeenCalledWith",{"id":"external:expect(onCommand).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onCommand).toHaveBeenCalledWith"}}],["external:expect(textarea.value).toBe",{"id":"external:expect(textarea.value).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(textarea.value).toBe"}}],["external:expect(onCommand).not.toHaveBeenCalled",{"id":"external:expect(onCommand).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onCommand).not.toHaveBeenCalled"}}],["external:expect(onSend).toHaveBeenCalledWith",{"id":"external:expect(onSend).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}}],["symbol-name:resolveSend",{"id":"symbol-name:resolveSend","kind":"symbol","language":"jsts","symbolName":"resolveSend","metadata":{"unresolvedName":"resolveSend"}}],["external:expect(textarea).not.toBeDisabled",{"id":"external:expect(textarea).not.toBeDisabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(textarea).not.toBeDisabled"}}],["symbol-name:resolveCommand",{"id":"symbol-name:resolveCommand","kind":"symbol","language":"jsts","symbolName":"resolveCommand","metadata":{"unresolvedName":"resolveCommand"}}],["external:vi.fn().mockReturnValue",{"id":"external:vi.fn().mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}}],["external:fireEvent.compositionStart",{"id":"external:fireEvent.compositionStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.compositionStart"}}],["external:fireEvent.compositionEnd",{"id":"external:fireEvent.compositionEnd","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.compositionEnd"}}],["external:expect(onSend).not.toHaveBeenCalled",{"id":"external:expect(onSend).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSend).not.toHaveBeenCalled"}}],["symbol-name:createHistoryMessage",{"id":"symbol-name:createHistoryMessage","kind":"symbol","language":"jsts","symbolName":"createHistoryMessage","metadata":{"unresolvedName":"createHistoryMessage"}}],["external:expect(textarea.selectionStart).toBe",{"id":"external:expect(textarea.selectionStart).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}}],["external:expect(textarea.selectionEnd).toBe",{"id":"external:expect(textarea.selectionEnd).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","symbolName":"InputBoxComponent","symbolKind":"function","exported":false,"metadata":{"line":93,"column":1,"cyclomaticComplexity":154,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useAttachmentRail",{"id":"symbol-name:useAttachmentRail","kind":"symbol","language":"jsts","symbolName":"useAttachmentRail","metadata":{"unresolvedName":"useAttachmentRail"}}],["symbol-name:useInputHistory",{"id":"symbol-name:useInputHistory","kind":"symbol","language":"jsts","symbolName":"useInputHistory","metadata":{"unresolvedName":"useInputHistory"}}],["symbol-name:useMobileCollapse",{"id":"symbol-name:useMobileCollapse","kind":"symbol","language":"jsts","symbolName":"useMobileCollapse","metadata":{"unresolvedName":"useMobileCollapse"}}],["symbol-name:setText",{"id":"symbol-name:setText","kind":"symbol","language":"jsts","symbolName":"setText","metadata":{"unresolvedName":"setText"}}],["symbol-name:setAttachments",{"id":"symbol-name:setAttachments","kind":"symbol","language":"jsts","symbolName":"setAttachments","metadata":{"unresolvedName":"setAttachments"}}],["external:textareaRef.current.setSelectionRange",{"id":"external:textareaRef.current.setSelectionRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}}],["symbol-name:resetHistoryIndex",{"id":"symbol-name:resetHistoryIndex","kind":"symbol","language":"jsts","symbolName":"resetHistoryIndex","metadata":{"unresolvedName":"resetHistoryIndex"}}],["symbol-name:resetDraft",{"id":"symbol-name:resetDraft","kind":"symbol","language":"jsts","symbolName":"resetDraft","metadata":{"unresolvedName":"resetDraft"}}],["symbol-name:onCommand",{"id":"symbol-name:onCommand","kind":"symbol","language":"jsts","symbolName":"onCommand","metadata":{"unresolvedName":"onCommand"}}],["symbol-name:onClearRevert",{"id":"symbol-name:onClearRevert","kind":"symbol","language":"jsts","symbolName":"onClearRevert","metadata":{"unresolvedName":"onClearRevert"}}],["symbol-name:restoreDraft",{"id":"symbol-name:restoreDraft","kind":"symbol","language":"jsts","symbolName":"restoreDraft","metadata":{"unresolvedName":"restoreDraft"}}],["symbol-name:setIsSubmitting",{"id":"symbol-name:setIsSubmitting","kind":"symbol","language":"jsts","symbolName":"setIsSubmitting","metadata":{"unresolvedName":"setIsSubmitting"}}],["symbol-name:submit",{"id":"symbol-name:submit","kind":"symbol","language":"jsts","symbolName":"submit","metadata":{"unresolvedName":"submit"}}],["symbol-name:onFailure",{"id":"symbol-name:onFailure","kind":"symbol","language":"jsts","symbolName":"onFailure","metadata":{"unresolvedName":"onFailure"}}],["symbol-name:onSuccess",{"id":"symbol-name:onSuccess","kind":"symbol","language":"jsts","symbolName":"onSuccess","metadata":{"unresolvedName":"onSuccess"}}],["external:attachments.find",{"id":"external:attachments.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachments.find"}}],["external:text.slice(textRange.end).trim",{"id":"external:text.slice(textRange.end).trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.slice(textRange.end).trim"}}],["symbol-name:submitCommandOptimistically",{"id":"symbol-name:submitCommandOptimistically","kind":"symbol","language":"jsts","symbolName":"submitCommandOptimistically","metadata":{"unresolvedName":"submitCommandOptimistically"}}],["symbol-name:runSubmit",{"id":"symbol-name:runSubmit","kind":"symbol","language":"jsts","symbolName":"runSubmit","metadata":{"unresolvedName":"runSubmit"}}],["symbol-name:setMentionQuery",{"id":"symbol-name:setMentionQuery","kind":"symbol","language":"jsts","symbolName":"setMentionQuery","metadata":{"unresolvedName":"setMentionQuery"}}],["external:slashMenuRef.current.moveUp",{"id":"external:slashMenuRef.current.moveUp","kind":"external","language":"jsts","metadata":{"unresolvedName":"slashMenuRef.current.moveUp"}}],["external:slashMenuRef.current.moveDown",{"id":"external:slashMenuRef.current.moveDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"slashMenuRef.current.moveDown"}}],["external:slashMenuRef.current.selectCurrent",{"id":"external:slashMenuRef.current.selectCurrent","kind":"external","language":"jsts","metadata":{"unresolvedName":"slashMenuRef.current.selectCurrent"}}],["symbol-name:setSlashOpen",{"id":"symbol-name:setSlashOpen","kind":"symbol","language":"jsts","symbolName":"setSlashOpen","metadata":{"unresolvedName":"setSlashOpen"}}],["external:mentionMenuRef.current.moveUp",{"id":"external:mentionMenuRef.current.moveUp","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionMenuRef.current.moveUp"}}],["external:mentionMenuRef.current.moveDown",{"id":"external:mentionMenuRef.current.moveDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionMenuRef.current.moveDown"}}],["external:mentionMenuRef.current.getSelectedItem",{"id":"external:mentionMenuRef.current.getSelectedItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionMenuRef.current.getSelectedItem"}}],["external:(selected.relativePath || selected.displayName).replace",{"id":"external:(selected.relativePath || selected.displayName).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(selected.relativePath || selected.displayName).replace"}}],["symbol-name:updateMentionQuery",{"id":"symbol-name:updateMentionQuery","kind":"symbol","language":"jsts","symbolName":"updateMentionQuery","metadata":{"unresolvedName":"updateMentionQuery"}}],["external:mentionQuery.includes",{"id":"external:mentionQuery.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionQuery.includes"}}],["external:mentionQuery.replace(/\\/$/, '').split",{"id":"external:mentionQuery.replace(/\\/$/, '').split","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionQuery.replace(/\\/$/, '').split"}}],["external:mentionQuery.replace",{"id":"external:mentionQuery.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionQuery.replace"}}],["external:mentionMenuRef.current.setRestoreFolder",{"id":"external:mentionMenuRef.current.setRestoreFolder","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionMenuRef.current.setRestoreFolder"}}],["external:parts.pop",{"id":"external:parts.pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.pop"}}],["external:mentionMenuRef.current.selectCurrent",{"id":"external:mentionMenuRef.current.selectCurrent","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionMenuRef.current.selectCurrent"}}],["symbol-name:setMentionOpen",{"id":"symbol-name:setMentionOpen","kind":"symbol","language":"jsts","symbolName":"setMentionOpen","metadata":{"unresolvedName":"setMentionOpen"}}],["symbol-name:handleHistoryKeyDown",{"id":"symbol-name:handleHistoryKeyDown","kind":"symbol","language":"jsts","symbolName":"handleHistoryKeyDown","metadata":{"unresolvedName":"handleHistoryKeyDown"}}],["symbol-name:handleHistoryChange",{"id":"symbol-name:handleHistoryChange","kind":"symbol","language":"jsts","symbolName":"handleHistoryChange","metadata":{"unresolvedName":"handleHistoryChange"}}],["external:newText.slice",{"id":"external:newText.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"newText.slice"}}],["symbol-name:detectMentionTrigger",{"id":"symbol-name:detectMentionTrigger","kind":"symbol","language":"jsts","symbolName":"detectMentionTrigger","metadata":{"unresolvedName":"detectMentionTrigger"}}],["symbol-name:setMentionStartIndex",{"id":"symbol-name:setMentionStartIndex","kind":"symbol","language":"jsts","symbolName":"setMentionStartIndex","metadata":{"unresolvedName":"setMentionStartIndex"}}],["symbol-name:detectSlashTrigger",{"id":"symbol-name:detectSlashTrigger","kind":"symbol","language":"jsts","symbolName":"detectSlashTrigger","metadata":{"unresolvedName":"detectSlashTrigger"}}],["symbol-name:setSlashQuery",{"id":"symbol-name:setSlashQuery","kind":"symbol","language":"jsts","symbolName":"setSlashQuery","metadata":{"unresolvedName":"setSlashQuery"}}],["symbol-name:setSlashStartIndex",{"id":"symbol-name:setSlashStartIndex","kind":"symbol","language":"jsts","symbolName":"setSlashStartIndex","metadata":{"unresolvedName":"setSlashStartIndex"}}],["external:(item.relativePath || item.displayName).replace",{"id":"external:(item.relativePath || item.displayName).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(item.relativePath || item.displayName).replace"}}],["symbol-name:ensureFileMime",{"id":"symbol-name:ensureFileMime","kind":"symbol","language":"jsts","symbolName":"ensureFileMime","metadata":{"unresolvedName":"ensureFileMime"}}],["symbol-name:isFileSupported",{"id":"symbol-name:isFileSupported","kind":"symbol","language":"jsts","symbolName":"isFileSupported","metadata":{"unresolvedName":"isFileSupported"}}],["symbol-name:readFileAsDataUrl",{"id":"symbol-name:readFileAsDataUrl","kind":"symbol","language":"jsts","symbolName":"readFileAsDataUrl","metadata":{"unresolvedName":"readFileAsDataUrl"}}],["external:nextAttachments.push",{"id":"external:nextAttachments.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextAttachments.push"}}],["external:transcribedText.trim",{"id":"external:transcribedText.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"transcribedText.trim"}}],["external:current.trim",{"id":"external:current.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.trim"}}],["external:current.endsWith",{"id":"external:current.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.endsWith"}}],["external:textarea.focus",{"id":"external:textarea.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"textarea.focus"}}],["external:textarea.setSelectionRange",{"id":"external:textarea.setSelectionRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"textarea.setSelectionRange"}}],["external:text.replace(value + ' ', '').replace",{"id":"external:text.replace(value + ' ', '').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.replace(value + ' ', '').replace"}}],["external:items[i].getAsFile",{"id":"external:items[i].getAsFile","kind":"external","language":"jsts","metadata":{"unresolvedName":"items[i].getAsFile"}}],["symbol-name:handleFilesSelected",{"id":"symbol-name:handleFilesSelected","kind":"symbol","language":"jsts","symbolName":"handleFilesSelected","metadata":{"unresolvedName":"handleFilesSelected"}}],["symbol-name:normalizePath",{"id":"symbol-name:normalizePath","kind":"symbol","language":"jsts","symbolName":"normalizePath","metadata":{"unresolvedName":"normalizePath"}}],["external:beforeCursor.endsWith",{"id":"external:beforeCursor.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"beforeCursor.endsWith"}}],["symbol-name:toFileUrl",{"id":"symbol-name:toFileUrl","kind":"symbol","language":"jsts","symbolName":"toFileUrl","metadata":{"unresolvedName":"toFileUrl"}}],["symbol-name:insertDraggedFile",{"id":"symbol-name:insertDraggedFile","kind":"symbol","language":"jsts","symbolName":"insertDraggedFile","metadata":{"unresolvedName":"insertDraggedFile"}}],["external:attachments.forEach",{"id":"external:attachments.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"attachments.forEach"}}],["external:excludeValues.add",{"id":"external:excludeValues.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"excludeValues.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":940,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","metadata":{"lineCount":94,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":89,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByTestId('attachment-count')).toHaveTextContent",{"id":"external:expect(screen.getByTestId('attachment-count')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('attachment-count')).toHaveTextContent"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","metadata":{"lineCount":159,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":148,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(onSelect).toHaveBeenCalledWith",{"id":"external:expect(onSelect).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}}],["external:expect(selectedOption).not.toBeNull",{"id":"external:expect(selectedOption).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(selectedOption).not.toBeNull"}}],["external:expect(selectedOption).not.toContainElement",{"id":"external:expect(selectedOption).not.toContainElement","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(selectedOption).not.toContainElement"}}],["external:expect(pinButtons.length).toBeGreaterThan",{"id":"external:expect(pinButtons.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(pinButtons.length).toBeGreaterThan"}}],["external:expect(screen.getByRole('status')).toHaveTextContent",{"id":"external:expect(screen.getByRole('status')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('status')).toHaveTextContent"}}],["external:expect(lastOption).toHaveFocus",{"id":"external:expect(lastOption).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lastOption).toHaveFocus"}}],["external:expect(selectedOption).toHaveFocus",{"id":"external:expect(selectedOption).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(selectedOption).toHaveFocus"}}],["external:expect(firstPinButton).toHaveFocus",{"id":"external:expect(firstPinButton).toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(firstPinButton).toHaveFocus"}}],["external:expect(pinButton).not.toHaveFocus",{"id":"external:expect(pinButton).not.toHaveFocus","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(pinButton).not.toHaveFocus"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:ToolbarSelectorHarness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:ToolbarSelectorHarness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","symbolName":"ToolbarSelectorHarness","symbolKind":"function","exported":false,"metadata":{"line":122,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","symbolName":"useFlatList","symbolKind":"function","exported":false,"metadata":{"line":58,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:groupModelsByProvider",{"id":"symbol-name:groupModelsByProvider","kind":"symbol","language":"jsts","symbolName":"groupModelsByProvider","metadata":{"unresolvedName":"groupModelsByProvider"}}],["symbol-name:getRecentModels",{"id":"symbol-name:getRecentModels","kind":"symbol","language":"jsts","symbolName":"getRecentModels","metadata":{"unresolvedName":"getRecentModels"}}],["symbol-name:getPinnedModels",{"id":"symbol-name:getPinnedModels","kind":"symbol","language":"jsts","symbolName":"getPinnedModels","metadata":{"unresolvedName":"getPinnedModels"}}],["external:flat.push",{"id":"external:flat.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"flat.push"}}],["external:pinned.forEach",{"id":"external:pinned.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinned.forEach"}}],["external:addedKeys.add",{"id":"external:addedKeys.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"addedKeys.add"}}],["external:recent.filter",{"id":"external:recent.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"recent.filter"}}],["external:addedKeys.has",{"id":"external:addedKeys.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"addedKeys.has"}}],["external:recentFiltered.forEach",{"id":"external:recentFiltered.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"recentFiltered.forEach"}}],["external:groups.forEach",{"id":"external:groups.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.forEach"}}],["external:g.models.filter",{"id":"external:g.models.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"g.models.filter"}}],["external:groupModels.forEach",{"id":"external:groupModels.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupModels.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":814,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:setSearchQuery",{"id":"symbol-name:setSearchQuery","kind":"symbol","language":"jsts","symbolName":"setSearchQuery","metadata":{"unresolvedName":"setSearchQuery"}}],["symbol-name:setHighlightedIndex",{"id":"symbol-name:setHighlightedIndex","kind":"symbol","language":"jsts","symbolName":"setHighlightedIndex","metadata":{"unresolvedName":"setHighlightedIndex"}}],["external:flatList.map",{"id":"external:flatList.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"flatList.map"}}],["external:itemIndices.indexOf",{"id":"external:itemIndices.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"itemIndices.indexOf"}}],["symbol-name:isModelPinned",{"id":"symbol-name:isModelPinned","kind":"symbol","language":"jsts","symbolName":"isModelPinned","metadata":{"unresolvedName":"isModelPinned"}}],["symbol-name:onItemClick",{"id":"symbol-name:onItemClick","kind":"symbol","language":"jsts","symbolName":"onItemClick","metadata":{"unresolvedName":"onItemClick"}}],["symbol-name:handleItemKeyDown",{"id":"symbol-name:handleItemKeyDown","kind":"symbol","language":"jsts","symbolName":"handleItemKeyDown","metadata":{"unresolvedName":"handleItemKeyDown"}}],["symbol-name:onTouchStart",{"id":"symbol-name:onTouchStart","kind":"symbol","language":"jsts","symbolName":"onTouchStart","metadata":{"unresolvedName":"onTouchStart"}}],["symbol-name:formatContext",{"id":"symbol-name:formatContext","kind":"symbol","language":"jsts","symbolName":"formatContext","metadata":{"unresolvedName":"formatContext"}}],["symbol-name:onTogglePin",{"id":"symbol-name:onTogglePin","kind":"symbol","language":"jsts","symbolName":"onTogglePin","metadata":{"unresolvedName":"onTogglePin"}}],["symbol-name:handlePinKeyDown",{"id":"symbol-name:handlePinKeyDown","kind":"symbol","language":"jsts","symbolName":"handlePinKeyDown","metadata":{"unresolvedName":"handlePinKeyDown"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","symbolName":"formatContext","symbolKind":"function","exported":false,"metadata":{"line":332,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:(k / 1000).toFixed",{"id":"external:(k / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(k / 1000).toFixed"}}],["external:searchQuery.trim",{"id":"external:searchQuery.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchQuery.trim"}}],["external:searchQuery.toLowerCase",{"id":"external:searchQuery.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchQuery.toLowerCase"}}],["external:(typeof value === 'string' ? value : '').toLowerCase",{"id":"external:(typeof value === 'string' ? value : '').toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"(typeof value === 'string' ? value : '').toLowerCase"}}],["external:normalize(m.name).includes",{"id":"external:normalize(m.name).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(m.name).includes"}}],["symbol-name:normalize",{"id":"symbol-name:normalize","kind":"symbol","language":"jsts","symbolName":"normalize","metadata":{"unresolvedName":"normalize"}}],["external:normalize(m.id).includes",{"id":"external:normalize(m.id).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(m.id).includes"}}],["external:normalize(m.family).includes",{"id":"external:normalize(m.family).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(m.family).includes"}}],["external:normalize(m.providerName).includes",{"id":"external:normalize(m.providerName).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(m.providerName).includes"}}],["symbol-name:useFlatList",{"id":"symbol-name:useFlatList","kind":"symbol","language":"jsts","symbolName":"useFlatList","metadata":{"unresolvedName":"useFlatList"}}],["external:flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter",{"id":"external:flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter"}}],["external:models.find",{"id":"external:models.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"models.find"}}],["external:flatList.findIndex",{"id":"external:flatList.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"flatList.findIndex"}}],["external:container?.querySelector",{"id":"external:container?.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"container?.querySelector"}}],["symbol-name:recordModelUsage",{"id":"symbol-name:recordModelUsage","kind":"symbol","language":"jsts","symbolName":"recordModelUsage","metadata":{"unresolvedName":"recordModelUsage"}}],["symbol-name:closeMenu",{"id":"symbol-name:closeMenu","kind":"symbol","language":"jsts","symbolName":"closeMenu","metadata":{"unresolvedName":"closeMenu"}}],["symbol-name:focusToolbarInput",{"id":"symbol-name:focusToolbarInput","kind":"symbol","language":"jsts","symbolName":"focusToolbarInput","metadata":{"unresolvedName":"focusToolbarInput"}}],["symbol-name:setRefreshTrigger",{"id":"symbol-name:setRefreshTrigger","kind":"symbol","language":"jsts","symbolName":"setRefreshTrigger","metadata":{"unresolvedName":"setRefreshTrigger"}}],["external:e.currentTarget.blur",{"id":"external:e.currentTarget.blur","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.currentTarget.blur"}}],["symbol-name:toggleModelPin",{"id":"symbol-name:toggleModelPin","kind":"symbol","language":"jsts","symbolName":"toggleModelPin","metadata":{"unresolvedName":"toggleModelPin"}}],["symbol-name:handleSelect",{"id":"symbol-name:handleSelect","kind":"symbol","language":"jsts","symbolName":"handleSelect","metadata":{"unresolvedName":"handleSelect"}}],["external:target?.scrollIntoView",{"id":"external:target?.scrollIntoView","kind":"external","language":"jsts","metadata":{"unresolvedName":"target?.scrollIntoView"}}],["external:document.querySelector(selector)?.focus",{"id":"external:document.querySelector(selector)?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.querySelector(selector)?.focus"}}],["symbol-name:focusItemAtInteractiveIndex",{"id":"symbol-name:focusItemAtInteractiveIndex","kind":"symbol","language":"jsts","symbolName":"focusItemAtInteractiveIndex","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}}],["external:searchInputRef.current?.focus",{"id":"external:searchInputRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchInputRef.current?.focus"}}],["external:containerRef.current.contains",{"id":"external:containerRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef.current.contains"}}],["external:document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView",{"id":"external:document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView"}}],["external:focusTarget?.focus",{"id":"external:focusTarget?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"focusTarget?.focus"}}],["symbol-name:focusPinButtonForModel",{"id":"symbol-name:focusPinButtonForModel","kind":"symbol","language":"jsts","symbolName":"focusPinButtonForModel","metadata":{"unresolvedName":"focusPinButtonForModel"}}],["symbol-name:openMenu",{"id":"symbol-name:openMenu","kind":"symbol","language":"jsts","symbolName":"openMenu","metadata":{"unresolvedName":"openMenu"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":579,"column":34,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","symbolName":"handleEsc","symbolKind":"function","exported":false,"metadata":{"line":595,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","symbolName":"resolveDropZone","symbolKind":"function","exported":true,"metadata":{"line":43,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":93,"column":48,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setActiveZone",{"id":"symbol-name:setActiveZone","kind":"symbol","language":"jsts","symbolName":"setActiveZone","metadata":{"unresolvedName":"setActiveZone"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:setZone",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:setZone","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","symbolName":"setZone","symbolKind":"function","exported":false,"metadata":{"line":80,"column":7,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","symbolName":"PaneHeader","symbolKind":"function","exported":true,"metadata":{"line":43,"column":1,"cyclomaticComplexity":32,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSessionState",{"id":"symbol-name:useSessionState","kind":"symbol","language":"jsts","symbolName":"useSessionState","metadata":{"unresolvedName":"useSessionState"}}],["symbol-name:setIsEditing",{"id":"symbol-name:setIsEditing","kind":"symbol","language":"jsts","symbolName":"setIsEditing","metadata":{"unresolvedName":"setIsEditing"}}],["external:inputRef.current.focus",{"id":"external:inputRef.current.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputRef.current.focus"}}],["external:inputRef.current.select",{"id":"external:inputRef.current.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputRef.current.select"}}],["symbol-name:setEditValue",{"id":"symbol-name:setEditValue","kind":"symbol","language":"jsts","symbolName":"setEditValue","metadata":{"unresolvedName":"setEditValue"}}],["external:editValue.trim",{"id":"external:editValue.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"editValue.trim"}}],["symbol-name:setIsDragOver",{"id":"symbol-name:setIsDragOver","kind":"symbol","language":"jsts","symbolName":"setIsDragOver","metadata":{"unresolvedName":"setIsDragOver"}}],["external:paneLayoutStore.swapPanes",{"id":"external:paneLayoutStore.swapPanes","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.swapPanes"}}],["symbol-name:handleClose",{"id":"symbol-name:handleClose","kind":"symbol","language":"jsts","symbolName":"handleClose","metadata":{"unresolvedName":"handleClose"}}],["symbol-name:onTogglePaneFullscreen",{"id":"symbol-name:onTogglePaneFullscreen","kind":"symbol","language":"jsts","symbolName":"onTogglePaneFullscreen","metadata":{"unresolvedName":"onTogglePaneFullscreen"}}],["symbol-name:handleSplitH",{"id":"symbol-name:handleSplitH","kind":"symbol","language":"jsts","symbolName":"handleSplitH","metadata":{"unresolvedName":"handleSplitH"}}],["symbol-name:handleSplitV",{"id":"symbol-name:handleSplitV","kind":"symbol","language":"jsts","symbolName":"handleSplitV","metadata":{"unresolvedName":"handleSplitV"}}],["symbol-name:onOpenSidebar",{"id":"symbol-name:onOpenSidebar","kind":"symbol","language":"jsts","symbolName":"onOpenSidebar","metadata":{"unresolvedName":"onOpenSidebar"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":287,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","metadata":{"lineCount":223,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","symbolName":"PermissionDialog","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":31,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:childSessionStore.getSessionInfo",{"id":"external:childSessionStore.getSessionInfo","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}}],["symbol-name:onCollapsedChange",{"id":"symbol-name:onCollapsedChange","kind":"symbol","language":"jsts","symbolName":"onCollapsedChange","metadata":{"unresolvedName":"onCollapsedChange"}}],["external:request.patterns.map(p => p.replace(/\\\\n/g, '\\n')).join",{"id":"external:request.patterns.map(p => p.replace(/\\\\n/g, '\\n')).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.patterns.map(p => p.replace(/\\\\n/g, '\\n')).join"}}],["external:request.patterns.map",{"id":"external:request.patterns.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.patterns.map"}}],["external:request.always.join",{"id":"external:request.always.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.always.join"}}],["symbol-name:onAutoApprove",{"id":"symbol-name:onAutoApprove","kind":"symbol","language":"jsts","symbolName":"onAutoApprove","metadata":{"unresolvedName":"onAutoApprove"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":173,"column":26,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","metadata":{"lineCount":47,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","metadata":{"lineCount":452,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":34,"column":50,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:screen.findByDisplayValue",{"id":"external:screen.findByDisplayValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.findByDisplayValue"}}],["external:expect(await screen.findByText('src')).toBeInTheDocument",{"id":"external:expect(await screen.findByText('src')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await screen.findByText('src')).toBeInTheDocument"}}],["external:expect(await screen.findByText('docs')).toBeInTheDocument",{"id":"external:expect(await screen.findByText('docs')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(await screen.findByText('docs')).toBeInTheDocument"}}],["external:expect(screen.getByText('Add current')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Add current')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Add current')).toBeInTheDocument"}}],["external:expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual",{"id":"external:expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual"}}],["external:expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual",{"id":"external:expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:normalizePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:normalizePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"normalizePath","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"getDirectoryPath","symbolKind":"function","exported":false,"metadata":{"line":42,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:normalized.endsWith",{"id":"external:normalized.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.endsWith"}}],["external:normalized.lastIndexOf",{"id":"external:normalized.lastIndexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.lastIndexOf"}}],["external:normalized.substring",{"id":"external:normalized.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.substring"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"getFilterText","symbolKind":"function","exported":false,"metadata":{"line":50,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"ProjectDialog","symbolKind":"function","exported":true,"metadata":{"line":61,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getDirectoryPath",{"id":"symbol-name:getDirectoryPath","kind":"symbol","language":"jsts","symbolName":"getDirectoryPath","metadata":{"unresolvedName":"getDirectoryPath"}}],["symbol-name:getFilterText",{"id":"symbol-name:getFilterText","kind":"symbol","language":"jsts","symbolName":"getFilterText","metadata":{"unresolvedName":"getFilterText"}}],["external:filterText.toLowerCase",{"id":"external:filterText.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filterText.toLowerCase"}}],["external:items.filter",{"id":"external:items.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.filter"}}],["external:item.name.toLowerCase().startsWith",{"id":"external:item.name.toLowerCase().startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"item.name.toLowerCase().startsWith"}}],["external:item.name.toLowerCase",{"id":"external:item.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"item.name.toLowerCase"}}],["symbol-name:setItems",{"id":"symbol-name:setItems","kind":"symbol","language":"jsts","symbolName":"setItems","metadata":{"unresolvedName":"setItems"}}],["external:path.endsWith",{"id":"external:path.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.endsWith"}}],["symbol-name:setInputValue",{"id":"symbol-name:setInputValue","kind":"symbol","language":"jsts","symbolName":"setInputValue","metadata":{"unresolvedName":"setInputValue"}}],["symbol-name:initPath",{"id":"symbol-name:initPath","kind":"symbol","language":"jsts","symbolName":"initPath","metadata":{"unresolvedName":"initPath"}}],["external:listDirectory(currentDir)\r\n .then",{"id":"external:listDirectory(currentDir)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"listDirectory(currentDir)\r\n .then"}}],["external:nodes\r\n .filter",{"id":"external:nodes\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"nodes\r\n .filter"}}],["external:n.name.startsWith",{"id":"external:n.name.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"n.name.startsWith"}}],["external:fileItems.findIndex",{"id":"external:fileItems.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileItems.findIndex"}}],["symbol-name:fileErrorHandler",{"id":"symbol-name:fileErrorHandler","kind":"symbol","language":"jsts","symbolName":"fileErrorHandler","metadata":{"unresolvedName":"fileErrorHandler"}}],["external:current.slice",{"id":"external:current.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.slice"}}],["external:current.split(PATH_SEP).pop",{"id":"external:current.split(PATH_SEP).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.split(PATH_SEP).pop"}}],["external:current.split",{"id":"external:current.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.split"}}],["external:path.slice",{"id":"external:path.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.slice"}}],["external:inputValue.endsWith",{"id":"external:inputValue.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputValue.endsWith"}}],["symbol-name:handleGoBack",{"id":"symbol-name:handleGoBack","kind":"symbol","language":"jsts","symbolName":"handleGoBack","metadata":{"unresolvedName":"handleGoBack"}}],["external:inputValue.split(PATH_SEP).filter",{"id":"external:inputValue.split(PATH_SEP).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputValue.split(PATH_SEP).filter"}}],["external:inputValue.split",{"id":"external:inputValue.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"inputValue.split"}}],["external:filteredItems.map",{"id":"external:filteredItems.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredItems.map"}}],["symbol-name:handleItemClick",{"id":"symbol-name:handleItemClick","kind":"symbol","language":"jsts","symbolName":"handleItemClick","metadata":{"unresolvedName":"handleItemClick"}}],["symbol-name:handleSelectFolder",{"id":"symbol-name:handleSelectFolder","kind":"symbol","language":"jsts","symbolName":"handleSelectFolder","metadata":{"unresolvedName":"handleSelectFolder"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":380,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"initPath","symbolKind":"function","exported":false,"metadata":{"line":99,"column":24,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ListItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ListItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","symbolName":"ListItem","symbolKind":"function","exported":false,"metadata":{"line":429,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","metadata":{"lineCount":398,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","symbolName":"QuestionDialog","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":31,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:newMap.set",{"id":"external:newMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"newMap.set"}}],["external:current.has",{"id":"external:current.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.has"}}],["external:current.delete",{"id":"external:current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.delete"}}],["external:current.add",{"id":"external:current.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":372,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","symbolName":"QuestionItem","symbolKind":"function","exported":false,"metadata":{"line":281,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:adjustTextareaHeight",{"id":"symbol-name:adjustTextareaHeight","kind":"symbol","language":"jsts","symbolName":"adjustTextareaHeight","metadata":{"unresolvedName":"adjustTextareaHeight"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:Indicator",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:Indicator","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","symbolName":"Indicator","symbolKind":"function","exported":false,"metadata":{"line":391,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","metadata":{"lineCount":19,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","symbolName":"formatRemaining","symbolKind":"function","exported":false,"metadata":{"line":15,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(ms / 1000).toFixed",{"id":"external:(ms / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(ms / 1000).toFixed"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":28,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useNow",{"id":"symbol-name:useNow","kind":"symbol","language":"jsts","symbolName":"useNow","metadata":{"unresolvedName":"useNow"}}],["external:Number.isFinite",{"id":"external:Number.isFinite","kind":"external","language":"jsts","metadata":{"unresolvedName":"Number.isFinite"}}],["symbol-name:formatRemaining",{"id":"symbol-name:formatRemaining","kind":"symbol","language":"jsts","symbolName":"formatRemaining","metadata":{"unresolvedName":"formatRemaining"}}],["external:status.message?.trim",{"id":"external:status.message?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"status.message?.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","symbolName":"ShareDialog","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:shareSession",{"id":"symbol-name:shareSession","kind":"symbol","language":"jsts","symbolName":"shareSession","metadata":{"unresolvedName":"shareSession"}}],["external:messageStore.setShareUrl",{"id":"external:messageStore.setShareUrl","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.setShareUrl"}}],["symbol-name:unshareSession",{"id":"symbol-name:unshareSession","kind":"symbol","language":"jsts","symbolName":"unshareSession","metadata":{"unresolvedName":"unshareSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":21,"column":13,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","symbolName":"handleShare","symbolKind":"function","exported":false,"metadata":{"line":28,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","symbolName":"handleUnshare","symbolKind":"function","exported":false,"metadata":{"line":43,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","symbolName":"handleCopy","symbolKind":"function","exported":false,"metadata":{"line":58,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","metadata":{"lineCount":115,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","metadata":{"lineCount":367,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","symbolName":"ActiveSessionItem","symbolKind":"function","exported":true,"metadata":{"line":13,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:entry.sessionId.slice",{"id":"external:entry.sessionId.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.sessionId.slice"}}],["external:directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop",{"id":"external:directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}}],["external:directory.replace(/\\\\/g, '/').split('/').filter",{"id":"external:directory.replace(/\\\\/g, '/').split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter"}}],["external:directory.replace(/\\\\/g, '/').split",{"id":"external:directory.replace(/\\\\/g, '/').split","kind":"external","language":"jsts","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split"}}],["external:directory.replace",{"id":"external:directory.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"directory.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":37,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","symbolName":"handleDragStart","symbolKind":"function","exported":false,"metadata":{"line":48,"column":27,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","metadata":{"lineCount":42,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","metadata":{"lineCount":34,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","symbolName":"makeEntry","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":33,"column":63,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:makeEntry",{"id":"symbol-name:makeEntry","kind":"symbol","language":"jsts","symbolName":"makeEntry","metadata":{"unresolvedName":"makeEntry"}}],["symbol-name:buildActiveSessionTree",{"id":"symbol-name:buildActiveSessionTree","kind":"symbol","language":"jsts","symbolName":"buildActiveSessionTree","metadata":{"unresolvedName":"buildActiveSessionTree"}}],["external:expect(tree.rootEntries).toEqual",{"id":"external:expect(tree.rootEntries).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tree.rootEntries).toEqual"}}],["external:expect(tree.childrenByParent.get('root')).toEqual",{"id":"external:expect(tree.childrenByParent.get('root')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('root')).toEqual"}}],["external:tree.childrenByParent.get",{"id":"external:tree.childrenByParent.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"tree.childrenByParent.get"}}],["external:expect(tree.childrenByParent.get('child')).toEqual",{"id":"external:expect(tree.childrenByParent.get('child')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('child')).toEqual"}}],["external:expect(tree.childrenByParent.size).toBe",{"id":"external:expect(tree.childrenByParent.size).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tree.childrenByParent.size).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","symbolName":"buildActiveSessionTree","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:busySessions.map",{"id":"external:busySessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"busySessions.map"}}],["symbol-name:findParentId",{"id":"symbol-name:findParentId","kind":"symbol","language":"jsts","symbolName":"findParentId","metadata":{"unresolvedName":"findParentId"}}],["external:busySessionIds.has",{"id":"external:busySessionIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"busySessionIds.has"}}],["external:rootEntries.push",{"id":"external:rootEntries.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootEntries.push"}}],["external:childrenByParent.get",{"id":"external:childrenByParent.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"childrenByParent.get"}}],["external:siblings.push",{"id":"external:siblings.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"siblings.push"}}],["external:childrenByParent.set",{"id":"external:childrenByParent.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"childrenByParent.set"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","metadata":{"lineCount":361,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["module:../../../assets/models.json?url",{"id":"module:../../../assets/models.json?url","kind":"module","language":"jsts","metadata":{"source":"../../../assets/models.json?url"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","metadata":{"lineCount":107,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:tokenTotal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:tokenTotal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"tokenTotal","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"formatTimestamp","symbolKind":"function","exported":false,"metadata":{"line":35,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:d.getTime",{"id":"external:d.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"d.getTime"}}],["external:d.toLocaleString",{"id":"external:d.toLocaleString","kind":"external","language":"jsts","metadata":{"unresolvedName":"d.toLocaleString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:Stat",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:Stat","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"Stat","symbolKind":"function","exported":false,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:StatCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:StatCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"StatCard","symbolKind":"function","exported":false,"metadata":{"line":53,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"joinList","symbolKind":"function","exported":false,"metadata":{"line":64,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:values.join",{"id":"external:values.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"values.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"modelLabel","symbolKind":"function","exported":false,"metadata":{"line":68,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:name.toLowerCase().includes",{"id":"external:name.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.toLowerCase().includes"}}],["external:id.toLowerCase",{"id":"external:id.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"useOpenRouterMetadata","symbolKind":"function","exported":false,"metadata":{"line":74,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fetch(modelsCatalogUrl)\n .then",{"id":"external:fetch(modelsCatalogUrl)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetch(modelsCatalogUrl)\n .then"}}],["symbol-name:selectOpenRouterModel",{"id":"symbol-name:selectOpenRouterModel","kind":"symbol","language":"jsts","symbolName":"selectOpenRouterModel","metadata":{"unresolvedName":"selectOpenRouterModel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":295,"column":25,"cyclomaticComplexity":8,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","symbolName":"ContextDetailsDialog","symbolKind":"function","exported":true,"metadata":{"line":107,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:tokenTotal",{"id":"symbol-name:tokenTotal","kind":"symbol","language":"jsts","symbolName":"tokenTotal","metadata":{"unresolvedName":"tokenTotal"}}],["symbol-name:useOpenRouterMetadata",{"id":"symbol-name:useOpenRouterMetadata","kind":"symbol","language":"jsts","symbolName":"useOpenRouterMetadata","metadata":{"unresolvedName":"useOpenRouterMetadata"}}],["symbol-name:getModelProviderLabel",{"id":"symbol-name:getModelProviderLabel","kind":"symbol","language":"jsts","symbolName":"getModelProviderLabel","metadata":{"unresolvedName":"getModelProviderLabel"}}],["symbol-name:modelLabel",{"id":"symbol-name:modelLabel","kind":"symbol","language":"jsts","symbolName":"modelLabel","metadata":{"unresolvedName":"modelLabel"}}],["external:supportedParameters.filter",{"id":"external:supportedParameters.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"supportedParameters.filter"}}],["external:['tools', 'reasoning', 'response_format', 'structured_outputs'].includes",{"id":"external:['tools', 'reasoning', 'response_format', 'structured_outputs'].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"['tools', 'reasoning', 'response_format', 'structured_outputs'].includes"}}],["symbol-name:setExpandedId",{"id":"symbol-name:setExpandedId","kind":"symbol","language":"jsts","symbolName":"setExpandedId","metadata":{"unresolvedName":"setExpandedId"}}],["symbol-name:formatTokens",{"id":"symbol-name:formatTokens","kind":"symbol","language":"jsts","symbolName":"formatTokens","metadata":{"unresolvedName":"formatTokens"}}],["symbol-name:formatCost",{"id":"symbol-name:formatCost","kind":"symbol","language":"jsts","symbolName":"formatCost","metadata":{"unresolvedName":"formatCost"}}],["symbol-name:joinList",{"id":"symbol-name:joinList","kind":"symbol","language":"jsts","symbolName":"joinList","metadata":{"unresolvedName":"joinList"}}],["symbol-name:formatOpenRouterPricePerMillion",{"id":"symbol-name:formatOpenRouterPricePerMillion","kind":"symbol","language":"jsts","symbolName":"formatOpenRouterPricePerMillion","metadata":{"unresolvedName":"formatOpenRouterPricePerMillion"}}],["external:featuredParameters.join",{"id":"external:featuredParameters.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"featuredParameters.join"}}],["external:supportedParameters.join",{"id":"external:supportedParameters.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"supportedParameters.join"}}],["symbol-name:formatTimestamp",{"id":"symbol-name:formatTimestamp","kind":"symbol","language":"jsts","symbolName":"formatTimestamp","metadata":{"unresolvedName":"formatTimestamp"}}],["symbol-name:handleToggleMessage",{"id":"symbol-name:handleToggleMessage","kind":"symbol","language":"jsts","symbolName":"handleToggleMessage","metadata":{"unresolvedName":"handleToggleMessage"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","metadata":{"lineCount":1045,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","metadata":{"lineCount":138,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"matchesAnyDirectory","symbolKind":"function","exported":false,"metadata":{"line":71,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:candidates.some",{"id":"external:candidates.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"candidates.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"buildFolderStatus","symbolKind":"function","exported":false,"metadata":{"line":76,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:busySessions.filter",{"id":"external:busySessions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"busySessions.filter"}}],["symbol-name:matchesAnyDirectory",{"id":"symbol-name:matchesAnyDirectory","kind":"symbol","language":"jsts","symbolName":"matchesAnyDirectory","metadata":{"unresolvedName":"matchesAnyDirectory"}}],["external:notifications.some",{"id":"external:notifications.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"notifications.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"getInitialExpandedProjectIds","symbolKind":"function","exported":false,"metadata":{"line":147,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:projects.find",{"id":"external:projects.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"areProjectIdListsEqual","symbolKind":"function","exported":false,"metadata":{"line":157,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:left.every",{"id":"external:left.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"left.every"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"getCurrentProjectId","symbolKind":"function","exported":false,"metadata":{"line":161,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"reconcileExpandedProjectIds","symbolKind":"function","exported":false,"metadata":{"line":167,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:projects.some",{"id":"external:projects.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.some"}}],["symbol-name:getInitialExpandedProjectIds",{"id":"symbol-name:getInitialExpandedProjectIds","kind":"symbol","language":"jsts","symbolName":"getInitialExpandedProjectIds","metadata":{"unresolvedName":"getInitialExpandedProjectIds"}}],["symbol-name:areProjectIdListsEqual",{"id":"symbol-name:areProjectIdListsEqual","kind":"symbol","language":"jsts","symbolName":"areProjectIdListsEqual","metadata":{"unresolvedName":"areProjectIdListsEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"expandProjectId","symbolKind":"function","exported":false,"metadata":{"line":173,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"toggleProjectId","symbolKind":"function","exported":false,"metadata":{"line":178,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"createDirectoryProject","symbolKind":"function","exported":false,"metadata":{"line":182,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"useCollapseExpandedIdsOnDrag","symbolKind":"function","exported":false,"metadata":{"line":191,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setExpandedIds",{"id":"symbol-name:setExpandedIds","kind":"symbol","language":"jsts","symbolName":"setExpandedIds","metadata":{"unresolvedName":"setExpandedIds"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1000,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"useReorderableList","symbolKind":"function","exported":false,"metadata":{"line":224,"column":1,"cyclomaticComplexity":29,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:refs.current.get",{"id":"external:refs.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.get"}}],["external:element.getBoundingClientRect",{"id":"external:element.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"element.getBoundingClientRect"}}],["external:items.push",{"id":"external:items.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.push"}}],["external:withoutDragged.splice",{"id":"external:withoutDragged.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"withoutDragged.splice"}}],["external:originalOrder.indexOf",{"id":"external:originalOrder.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"originalOrder.indexOf"}}],["external:finalOrder.indexOf",{"id":"external:finalOrder.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"finalOrder.indexOf"}}],["symbol-name:onCommit",{"id":"symbol-name:onCommit","kind":"symbol","language":"jsts","symbolName":"onCommit","metadata":{"unresolvedName":"onCommit"}}],["symbol-name:setDragState",{"id":"symbol-name:setDragState","kind":"symbol","language":"jsts","symbolName":"setDragState","metadata":{"unresolvedName":"setDragState"}}],["symbol-name:onDragFinished",{"id":"symbol-name:onDragFinished","kind":"symbol","language":"jsts","symbolName":"onDragFinished","metadata":{"unresolvedName":"onDragFinished"}}],["symbol-name:canDrag",{"id":"symbol-name:canDrag","kind":"symbol","language":"jsts","symbolName":"canDrag","metadata":{"unresolvedName":"canDrag"}}],["symbol-name:onDragActivated",{"id":"symbol-name:onDragActivated","kind":"symbol","language":"jsts","symbolName":"onDragActivated","metadata":{"unresolvedName":"onDragActivated"}}],["symbol-name:calcNewOrder",{"id":"symbol-name:calcNewOrder","kind":"symbol","language":"jsts","symbolName":"calcNewOrder","metadata":{"unresolvedName":"calcNewOrder"}}],["symbol-name:finishDrag",{"id":"symbol-name:finishDrag","kind":"symbol","language":"jsts","symbolName":"finishDrag","metadata":{"unresolvedName":"finishDrag"}}],["external:refs.current.set",{"id":"external:refs.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.set"}}],["external:refs.current.delete",{"id":"external:refs.current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"onMove","symbolKind":"function","exported":false,"metadata":{"line":292,"column":22,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"onUp","symbolKind":"function","exported":false,"metadata":{"line":309,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"registerRef","symbolKind":"function","exported":false,"metadata":{"line":400,"column":18,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"FolderRecentList","symbolKind":"function","exported":true,"metadata":{"line":407,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useBusySessions",{"id":"symbol-name:useBusySessions","kind":"symbol","language":"jsts","symbolName":"useBusySessions","metadata":{"unresolvedName":"useBusySessions"}}],["symbol-name:useNotifications",{"id":"symbol-name:useNotifications","kind":"symbol","language":"jsts","symbolName":"useNotifications","metadata":{"unresolvedName":"useNotifications"}}],["external:projects.map",{"id":"external:projects.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.map"}}],["symbol-name:useCollapseExpandedIdsOnDrag",{"id":"symbol-name:useCollapseExpandedIdsOnDrag","kind":"symbol","language":"jsts","symbolName":"useCollapseExpandedIdsOnDrag","metadata":{"unresolvedName":"useCollapseExpandedIdsOnDrag"}}],["symbol-name:onExpandedProjectIdsChange",{"id":"symbol-name:onExpandedProjectIdsChange","kind":"symbol","language":"jsts","symbolName":"onExpandedProjectIdsChange","metadata":{"unresolvedName":"onExpandedProjectIdsChange"}}],["symbol-name:reconcileExpandedProjectIds",{"id":"symbol-name:reconcileExpandedProjectIds","kind":"symbol","language":"jsts","symbolName":"reconcileExpandedProjectIds","metadata":{"unresolvedName":"reconcileExpandedProjectIds"}}],["symbol-name:expandProjectId",{"id":"symbol-name:expandProjectId","kind":"symbol","language":"jsts","symbolName":"expandProjectId","metadata":{"unresolvedName":"expandProjectId"}}],["symbol-name:getCurrentProjectId",{"id":"symbol-name:getCurrentProjectId","kind":"symbol","language":"jsts","symbolName":"getCurrentProjectId","metadata":{"unresolvedName":"getCurrentProjectId"}}],["symbol-name:toggleProjectId",{"id":"symbol-name:toggleProjectId","kind":"symbol","language":"jsts","symbolName":"toggleProjectId","metadata":{"unresolvedName":"toggleProjectId"}}],["symbol-name:useReorderableList",{"id":"symbol-name:useReorderableList","kind":"symbol","language":"jsts","symbolName":"useReorderableList","metadata":{"unresolvedName":"useReorderableList"}}],["external:projectById.get",{"id":"external:projectById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectById.get"}}],["symbol-name:onReorderProject",{"id":"symbol-name:onReorderProject","kind":"symbol","language":"jsts","symbolName":"onReorderProject","metadata":{"unresolvedName":"onReorderProject"}}],["symbol-name:onSelectProject",{"id":"symbol-name:onSelectProject","kind":"symbol","language":"jsts","symbolName":"onSelectProject","metadata":{"unresolvedName":"onSelectProject"}}],["symbol-name:createDirectoryProject",{"id":"symbol-name:createDirectoryProject","kind":"symbol","language":"jsts","symbolName":"createDirectoryProject","metadata":{"unresolvedName":"createDirectoryProject"}}],["external:expandedProjectIds.includes",{"id":"external:expandedProjectIds.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedProjectIds.includes"}}],["external:workspaceDirectoriesByProjectId?.get",{"id":"external:workspaceDirectoriesByProjectId?.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.get"}}],["symbol-name:buildFolderStatus",{"id":"symbol-name:buildFolderStatus","kind":"symbol","language":"jsts","symbolName":"buildFolderStatus","metadata":{"unresolvedName":"buildFolderStatus"}}],["external:workspaceDirectoriesByProjectId?.forEach",{"id":"external:workspaceDirectoriesByProjectId?.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.forEach"}}],["external:directories.forEach",{"id":"external:directories.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.forEach"}}],["external:workspaceDirectories.add",{"id":"external:workspaceDirectories.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceDirectories.add"}}],["external:displayOrder.map",{"id":"external:displayOrder.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"displayOrder.map"}}],["external:folderStatusByProjectId.get",{"id":"external:folderStatusByProjectId.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderStatusByProjectId.get"}}],["symbol-name:handleToggleProject",{"id":"symbol-name:handleToggleProject","kind":"symbol","language":"jsts","symbolName":"handleToggleProject","metadata":{"unresolvedName":"handleToggleProject"}}],["symbol-name:handlePointerStart",{"id":"symbol-name:handlePointerStart","kind":"symbol","language":"jsts","symbolName":"handlePointerStart","metadata":{"unresolvedName":"handlePointerStart"}}],["symbol-name:handleTouchStart",{"id":"symbol-name:handleTouchStart","kind":"symbol","language":"jsts","symbolName":"handleTouchStart","metadata":{"unresolvedName":"handleTouchStart"}}],["symbol-name:registerRef",{"id":"symbol-name:registerRef","kind":"symbol","language":"jsts","symbolName":"registerRef","metadata":{"unresolvedName":"registerRef"}}],["external:selectedProjectIds?.has",{"id":"external:selectedProjectIds?.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedProjectIds?.has"}}],["symbol-name:onToggleProjectSelection",{"id":"symbol-name:onToggleProjectSelection","kind":"symbol","language":"jsts","symbolName":"onToggleProjectSelection","metadata":{"unresolvedName":"onToggleProjectSelection"}}],["symbol-name:setPendingDelete",{"id":"symbol-name:setPendingDelete","kind":"symbol","language":"jsts","symbolName":"setPendingDelete","metadata":{"unresolvedName":"setPendingDelete"}}],["symbol-name:onDeleteSession",{"id":"symbol-name:onDeleteSession","kind":"symbol","language":"jsts","symbolName":"onDeleteSession","metadata":{"unresolvedName":"onDeleteSession"}}],["external:pendingDelete.removeLocal",{"id":"external:pendingDelete.removeLocal","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingDelete.removeLocal"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"onCommit","symbolKind":"function","exported":false,"metadata":{"line":988,"column":15,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"FolderRecentSection","symbolKind":"function","exported":false,"metadata":{"line":631,"column":1,"cyclomaticComplexity":40,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setHasActivated",{"id":"symbol-name:setHasActivated","kind":"symbol","language":"jsts","symbolName":"setHasActivated","metadata":{"unresolvedName":"setHasActivated"}}],["symbol-name:useSessions",{"id":"symbol-name:useSessions","kind":"symbol","language":"jsts","symbolName":"useSessions","metadata":{"unresolvedName":"useSessions"}}],["external:sessions.find",{"id":"external:sessions.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.find"}}],["symbol-name:onRenameSession",{"id":"symbol-name:onRenameSession","kind":"symbol","language":"jsts","symbolName":"onRenameSession","metadata":{"unresolvedName":"onRenameSession"}}],["symbol-name:patchLocalSession",{"id":"symbol-name:patchLocalSession","kind":"symbol","language":"jsts","symbolName":"patchLocalSession","metadata":{"unresolvedName":"patchLocalSession"}}],["symbol-name:onRequestDeleteSession",{"id":"symbol-name:onRequestDeleteSession","kind":"symbol","language":"jsts","symbolName":"onRequestDeleteSession","metadata":{"unresolvedName":"onRequestDeleteSession"}}],["symbol-name:removeLocalSession",{"id":"symbol-name:removeLocalSession","kind":"symbol","language":"jsts","symbolName":"removeLocalSession","metadata":{"unresolvedName":"removeLocalSession"}}],["symbol-name:onToggleProjectCheck",{"id":"symbol-name:onToggleProjectCheck","kind":"symbol","language":"jsts","symbolName":"onToggleProjectCheck","metadata":{"unresolvedName":"onToggleProjectCheck"}}],["symbol-name:onToggle",{"id":"symbol-name:onToggle","kind":"symbol","language":"jsts","symbolName":"onToggle","metadata":{"unresolvedName":"onToggle"}}],["symbol-name:onSelectSession",{"id":"symbol-name:onSelectSession","kind":"symbol","language":"jsts","symbolName":"onSelectSession","metadata":{"unresolvedName":"onSelectSession"}}],["external:selectedSessionIds?.has",{"id":"external:selectedSessionIds?.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedSessionIds?.has"}}],["symbol-name:onToggleSessionSelection",{"id":"symbol-name:onToggleSessionSelection","kind":"symbol","language":"jsts","symbolName":"onToggleSessionSelection","metadata":{"unresolvedName":"onToggleSessionSelection"}}],["external:expandedChildSessionIds?.has",{"id":"external:expandedChildSessionIds?.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}}],["external:inlineChildSessions?.has",{"id":"external:inlineChildSessions?.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"inlineChildSessions?.has"}}],["external:inlineChildSessions?.get",{"id":"external:inlineChildSessions?.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"inlineChildSessions?.get"}}],["symbol-name:loadMore",{"id":"symbol-name:loadMore","kind":"symbol","language":"jsts","symbolName":"loadMore","metadata":{"unresolvedName":"loadMore"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"handleProjectCheckClick","symbolKind":"function","exported":false,"metadata":{"line":708,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","symbolName":"WorkspaceFolderList","symbolKind":"function","exported":false,"metadata":{"line":923,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(draggableWorkspaceDirectories ?? []).map",{"id":"external:(draggableWorkspaceDirectories ?? []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(draggableWorkspaceDirectories ?? []).map"}}],["external:workspaceDirectories.map",{"id":"external:workspaceDirectories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceDirectories.map"}}],["external:draggableSet.has",{"id":"external:draggableSet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"draggableSet.has"}}],["external:workspaceProjects.map",{"id":"external:workspaceProjects.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceProjects.map"}}],["symbol-name:setWorkspaceExpandedIds",{"id":"symbol-name:setWorkspaceExpandedIds","kind":"symbol","language":"jsts","symbolName":"setWorkspaceExpandedIds","metadata":{"unresolvedName":"setWorkspaceExpandedIds"}}],["external:workspaceById.get",{"id":"external:workspaceById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaceById.get"}}],["symbol-name:onReorderWorkspace",{"id":"symbol-name:onReorderWorkspace","kind":"symbol","language":"jsts","symbolName":"onReorderWorkspace","metadata":{"unresolvedName":"onReorderWorkspace"}}],["external:expandedWorkspaceIds.includes",{"id":"external:expandedWorkspaceIds.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedWorkspaceIds.includes"}}],["external:folderStatusByWorkspaceDirectory?.get",{"id":"external:folderStatusByWorkspaceDirectory?.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderStatusByWorkspaceDirectory?.get"}}],["symbol-name:onSelectDirectory",{"id":"symbol-name:onSelectDirectory","kind":"symbol","language":"jsts","symbolName":"onSelectDirectory","metadata":{"unresolvedName":"onSelectDirectory"}}],["symbol-name:handleToggleWorkspace",{"id":"symbol-name:handleToggleWorkspace","kind":"symbol","language":"jsts","symbolName":"handleToggleWorkspace","metadata":{"unresolvedName":"handleToggleWorkspace"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","metadata":{"lineCount":74,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","metadata":{"lineCount":202,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":59,"column":76,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:markReadMock.mockReset",{"id":"external:markReadMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"markReadMock.mockReset"}}],["external:dismissMock.mockReset",{"id":"external:dismissMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"dismissMock.mockReset"}}],["external:expect(markReadMock).toHaveBeenCalledWith",{"id":"external:expect(markReadMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(markReadMock).toHaveBeenCalledWith"}}],["external:expect(dismissMock).toHaveBeenCalledWith",{"id":"external:expect(dismissMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(dismissMock).toHaveBeenCalledWith"}}],["external:expect(onSelect).toHaveBeenCalledTimes",{"id":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}}],["external:expect(row).not.toBeNull",{"id":"external:expect(row).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(row).not.toBeNull"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","metadata":{"lineCount":21,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","symbolName":"NotificationItem","symbolKind":"function","exported":true,"metadata":{"line":31,"column":1,"cyclomaticComplexity":29,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setShowActions",{"id":"symbol-name:setShowActions","kind":"symbol","language":"jsts","symbolName":"setShowActions","metadata":{"unresolvedName":"setShowActions"}}],["external:itemRef.current.contains",{"id":"external:itemRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"itemRef.current.contains"}}],["external:notificationStore.dismiss",{"id":"external:notificationStore.dismiss","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.dismiss"}}],["symbol-name:setHasFocusWithin",{"id":"symbol-name:setHasFocusWithin","kind":"symbol","language":"jsts","symbolName":"setHasFocusWithin","metadata":{"unresolvedName":"setHasFocusWithin"}}],["external:itemRef.current?.contains",{"id":"external:itemRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"itemRef.current?.contains"}}],["symbol-name:formatNotificationTime",{"id":"symbol-name:formatNotificationTime","kind":"symbol","language":"jsts","symbolName":"formatNotificationTime","metadata":{"unresolvedName":"formatNotificationTime"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":134,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":74,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":95,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","symbolName":"handleDismiss","symbolKind":"function","exported":false,"metadata":{"line":109,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","metadata":{"lineCount":26,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","metadata":{"lineCount":24,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":19,"column":55,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getProjectGroupIdentity",{"id":"symbol-name:getProjectGroupIdentity","kind":"symbol","language":"jsts","symbolName":"getProjectGroupIdentity","metadata":{"unresolvedName":"getProjectGroupIdentity"}}],["external:expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual",{"id":"external:expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","symbolName":"isWorkspaceRootDirectory","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:meta.workspaces.some",{"id":"external:meta.workspaces.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"meta.workspaces.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","symbolName":"getProjectGroupIdentity","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isWorkspaceRootDirectory",{"id":"symbol-name:isWorkspaceRootDirectory","kind":"symbol","language":"jsts","symbolName":"isWorkspaceRootDirectory","metadata":{"unresolvedName":"isWorkspaceRootDirectory"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","symbolName":"SessionChildrenSlot","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:getSessionChildren(parentSession.id, parentSession.directory)\r\n .then",{"id":"external:getSessionChildren(parentSession.id, parentSession.directory)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionChildren(parentSession.id, parentSession.directory)\r\n .then"}}],["symbol-name:getSessionChildren",{"id":"symbol-name:getSessionChildren","kind":"symbol","language":"jsts","symbolName":"getSessionChildren","metadata":{"unresolvedName":"getSessionChildren"}}],["symbol-name:setFetched",{"id":"symbol-name:setFetched","kind":"symbol","language":"jsts","symbolName":"setFetched","metadata":{"unresolvedName":"setFetched"}}],["symbol-name:onDeleteSelected",{"id":"symbol-name:onDeleteSelected","kind":"symbol","language":"jsts","symbolName":"onDeleteSelected","metadata":{"unresolvedName":"onDeleteSelected"}}],["external:list!.map",{"id":"external:list!.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"list!.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":82,"column":45,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","metadata":{"lineCount":417,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","symbolName":"StatusIndicator","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","symbolName":"SidebarFooter","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:buttonRef.current.getBoundingClientRect",{"id":"external:buttonRef.current.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"buttonRef.current.getBoundingClientRect"}}],["external:containerRef.current.getBoundingClientRect",{"id":"external:containerRef.current.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"containerRef.current.getBoundingClientRect"}}],["symbol-name:setMenuPos",{"id":"symbol-name:setMenuPos","kind":"symbol","language":"jsts","symbolName":"setMenuPos","metadata":{"unresolvedName":"setMenuPos"}}],["external:buttonRef.current?.contains",{"id":"external:buttonRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"buttonRef.current?.contains"}}],["symbol-name:setContextDialogOpen",{"id":"symbol-name:setContextDialogOpen","kind":"symbol","language":"jsts","symbolName":"setContextDialogOpen","metadata":{"unresolvedName":"setContextDialogOpen"}}],["external:(['system', 'light', 'dark'] as const).map",{"id":"external:(['system', 'light', 'dark'] as const).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(['system', 'light', 'dark'] as const).map"}}],["symbol-name:onThemeChange",{"id":"symbol-name:onThemeChange","kind":"symbol","language":"jsts","symbolName":"onThemeChange","metadata":{"unresolvedName":"onThemeChange"}}],["symbol-name:toggleWideMode",{"id":"symbol-name:toggleWideMode","kind":"symbol","language":"jsts","symbolName":"toggleWideMode","metadata":{"unresolvedName":"toggleWideMode"}}],["symbol-name:onOpenSettings",{"id":"symbol-name:onOpenSettings","kind":"symbol","language":"jsts","symbolName":"onOpenSettings","metadata":{"unresolvedName":"onOpenSettings"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":344,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":169,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleEsc",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleEsc","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","symbolName":"handleEsc","symbolKind":"function","exported":false,"metadata":{"line":183,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","symbolName":"getParentPath","symbolKind":"function","exported":true,"metadata":{"line":2,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fullPath.includes",{"id":"external:fullPath.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"fullPath.includes"}}],["external:fullPath.split",{"id":"external:fullPath.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"fullPath.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","symbolName":"formatNotificationTime","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","metadata":{"lineCount":1302,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"getSelectionRange","symbolKind":"function","exported":false,"metadata":{"line":79,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:visibleIds.indexOf",{"id":"external:visibleIds.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleIds.indexOf"}}],["external:visibleIds.slice",{"id":"external:visibleIds.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleIds.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"findProjectGroupForDirectory","symbolKind":"function","exported":false,"metadata":{"line":90,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:project.workspaceDirectories?.some",{"id":"external:project.workspaceDirectories?.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}}],["external:project.memberDirectories?.some",{"id":"external:project.memberDirectories?.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"project.memberDirectories?.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1256,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"SidePanel","symbolKind":"function","exported":true,"metadata":{"line":108,"column":1,"cyclomaticComplexity":196,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:savedDirectories\n .map",{"id":"external:savedDirectories\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedDirectories\n .map"}}],["symbol-name:useGitWorkspaceCatalog",{"id":"symbol-name:useGitWorkspaceCatalog","kind":"symbol","language":"jsts","symbolName":"useGitWorkspaceCatalog","metadata":{"unresolvedName":"useGitWorkspaceCatalog"}}],["external:element.getClientRects",{"id":"external:element.getClientRects","kind":"external","language":"jsts","metadata":{"unresolvedName":"element.getClientRects"}}],["symbol-name:getVisibleSelectionIds",{"id":"symbol-name:getVisibleSelectionIds","kind":"symbol","language":"jsts","symbolName":"getVisibleSelectionIds","metadata":{"unresolvedName":"getVisibleSelectionIds"}}],["symbol-name:setSelectedSessionIds",{"id":"symbol-name:setSelectedSessionIds","kind":"symbol","language":"jsts","symbolName":"setSelectedSessionIds","metadata":{"unresolvedName":"setSelectedSessionIds"}}],["symbol-name:getSelectionRange",{"id":"symbol-name:getSelectionRange","kind":"symbol","language":"jsts","symbolName":"getSelectionRange","metadata":{"unresolvedName":"getSelectionRange"}}],["symbol-name:setSelectedProjectIds",{"id":"symbol-name:setSelectedProjectIds","kind":"symbol","language":"jsts","symbolName":"setSelectedProjectIds","metadata":{"unresolvedName":"setSelectedProjectIds"}}],["symbol-name:setIsEditMode",{"id":"symbol-name:setIsEditMode","kind":"symbol","language":"jsts","symbolName":"setIsEditMode","metadata":{"unresolvedName":"setIsEditMode"}}],["symbol-name:useKeybindingLabel",{"id":"symbol-name:useKeybindingLabel","kind":"symbol","language":"jsts","symbolName":"useKeybindingLabel","metadata":{"unresolvedName":"useKeybindingLabel"}}],["external:projectsDropdownRef.current?.contains",{"id":"external:projectsDropdownRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectsDropdownRef.current?.contains"}}],["external:projectToggleRef.current?.focus",{"id":"external:projectToggleRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectToggleRef.current?.focus"}}],["symbol-name:useSessionContextUsage",{"id":"symbol-name:useSessionContextUsage","kind":"symbol","language":"jsts","symbolName":"useSessionContextUsage","metadata":{"unresolvedName":"useSessionContextUsage"}}],["symbol-name:useSessionStats",{"id":"symbol-name:useSessionStats","kind":"symbol","language":"jsts","symbolName":"useSessionStats","metadata":{"unresolvedName":"useSessionStats"}}],["symbol-name:useBusyCount",{"id":"symbol-name:useBusyCount","kind":"symbol","language":"jsts","symbolName":"useBusyCount","metadata":{"unresolvedName":"useBusyCount"}}],["external:childSessionStore.subscribe.bind",{"id":"external:childSessionStore.subscribe.bind","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.subscribe.bind"}}],["symbol-name:useUnreadNotificationCount",{"id":"symbol-name:useUnreadNotificationCount","kind":"symbol","language":"jsts","symbolName":"useUnreadNotificationCount","metadata":{"unresolvedName":"useUnreadNotificationCount"}}],["symbol-name:subscribeToConnectionState",{"id":"symbol-name:subscribeToConnectionState","kind":"symbol","language":"jsts","symbolName":"subscribeToConnectionState","metadata":{"unresolvedName":"subscribeToConnectionState"}}],["external:map.has",{"id":"external:map.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"map.has"}}],["external:notifications.map",{"id":"external:notifications.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"notifications.map"}}],["external:sessionLookup.has",{"id":"external:sessionLookup.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionLookup.has"}}],["external:allNeeded.push",{"id":"external:allNeeded.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"allNeeded.push"}}],["external:allNeeded.filter",{"id":"external:allNeeded.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"allNeeded.filter"}}],["external:missing.map",{"id":"external:missing.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"missing.map"}}],["symbol-name:getSession",{"id":"symbol-name:getSession","kind":"symbol","language":"jsts","symbolName":"getSession","metadata":{"unresolvedName":"getSession"}}],["external:Object.keys",{"id":"external:Object.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.keys"}}],["symbol-name:setFetchedSessions",{"id":"symbol-name:setFetchedSessions","kind":"symbol","language":"jsts","symbolName":"setFetchedSessions","metadata":{"unresolvedName":"setFetchedSessions"}}],["symbol-name:fetchMissing",{"id":"symbol-name:fetchMissing","kind":"symbol","language":"jsts","symbolName":"fetchMissing","metadata":{"unresolvedName":"fetchMissing"}}],["external:sessionLookup.get",{"id":"external:sessionLookup.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionLookup.get"}}],["external:rootSessionIds.has",{"id":"external:rootSessionIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootSessionIds.has"}}],["external:map.get",{"id":"external:map.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"map.get"}}],["external:arr.some",{"id":"external:arr.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"arr.some"}}],["external:arr.push",{"id":"external:arr.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"arr.push"}}],["symbol-name:add",{"id":"symbol-name:add","kind":"symbol","language":"jsts","symbolName":"add","metadata":{"unresolvedName":"add"}}],["external:directories.map",{"id":"external:directories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.map"}}],["external:gitWorkspaceCatalog.get",{"id":"external:gitWorkspaceCatalog.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitWorkspaceCatalog.get"}}],["external:groups.get",{"id":"external:groups.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.get"}}],["external:groups.set",{"id":"external:groups.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.set"}}],["external:savedNameByPath.get",{"id":"external:savedNameByPath.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedNameByPath.get"}}],["external:Array.from(groups.values()).map",{"id":"external:Array.from(groups.values()).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(groups.values()).map"}}],["external:groups.values",{"id":"external:groups.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.values"}}],["external:(project.memberDirectories ?? [])\n .map",{"id":"external:(project.memberDirectories ?? [])\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(project.memberDirectories ?? [])\n .map"}}],["external:project.workspaceDirectories.filter",{"id":"external:project.workspaceDirectories.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"project.workspaceDirectories.filter"}}],["external:savedWorkspaceDirectories.some",{"id":"external:savedWorkspaceDirectories.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedWorkspaceDirectories.some"}}],["symbol-name:buildProjectGroups",{"id":"symbol-name:buildProjectGroups","kind":"symbol","language":"jsts","symbolName":"buildProjectGroups","metadata":{"unresolvedName":"buildProjectGroups"}}],["external:[...savedDirectories].sort",{"id":"external:[...savedDirectories].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...savedDirectories].sort"}}],["symbol-name:findProjectGroupForDirectory",{"id":"symbol-name:findProjectGroupForDirectory","kind":"symbol","language":"jsts","symbolName":"findProjectGroupForDirectory","metadata":{"unresolvedName":"findProjectGroupForDirectory"}}],["external:list.some",{"id":"external:list.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"list.some"}}],["external:list.push",{"id":"external:list.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"list.push"}}],["external:gitWorkspaceCatalog.has",{"id":"external:gitWorkspaceCatalog.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitWorkspaceCatalog.has"}}],["external:(currentProject.memberDirectories ?? []).map",{"id":"external:(currentProject.memberDirectories ?? []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(currentProject.memberDirectories ?? []).map"}}],["external:currentProjectWorkspaceDirectories.map",{"id":"external:currentProjectWorkspaceDirectories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentProjectWorkspaceDirectories.map"}}],["external:draggableWorkspaceSet.has",{"id":"external:draggableWorkspaceSet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"draggableWorkspaceSet.has"}}],["external:allDisplayedProjects.find",{"id":"external:allDisplayedProjects.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"allDisplayedProjects.find"}}],["symbol-name:setProjectsExpanded",{"id":"symbol-name:setProjectsExpanded","kind":"symbol","language":"jsts","symbolName":"setProjectsExpanded","metadata":{"unresolvedName":"setProjectsExpanded"}}],["external:getProjectDirectoriesToRemove(projectId).forEach",{"id":"external:getProjectDirectoriesToRemove(projectId).forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"getProjectDirectoriesToRemove(projectId).forEach"}}],["symbol-name:getProjectDirectoriesToRemove",{"id":"symbol-name:getProjectDirectoriesToRemove","kind":"symbol","language":"jsts","symbolName":"getProjectDirectoriesToRemove","metadata":{"unresolvedName":"getProjectDirectoriesToRemove"}}],["symbol-name:removeDirectory",{"id":"symbol-name:removeDirectory","kind":"symbol","language":"jsts","symbolName":"removeDirectory","metadata":{"unresolvedName":"removeDirectory"}}],["external:folderProjects.find",{"id":"external:folderProjects.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderProjects.find"}}],["symbol-name:reorderDirectories",{"id":"symbol-name:reorderDirectories","kind":"symbol","language":"jsts","symbolName":"reorderDirectories","metadata":{"unresolvedName":"reorderDirectories"}}],["symbol-name:onCloseMobile",{"id":"symbol-name:onCloseMobile","kind":"symbol","language":"jsts","symbolName":"onCloseMobile","metadata":{"unresolvedName":"onCloseMobile"}}],["external:activeSessionTree.childrenByParent.get",{"id":"external:activeSessionTree.childrenByParent.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionTree.childrenByParent.get"}}],["external:childEntries.map",{"id":"external:childEntries.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"childEntries.map"}}],["symbol-name:renderActiveSessionNode",{"id":"symbol-name:renderActiveSessionNode","kind":"symbol","language":"jsts","symbolName":"renderActiveSessionNode","metadata":{"unresolvedName":"renderActiveSessionNode"}}],["symbol-name:deleteSession",{"id":"symbol-name:deleteSession","kind":"symbol","language":"jsts","symbolName":"deleteSession","metadata":{"unresolvedName":"deleteSession"}}],["symbol-name:onNewSession",{"id":"symbol-name:onNewSession","kind":"symbol","language":"jsts","symbolName":"onNewSession","metadata":{"unresolvedName":"onNewSession"}}],["symbol-name:setIsBatchDeleting",{"id":"symbol-name:setIsBatchDeleting","kind":"symbol","language":"jsts","symbolName":"setIsBatchDeleting","metadata":{"unresolvedName":"setIsBatchDeleting"}}],["external:selectedSessionIds.has",{"id":"external:selectedSessionIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedSessionIds.has"}}],["external:ids.map",{"id":"external:ids.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"ids.map"}}],["symbol-name:setBatchDeleteSessionConfirm",{"id":"symbol-name:setBatchDeleteSessionConfirm","kind":"symbol","language":"jsts","symbolName":"setBatchDeleteSessionConfirm","metadata":{"unresolvedName":"setBatchDeleteSessionConfirm"}}],["symbol-name:setBatchRemoveProjectConfirm",{"id":"symbol-name:setBatchRemoveProjectConfirm","kind":"symbol","language":"jsts","symbolName":"setBatchRemoveProjectConfirm","metadata":{"unresolvedName":"setBatchRemoveProjectConfirm"}}],["symbol-name:handleSelectProject",{"id":"symbol-name:handleSelectProject","kind":"symbol","language":"jsts","symbolName":"handleSelectProject","metadata":{"unresolvedName":"handleSelectProject"}}],["symbol-name:getParentPath",{"id":"symbol-name:getParentPath","kind":"symbol","language":"jsts","symbolName":"getParentPath","metadata":{"unresolvedName":"getParentPath"}}],["symbol-name:setProjectDeleteConfirm",{"id":"symbol-name:setProjectDeleteConfirm","kind":"symbol","language":"jsts","symbolName":"setProjectDeleteConfirm","metadata":{"unresolvedName":"setProjectDeleteConfirm"}}],["symbol-name:setSearch",{"id":"symbol-name:setSearch","kind":"symbol","language":"jsts","symbolName":"setSearch","metadata":{"unresolvedName":"setSearch"}}],["symbol-name:setSidebarTab",{"id":"symbol-name:setSidebarTab","kind":"symbol","language":"jsts","symbolName":"setSidebarTab","metadata":{"unresolvedName":"setSidebarTab"}}],["symbol-name:exitEditMode",{"id":"symbol-name:exitEditMode","kind":"symbol","language":"jsts","symbolName":"exitEditMode","metadata":{"unresolvedName":"exitEditMode"}}],["external:activeSessionTree.rootEntries.map",{"id":"external:activeSessionTree.rootEntries.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionTree.rootEntries.map"}}],["external:notificationStore.markAllRead",{"id":"external:notificationStore.markAllRead","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.markAllRead"}}],["external:notificationStore.clearAll",{"id":"external:notificationStore.clearAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.clearAll"}}],["symbol-name:handleRemoveProject",{"id":"symbol-name:handleRemoveProject","kind":"symbol","language":"jsts","symbolName":"handleRemoveProject","metadata":{"unresolvedName":"handleRemoveProject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"fetchMissing","symbolKind":"function","exported":false,"metadata":{"line":314,"column":26,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","symbolName":"add","symbolKind":"function","exported":false,"metadata":{"line":361,"column":17,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","metadata":{"lineCount":352,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"clampSidebarWidth","symbolKind":"function","exported":false,"metadata":{"line":8,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":234,"column":45,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onOpen",{"id":"symbol-name:onOpen","kind":"symbol","language":"jsts","symbolName":"onOpen","metadata":{"unresolvedName":"onOpen"}}],["symbol-name:setProjectDialogKey",{"id":"symbol-name:setProjectDialogKey","kind":"symbol","language":"jsts","symbolName":"setProjectDialogKey","metadata":{"unresolvedName":"setProjectDialogKey"}}],["symbol-name:setIsProjectDialogOpen",{"id":"symbol-name:setIsProjectDialogOpen","kind":"symbol","language":"jsts","symbolName":"setIsProjectDialogOpen","metadata":{"unresolvedName":"setIsProjectDialogOpen"}}],["symbol-name:onProjectDialogClose",{"id":"symbol-name:onProjectDialogClose","kind":"symbol","language":"jsts","symbolName":"onProjectDialogClose","metadata":{"unresolvedName":"onProjectDialogClose"}}],["symbol-name:clampSidebarWidth",{"id":"symbol-name:clampSidebarWidth","kind":"symbol","language":"jsts","symbolName":"clampSidebarWidth","metadata":{"unresolvedName":"clampSidebarWidth"}}],["external:actions.setSidebarRequestedWidth",{"id":"external:actions.setSidebarRequestedWidth","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.setSidebarRequestedWidth"}}],["symbol-name:persistSidebarWidth",{"id":"symbol-name:persistSidebarWidth","kind":"symbol","language":"jsts","symbolName":"persistSidebarWidth","metadata":{"unresolvedName":"persistSidebarWidth"}}],["external:moveEvent.preventDefault",{"id":"external:moveEvent.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"moveEvent.preventDefault"}}],["symbol-name:setIsSwipingActive",{"id":"symbol-name:setIsSwipingActive","kind":"symbol","language":"jsts","symbolName":"setIsSwipingActive","metadata":{"unresolvedName":"setIsSwipingActive"}}],["symbol-name:setSwipeX",{"id":"symbol-name:setSwipeX","kind":"symbol","language":"jsts","symbolName":"setSwipeX","metadata":{"unresolvedName":"setSwipeX"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"handleMouseMove","symbolKind":"function","exported":false,"metadata":{"line":95,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"handleMouseUp","symbolKind":"function","exported":false,"metadata":{"line":108,"column":29,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"handleTouchMove","symbolKind":"function","exported":false,"metadata":{"line":134,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","symbolName":"handleTouchEnd","symbolKind":"function","exported":false,"metadata":{"line":149,"column":30,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"containsLeaf","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:containsLeaf",{"id":"symbol-name:containsLeaf","kind":"symbol","language":"jsts","symbolName":"containsLeaf","metadata":{"unresolvedName":"containsLeaf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitContainer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitContainer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"SplitContainer","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:renderLeaf",{"id":"symbol-name:renderLeaf","kind":"symbol","language":"jsts","symbolName":"renderLeaf","metadata":{"unresolvedName":"renderLeaf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"buildGridTemplate","symbolKind":"function","exported":false,"metadata":{"line":67,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(r * 100).toFixed",{"id":"external:(r * 100).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(r * 100).toFixed"}}],["external:((1 - r) * 100).toFixed",{"id":"external:((1 - r) * 100).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"((1 - r) * 100).toFixed"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"SplitNode","symbolKind":"function","exported":false,"metadata":{"line":72,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:buildGridTemplate",{"id":"symbol-name:buildGridTemplate","kind":"symbol","language":"jsts","symbolName":"buildGridTemplate","metadata":{"unresolvedName":"buildGridTemplate"}}],["symbol-name:applyRatio",{"id":"symbol-name:applyRatio","kind":"symbol","language":"jsts","symbolName":"applyRatio","metadata":{"unresolvedName":"applyRatio"}}],["external:paneLayoutStore.setRatio",{"id":"external:paneLayoutStore.setRatio","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.setRatio"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":105,"column":41,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"applyRatio","symbolKind":"function","exported":false,"metadata":{"line":90,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"onMove","symbolKind":"function","exported":false,"metadata":{"line":99,"column":22,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","symbolName":"onUp","symbolKind":"function","exported":false,"metadata":{"line":114,"column":20,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","metadata":{"lineCount":56,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","metadata":{"lineCount":47,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","metadata":{"lineCount":216,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","symbolName":"createMentionElement","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:formatMentionLabel",{"id":"symbol-name:formatMentionLabel","kind":"symbol","language":"jsts","symbolName":"formatMentionLabel","metadata":{"unresolvedName":"formatMentionLabel"}}],["external:span.addEventListener",{"id":"external:span.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"span.addEventListener"}}],["external:span.removeEventListener",{"id":"external:span.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"span.removeEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":20,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":34,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","symbolName":"cleanup","symbolKind":"function","exported":false,"metadata":{"line":47,"column":14,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/index.ts","metadata":{"lineCount":33,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","metadata":{"lineCount":85,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","metadata":{"lineCount":432,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":76,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(listDirectory).mockResolvedValue",{"id":"external:vi.mocked(listDirectory).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(listDirectory).mockResolvedValue"}}],["external:vi.mocked(searchFiles).mockResolvedValue",{"id":"external:vi.mocked(searchFiles).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(searchFiles).mockResolvedValue"}}],["external:expect(screen.getByText('planner')).toBeInTheDocument",{"id":"external:expect(screen.getByText('planner')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('planner')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('src').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('src').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('src').length).toBeGreaterThan"}}],["external:expect(screen.getAllByText('README.md').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('README.md').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('README.md').length).toBeGreaterThan"}}],["external:expect(onNavigate).toHaveBeenCalledWith",{"id":"external:expect(onNavigate).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onNavigate).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":377,"column":22,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:query.lastIndexOf",{"id":"external:query.lastIndexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.lastIndexOf"}}],["external:query.slice",{"id":"external:query.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.slice"}}],["symbol-name:setDynamicMaxHeight",{"id":"symbol-name:setDynamicMaxHeight","kind":"symbol","language":"jsts","symbolName":"setDynamicMaxHeight","metadata":{"unresolvedName":"setDynamicMaxHeight"}}],["external:parent.getBoundingClientRect",{"id":"external:parent.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"parent.getBoundingClientRect"}}],["external:window.visualViewport?.addEventListener",{"id":"external:window.visualViewport?.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.visualViewport?.addEventListener"}}],["external:window.visualViewport?.removeEventListener",{"id":"external:window.visualViewport?.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}}],["external:selectedEl.scrollIntoView",{"id":"external:selectedEl.scrollIntoView","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedEl.scrollIntoView"}}],["symbol-name:toAbsolutePath",{"id":"symbol-name:toAbsolutePath","kind":"symbol","language":"jsts","symbolName":"toAbsolutePath","metadata":{"unresolvedName":"toAbsolutePath"}}],["external:listDirectory(cleanPath, rootPath)\r\n .then",{"id":"external:listDirectory(cleanPath, rootPath)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"listDirectory(cleanPath, rootPath)\r\n .then"}}],["external:nodes.forEach",{"id":"external:nodes.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"nodes.forEach"}}],["external:n.name.toLowerCase().includes",{"id":"external:n.name.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"n.name.toLowerCase().includes"}}],["external:n.name.toLowerCase",{"id":"external:n.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"n.name.toLowerCase"}}],["external:folders.push",{"id":"external:folders.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"folders.push"}}],["symbol-name:createItem",{"id":"symbol-name:createItem","kind":"symbol","language":"jsts","symbolName":"createItem","metadata":{"unresolvedName":"createItem"}}],["external:agents\r\n .filter",{"id":"external:agents\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"agents\r\n .filter"}}],["external:a.name.toLowerCase().includes",{"id":"external:a.name.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}}],["external:a.name.toLowerCase",{"id":"external:a.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.name.toLowerCase"}}],["external:[...agentItems, ...folders, ...files].filter",{"id":"external:[...agentItems, ...folders, ...files].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...agentItems, ...folders, ...files].filter"}}],["external:excludeValues?.has",{"id":"external:excludeValues?.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"excludeValues?.has"}}],["external:allItems.findIndex",{"id":"external:allItems.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"allItems.findIndex"}}],["symbol-name:loadDirectory",{"id":"symbol-name:loadDirectory","kind":"symbol","language":"jsts","symbolName":"loadDirectory","metadata":{"unresolvedName":"loadDirectory"}}],["external:searchFiles(query, { limit: 20, directory: rootPath })\r\n .then",{"id":"external:searchFiles(query, { limit: 20, directory: rootPath })\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchFiles(query, { limit: 20, directory: rootPath })\r\n .then"}}],["external:paths.forEach",{"id":"external:paths.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"paths.forEach"}}],["symbol-name:getFileName",{"id":"symbol-name:getFileName","kind":"symbol","language":"jsts","symbolName":"getFileName","metadata":{"unresolvedName":"getFileName"}}],["external:fileItems.push",{"id":"external:fileItems.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileItems.push"}}],["external:agents\r\n .filter",{"id":"external:agents\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"agents\r\n .filter"}}],["external:[...agentItems, ...folders, ...fileItems].filter",{"id":"external:[...agentItems, ...folders, ...fileItems].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...agentItems, ...folders, ...fileItems].filter"}}],["external:normalizePath(currentPath).split",{"id":"external:normalizePath(currentPath).split","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizePath(currentPath).split"}}],["symbol-name:onNavigate",{"id":"symbol-name:onNavigate","kind":"symbol","language":"jsts","symbolName":"onNavigate","metadata":{"unresolvedName":"onNavigate"}}],["external:menuRef.current.contains",{"id":"external:menuRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"menuRef.current.contains"}}],["external:pathParts.slice",{"id":"external:pathParts.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"pathParts.slice"}}],["external:parentParts.join",{"id":"external:parentParts.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"parentParts.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"calculate","symbolKind":"function","exported":false,"metadata":{"line":76,"column":23,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"moveUp","symbolKind":"function","exported":false,"metadata":{"line":277,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"moveDown","symbolKind":"function","exported":false,"metadata":{"line":280,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:selectCurrent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:selectCurrent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"selectCurrent","symbolKind":"function","exported":false,"metadata":{"line":283,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:enterFolder",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:enterFolder","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"enterFolder","symbolKind":"function","exported":false,"metadata":{"line":289,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"goBack","symbolKind":"function","exported":false,"metadata":{"line":296,"column":15,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:setRestoreFolder",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:setRestoreFolder","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"setRestoreFolder","symbolKind":"function","exported":false,"metadata":{"line":305,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":314,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","symbolName":"TypeBadge","symbolKind":"function","exported":false,"metadata":{"line":416,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","metadata":{"lineCount":128,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","symbolName":"MentionTag","symbolKind":"function","exported":true,"metadata":{"line":33,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":119,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","symbolName":"RichText","symbolKind":"function","exported":true,"metadata":{"line":110,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseMentions",{"id":"symbol-name:parseMentions","kind":"symbol","language":"jsts","symbolName":"parseMentions","metadata":{"unresolvedName":"parseMentions"}}],["external:segments.map",{"id":"external:segments.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"segments.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","metadata":{"lineCount":340,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"useMention","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setMenuState",{"id":"symbol-name:setMenuState","kind":"symbol","language":"jsts","symbolName":"setMenuState","metadata":{"unresolvedName":"setMenuState"}}],["symbol-name:onMenuClose",{"id":"symbol-name:onMenuClose","kind":"symbol","language":"jsts","symbolName":"onMenuClose","metadata":{"unresolvedName":"onMenuClose"}}],["symbol-name:getPlainText",{"id":"symbol-name:getPlainText","kind":"symbol","language":"jsts","symbolName":"getPlainText","metadata":{"unresolvedName":"getPlainText"}}],["symbol-name:getSerializedText",{"id":"symbol-name:getSerializedText","kind":"symbol","language":"jsts","symbolName":"getSerializedText","metadata":{"unresolvedName":"getSerializedText"}}],["symbol-name:onTextChange",{"id":"symbol-name:onTextChange","kind":"symbol","language":"jsts","symbolName":"onTextChange","metadata":{"unresolvedName":"onTextChange"}}],["symbol-name:getCursorPosition",{"id":"symbol-name:getCursorPosition","kind":"symbol","language":"jsts","symbolName":"getCursorPosition","metadata":{"unresolvedName":"getCursorPosition"}}],["external:plainText.slice",{"id":"external:plainText.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"plainText.slice"}}],["symbol-name:rebuildEditorContent",{"id":"symbol-name:rebuildEditorContent","kind":"symbol","language":"jsts","symbolName":"rebuildEditorContent","metadata":{"unresolvedName":"rebuildEditorContent"}}],["symbol-name:setMentions",{"id":"symbol-name:setMentions","kind":"symbol","language":"jsts","symbolName":"setMentions","metadata":{"unresolvedName":"setMentions"}}],["external:editor.focus",{"id":"external:editor.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"editor.focus"}}],["symbol-name:moveCursorToEnd",{"id":"symbol-name:moveCursorToEnd","kind":"symbol","language":"jsts","symbolName":"moveCursorToEnd","metadata":{"unresolvedName":"moveCursorToEnd"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":297,"column":51,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"getPlainText","symbolKind":"function","exported":false,"metadata":{"line":190,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:el.classList.contains",{"id":"external:el.classList.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.classList.contains"}}],["external:el.childNodes.forEach",{"id":"external:el.childNodes.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.childNodes.forEach"}}],["external:editor.childNodes.forEach",{"id":"external:editor.childNodes.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"editor.childNodes.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"walk","symbolKind":"function","exported":false,"metadata":{"line":255,"column":16,"cyclomaticComplexity":10,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"getSerializedText","symbolKind":"function","exported":false,"metadata":{"line":215,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"getCursorPosition","symbolKind":"function","exported":false,"metadata":{"line":244,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:window.getSelection",{"id":"external:window.getSelection","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.getSelection"}}],["external:selection.getRangeAt",{"id":"external:selection.getRangeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"selection.getRangeAt"}}],["external:range.cloneRange",{"id":"external:range.cloneRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"range.cloneRange"}}],["external:preCaretRange.selectNodeContents",{"id":"external:preCaretRange.selectNodeContents","kind":"external","language":"jsts","metadata":{"unresolvedName":"preCaretRange.selectNodeContents"}}],["external:preCaretRange.setEnd",{"id":"external:preCaretRange.setEnd","kind":"external","language":"jsts","metadata":{"unresolvedName":"preCaretRange.setEnd"}}],["symbol-name:walk",{"id":"symbol-name:walk","kind":"symbol","language":"jsts","symbolName":"walk","metadata":{"unresolvedName":"walk"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"rebuildEditorContent","symbolKind":"function","exported":false,"metadata":{"line":288,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:editor.querySelectorAll('.mention-tag').forEach",{"id":"external:editor.querySelectorAll('.mention-tag').forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"editor.querySelectorAll('.mention-tag').forEach"}}],["external:editor.querySelectorAll",{"id":"external:editor.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"editor.querySelectorAll"}}],["external:mentionSpans.push",{"id":"external:mentionSpans.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentionSpans.push"}}],["external:span.cloneNode",{"id":"external:span.cloneNode","kind":"external","language":"jsts","metadata":{"unresolvedName":"span.cloneNode"}}],["external:editor.appendChild",{"id":"external:editor.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"editor.appendChild"}}],["external:document.createTextNode",{"id":"external:document.createTextNode","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createTextNode"}}],["symbol-name:createMentionElement",{"id":"symbol-name:createMentionElement","kind":"symbol","language":"jsts","symbolName":"createMentionElement","metadata":{"unresolvedName":"createMentionElement"}}],["external:afterText.trimStart",{"id":"external:afterText.trimStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"afterText.trimStart"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","symbolName":"moveCursorToEnd","symbolKind":"function","exported":false,"metadata":{"line":323,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:document.createRange",{"id":"external:document.createRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createRange"}}],["external:range.setStart",{"id":"external:range.setStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"range.setStart"}}],["external:range.setStartAfter",{"id":"external:range.setStartAfter","kind":"external","language":"jsts","metadata":{"unresolvedName":"range.setStartAfter"}}],["external:range.collapse",{"id":"external:range.collapse","kind":"external","language":"jsts","metadata":{"unresolvedName":"range.collapse"}}],["external:sel?.removeAllRanges",{"id":"external:sel?.removeAllRanges","kind":"external","language":"jsts","metadata":{"unresolvedName":"sel?.removeAllRanges"}}],["external:sel?.addRange",{"id":"external:sel?.addRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"sel?.addRange"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","metadata":{"lineCount":52,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":46,"column":57,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(normalizePath('foo\\\\bar//baz.ts')).toBe",{"id":"external:expect(normalizePath('foo\\\\bar//baz.ts')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(normalizePath('foo\\\\bar//baz.ts')).toBe"}}],["external:expect(getFileName('foo/bar/baz.ts')).toBe",{"id":"external:expect(getFileName('foo/bar/baz.ts')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getFileName('foo/bar/baz.ts')).toBe"}}],["external:expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe",{"id":"external:expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe"}}],["external:expect(toAbsolutePath('', '/workspace/project')).toBe",{"id":"external:expect(toAbsolutePath('', '/workspace/project')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toAbsolutePath('', '/workspace/project')).toBe"}}],["external:expect(toFileUrl('/workspace/project/src/app.ts')).toBe",{"id":"external:expect(toFileUrl('/workspace/project/src/app.ts')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toFileUrl('/workspace/project/src/app.ts')).toBe"}}],["external:expect(toFileUrl('C:/repo/app.ts')).toBe",{"id":"external:expect(toFileUrl('C:/repo/app.ts')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toFileUrl('C:/repo/app.ts')).toBe"}}],["symbol-name:serializeMention",{"id":"symbol-name:serializeMention","kind":"symbol","language":"jsts","symbolName":"serializeMention","metadata":{"unresolvedName":"serializeMention"}}],["external:expect(serialized).toBe",{"id":"external:expect(serialized).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(serialized).toBe"}}],["external:expect(formatMentionLabel('agent', 'planner')).toBe",{"id":"external:expect(formatMentionLabel('agent', 'planner')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatMentionLabel('agent', 'planner')).toBe"}}],["external:expect(parsed).toHaveLength",{"id":"external:expect(parsed).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsed).toHaveLength"}}],["external:expect(parsed[1]).toMatchObject",{"id":"external:expect(parsed[1]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsed[1]).toMatchObject"}}],["symbol-name:extractMentions",{"id":"symbol-name:extractMentions","kind":"symbol","language":"jsts","symbolName":"extractMentions","metadata":{"unresolvedName":"extractMentions"}}],["external:expect(stripMentions('Look [[file:src/app.ts]] here')).toBe",{"id":"external:expect(stripMentions('Look [[file:src/app.ts]] here')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(stripMentions('Look [[file:src/app.ts]] here')).toBe"}}],["symbol-name:stripMentions",{"id":"symbol-name:stripMentions","kind":"symbol","language":"jsts","symbolName":"stripMentions","metadata":{"unresolvedName":"stripMentions"}}],["external:'Look here'.trim",{"id":"external:'Look here'.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"'Look here'.trim"}}],["external:expect(detectMentionTrigger('hello @src/com', 14)).toEqual",{"id":"external:expect(detectMentionTrigger('hello @src/com', 14)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src/com', 14)).toEqual"}}],["external:expect(detectMentionTrigger('email@test.com', 14)).toBeNull",{"id":"external:expect(detectMentionTrigger('email@test.com', 14)).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(detectMentionTrigger('email@test.com', 14)).toBeNull"}}],["external:expect(detectMentionTrigger('hello @src com', 14)).toBeNull",{"id":"external:expect(detectMentionTrigger('hello @src com', 14)).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src com', 14)).toBeNull"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"normalizePath","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"getFileName","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:normalized.split",{"id":"external:normalized.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"toAbsolutePath","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:normalizePath(rootPath).replace",{"id":"external:normalizePath(rootPath).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizePath(rootPath).replace"}}],["external:normalizePath(relativePath).replace",{"id":"external:normalizePath(relativePath).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizePath(relativePath).replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"toFileUrl","symbolKind":"function","exported":true,"metadata":{"line":47,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"formatMentionLabel","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:type.charAt(0).toUpperCase",{"id":"external:type.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"type.charAt(0).toUpperCase"}}],["external:type.charAt",{"id":"external:type.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"type.charAt"}}],["external:type.slice",{"id":"external:type.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"type.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionShort",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionShort","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"formatMentionShort","symbolKind":"function","exported":true,"metadata":{"line":72,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"serializeMention","symbolKind":"function","exported":true,"metadata":{"line":79,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"parseMentions","symbolKind":"function","exported":true,"metadata":{"line":87,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getMentionPattern",{"id":"symbol-name:getMentionPattern","kind":"symbol","language":"jsts","symbolName":"getMentionPattern","metadata":{"unresolvedName":"getMentionPattern"}}],["external:pattern.exec",{"id":"external:pattern.exec","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern.exec"}}],["external:segments.push",{"id":"external:segments.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"segments.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"extractMentions","symbolKind":"function","exported":true,"metadata":{"line":127,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:mentions.push",{"id":"external:mentions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"mentions.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"stripMentions","symbolKind":"function","exported":true,"metadata":{"line":146,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:text.replace(getMentionPattern(), '').trim",{"id":"external:text.replace(getMentionPattern(), '').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.replace(getMentionPattern(), '').trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","symbolName":"detectMentionTrigger","symbolKind":"function","exported":true,"metadata":{"line":154,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:textBeforeCursor.lastIndexOf",{"id":"external:textBeforeCursor.lastIndexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"textBeforeCursor.lastIndexOf"}}],["external:textBeforeCursor.slice",{"id":"external:textBeforeCursor.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"textBeforeCursor.slice"}}],["external:textAfterTrigger.includes",{"id":"external:textAfterTrigger.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"textAfterTrigger.includes"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/index.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","metadata":{"lineCount":168,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","metadata":{"lineCount":1048,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createAssistantMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createAssistantMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","symbolName":"createAssistantMessage","symbolKind":"function","exported":false,"metadata":{"line":44,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","symbolName":"createUserMessage","symbolKind":"function","exported":false,"metadata":{"line":78,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":151,"column":55,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(onFork).toHaveBeenCalledWith",{"id":"external:expect(onFork).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onFork).toHaveBeenCalledWith"}}],["external:expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull",{"id":"external:expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull"}}],["external:expect(screen.queryByRole('button', { name: /copy/i })).toBeNull",{"id":"external:expect(screen.queryByRole('button', { name: /copy/i })).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /copy/i })).toBeNull"}}],["external:expect(screen.getByText('History compacted')).toBeInTheDocument",{"id":"external:expect(screen.getByText('History compacted')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('History compacted')).toBeInTheDocument"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","metadata":{"lineCount":80,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":622,"column":13,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"useEntryGrowAnimation","symbolKind":"function","exported":false,"metadata":{"line":99,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expandedMessages.has",{"id":"external:expandedMessages.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedMessages.has"}}],["external:overflowStateCache.get",{"id":"external:overflowStateCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"overflowStateCache.get"}}],["external:overflowStateCache.set",{"id":"external:overflowStateCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"overflowStateCache.set"}}],["symbol-name:setIsOverflow",{"id":"symbol-name:setIsOverflow","kind":"symbol","language":"jsts","symbolName":"setIsOverflow","metadata":{"unresolvedName":"setIsOverflow"}}],["external:document.fonts?.ready?.then",{"id":"external:document.fonts?.ready?.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.fonts?.ready?.then"}}],["external:expandedMessages.add",{"id":"external:expandedMessages.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedMessages.add"}}],["external:expandedMessages.delete",{"id":"external:expandedMessages.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedMessages.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"measure","symbolKind":"function","exported":false,"metadata":{"line":145,"column":21,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setIsForking",{"id":"symbol-name:setIsForking","kind":"symbol","language":"jsts","symbolName":"setIsForking","metadata":{"unresolvedName":"setIsForking"}}],["symbol-name:onFork",{"id":"symbol-name:onFork","kind":"symbol","language":"jsts","symbolName":"onFork","metadata":{"unresolvedName":"onFork"}}],["symbol-name:handleFork",{"id":"symbol-name:handleFork","kind":"symbol","language":"jsts","symbolName":"handleFork","metadata":{"unresolvedName":"handleFork"}}],["symbol-name:useEntryGrowAnimation",{"id":"symbol-name:useEntryGrowAnimation","kind":"symbol","language":"jsts","symbolName":"useEntryGrowAnimation","metadata":{"unresolvedName":"useEntryGrowAnimation"}}],["external:fileParts.map",{"id":"external:fileParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileParts.map"}}],["external:agentParts.map",{"id":"external:agentParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"agentParts.map"}}],["symbol-name:setShowSystemContext",{"id":"symbol-name:setShowSystemContext","kind":"symbol","language":"jsts","symbolName":"setShowSystemContext","metadata":{"unresolvedName":"setShowSystemContext"}}],["external:syntheticParts.map",{"id":"external:syntheticParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"syntheticParts.map"}}],["external:compactionParts.map",{"id":"external:compactionParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"compactionParts.map"}}],["symbol-name:onUndo",{"id":"symbol-name:onUndo","kind":"symbol","language":"jsts","symbolName":"onUndo","metadata":{"unresolvedName":"onUndo"}}],["symbol-name:onEnsureParts",{"id":"symbol-name:onEnsureParts","kind":"symbol","language":"jsts","symbolName":"onEnsureParts","metadata":{"unresolvedName":"onEnsureParts"}}],["symbol-name:groupPartsForRender",{"id":"symbol-name:groupPartsForRender","kind":"symbol","language":"jsts","symbolName":"groupPartsForRender","metadata":{"unresolvedName":"groupPartsForRender"}}],["external:ended.add",{"id":"external:ended.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"ended.add"}}],["external:parts\n .filter",{"id":"external:parts\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts\n .filter"}}],["external:fullText.trim",{"id":"external:fullText.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"fullText.trim"}}],["external:parts.some",{"id":"external:parts.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.some"}}],["external:renderItems.map",{"id":"external:renderItems.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderItems.map"}}],["external:renderItems.findLastIndex",{"id":"external:renderItems.findLastIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"renderItems.findLastIndex"}}],["external:endedReasoningIds.has",{"id":"external:endedReasoningIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"endedReasoningIds.has"}}],["symbol-name:formatDuration",{"id":"symbol-name:formatDuration","kind":"symbol","language":"jsts","symbolName":"formatDuration","metadata":{"unresolvedName":"formatDuration"}}],["symbol-name:formatDetailedDateTime",{"id":"symbol-name:formatDetailedDateTime","kind":"symbol","language":"jsts","symbolName":"formatDetailedDateTime","metadata":{"unresolvedName":"formatDetailedDateTime"}}],["symbol-name:formatCompletedAt",{"id":"symbol-name:formatCompletedAt","kind":"symbol","language":"jsts","symbolName":"formatCompletedAt","metadata":{"unresolvedName":"formatCompletedAt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"isReadableTool","symbolKind":"function","exported":false,"metadata":{"line":559,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:READABLE_TOOL_PATTERNS.test",{"id":"external:READABLE_TOOL_PATTERNS.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"READABLE_TOOL_PATTERNS.test"}}],["external:toolName.toLowerCase",{"id":"external:toolName.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolName.toLowerCase"}}],["symbol-name:useInlineToolRequests",{"id":"symbol-name:useInlineToolRequests","kind":"symbol","language":"jsts","symbolName":"useInlineToolRequests","metadata":{"unresolvedName":"useInlineToolRequests"}}],["symbol-name:getTaskChildSessionId",{"id":"symbol-name:getTaskChildSessionId","kind":"symbol","language":"jsts","symbolName":"getTaskChildSessionId","metadata":{"unresolvedName":"getTaskChildSessionId"}}],["symbol-name:findPermissionRequestForTool",{"id":"symbol-name:findPermissionRequestForTool","kind":"symbol","language":"jsts","symbolName":"findPermissionRequestForTool","metadata":{"unresolvedName":"findPermissionRequestForTool"}}],["symbol-name:findQuestionRequestForTool",{"id":"symbol-name:findQuestionRequestForTool","kind":"symbol","language":"jsts","symbolName":"findQuestionRequestForTool","metadata":{"unresolvedName":"findQuestionRequestForTool"}}],["symbol-name:buildDescriptiveToolStepsSummary",{"id":"symbol-name:buildDescriptiveToolStepsSummary","kind":"symbol","language":"jsts","symbolName":"buildDescriptiveToolStepsSummary","metadata":{"unresolvedName":"buildDescriptiveToolStepsSummary"}}],["symbol-name:extractToolData",{"id":"symbol-name:extractToolData","kind":"symbol","language":"jsts","symbolName":"extractToolData","metadata":{"unresolvedName":"extractToolData"}}],["symbol-name:computePartDiffStats",{"id":"symbol-name:computePartDiffStats","kind":"symbol","language":"jsts","symbolName":"computePartDiffStats","metadata":{"unresolvedName":"computePartDiffStats"}}],["symbol-name:isReadableTool",{"id":"symbol-name:isReadableTool","kind":"symbol","language":"jsts","symbolName":"isReadableTool","metadata":{"unresolvedName":"isReadableTool"}}],["external:stepsSummary?.map",{"id":"external:stepsSummary?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"stepsSummary?.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"formatTokens","symbolKind":"function","exported":false,"metadata":{"line":760,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:(total / 1000).toFixed",{"id":"external:(total / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(total / 1000).toFixed"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"buildDescriptiveToolStepsSummary","symbolKind":"function","exported":false,"metadata":{"line":799,"column":1,"cyclomaticComplexity":31,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getToolSummaryCategory",{"id":"symbol-name:getToolSummaryCategory","kind":"symbol","language":"jsts","symbolName":"getToolSummaryCategory","metadata":{"unresolvedName":"getToolSummaryCategory"}}],["external:doneMap.has",{"id":"external:doneMap.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"doneMap.has"}}],["external:categoryOrder.push",{"id":"external:categoryOrder.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"categoryOrder.push"}}],["external:doneMap.set",{"id":"external:doneMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"doneMap.set"}}],["external:failedMap.set",{"id":"external:failedMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"failedMap.set"}}],["external:activeMap.set",{"id":"external:activeMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeMap.set"}}],["external:doneMap.get",{"id":"external:doneMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"doneMap.get"}}],["external:failedMap.get",{"id":"external:failedMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"failedMap.get"}}],["symbol-name:isToolPartActive",{"id":"symbol-name:isToolPartActive","kind":"symbol","language":"jsts","symbolName":"isToolPartActive","metadata":{"unresolvedName":"isToolPartActive"}}],["external:activeMap.get",{"id":"external:activeMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeMap.get"}}],["external:categoryOrder.filter",{"id":"external:categoryOrder.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"categoryOrder.filter"}}],["symbol-name:formatToolSummarySegment",{"id":"symbol-name:formatToolSummarySegment","kind":"symbol","language":"jsts","symbolName":"formatToolSummarySegment","metadata":{"unresolvedName":"formatToolSummarySegment"}}],["symbol-name:pushFinishedSegments",{"id":"symbol-name:pushFinishedSegments","kind":"symbol","language":"jsts","symbolName":"pushFinishedSegments","metadata":{"unresolvedName":"pushFinishedSegments"}}],["external:finishedCategories.slice",{"id":"external:finishedCategories.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"finishedCategories.slice"}}],["external:finishedCategories\n .slice(MAX_CATEGORIES)\n .reduce",{"id":"external:finishedCategories\n .slice(MAX_CATEGORIES)\n .reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"finishedCategories\n .slice(MAX_CATEGORIES)\n .reduce"}}],["external:finishedCategories\n .slice",{"id":"external:finishedCategories\n .slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"finishedCategories\n .slice"}}],["external:seg.text.charAt(0).toLowerCase",{"id":"external:seg.text.charAt(0).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"seg.text.charAt(0).toLowerCase"}}],["external:seg.text.charAt",{"id":"external:seg.text.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"seg.text.charAt"}}],["external:seg.text.slice",{"id":"external:seg.text.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"seg.text.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"pushFinishedSegments","symbolKind":"function","exported":false,"metadata":{"line":830,"column":32,"cyclomaticComplexity":9,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"formatToolSummarySegment","symbolKind":"function","exported":false,"metadata":{"line":890,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:phase.charAt(0).toUpperCase",{"id":"external:phase.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"phase.charAt(0).toUpperCase"}}],["external:phase.charAt",{"id":"external:phase.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"phase.charAt"}}],["external:phase.slice",{"id":"external:phase.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"phase.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"getToolSummaryCategory","symbolKind":"function","exported":false,"metadata":{"line":900,"column":1,"cyclomaticComplexity":31,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:lower.includes",{"id":"external:lower.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"lower.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isToolPartActive",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isToolPartActive","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"isToolPartActive","symbolKind":"function","exported":false,"metadata":{"line":939,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getTaskChildSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getTaskChildSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"getTaskChildSessionId","symbolKind":"function","exported":false,"metadata":{"line":943,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:part.tool.toLowerCase",{"id":"external:part.tool.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.tool.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"computePartDiffStats","symbolKind":"function","exported":false,"metadata":{"line":950,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:diffPairStats",{"id":"symbol-name:diffPairStats","kind":"symbol","language":"jsts","symbolName":"diffPairStats","metadata":{"unresolvedName":"diffPairStats"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"diffPairStats","symbolKind":"function","exported":false,"metadata":{"line":975,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"hasMoreToolsAhead","symbolKind":"function","exported":false,"metadata":{"line":995,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"groupPartsForRender","symbolKind":"function","exported":false,"metadata":{"line":1007,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isToolPart",{"id":"symbol-name:isToolPart","kind":"symbol","language":"jsts","symbolName":"isToolPart","metadata":{"unresolvedName":"isToolPart"}}],["external:toolGroup.push",{"id":"external:toolGroup.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolGroup.push"}}],["symbol-name:hasMoreToolsAhead",{"id":"symbol-name:hasMoreToolsAhead","kind":"symbol","language":"jsts","symbolName":"hasMoreToolsAhead","metadata":{"unresolvedName":"hasMoreToolsAhead"}}],["symbol-name:flushToolGroup",{"id":"symbol-name:flushToolGroup","kind":"symbol","language":"jsts","symbolName":"flushToolGroup","metadata":{"unresolvedName":"flushToolGroup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","symbolName":"flushToolGroup","symbolKind":"function","exported":false,"metadata":{"line":1012,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","metadata":{"lineCount":51,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":43,"column":43,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:fromFilePart",{"id":"symbol-name:fromFilePart","kind":"symbol","language":"jsts","symbolName":"fromFilePart","metadata":{"unresolvedName":"fromFilePart"}}],["symbol-name:fromAgentPart",{"id":"symbol-name:fromAgentPart","kind":"symbol","language":"jsts","symbolName":"fromAgentPart","metadata":{"unresolvedName":"fromAgentPart"}}],["symbol-name:fromTextPart",{"id":"symbol-name:fromTextPart","kind":"symbol","language":"jsts","symbolName":"fromTextPart","metadata":{"unresolvedName":"fromTextPart"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/index.ts","metadata":{"lineCount":9,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","metadata":{"lineCount":133,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":37,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getErrorInfo",{"id":"symbol-name:getErrorInfo","kind":"symbol","language":"jsts","symbolName":"getErrorInfo","metadata":{"unresolvedName":"getErrorInfo"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","symbolName":"getErrorInfo","symbolKind":"function","exported":false,"metadata":{"line":83,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","metadata":{"lineCount":92,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","metadata":{"lineCount":260,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":76,"column":59,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument"}}],["external:expect(screen.getByText('Thinking...')).toBeInTheDocument",{"id":"external:expect(screen.getByText('Thinking...')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('Thinking...')).toBeInTheDocument"}}],["external:expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan"}}],["external:expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument"}}],["external:expect(screen.getByTestId('markdown-content')).toHaveTextContent",{"id":"external:expect(screen.getByTestId('markdown-content')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('markdown-content')).toHaveTextContent"}}],["external:expect(screen.queryByRole('button')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByRole('button')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByRole('button')).not.toBeInTheDocument"}}],["external:expect(screen.getAllByText('short').length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText('short').length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText('short').length).toBeGreaterThan"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":97,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:rawText.trim",{"id":"external:rawText.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawText.trim"}}],["external:(displayText || '').replace(/\\s+/g, ' ').trim",{"id":"external:(displayText || '').replace(/\\s+/g, ' ').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"(displayText || '').replace(/\\s+/g, ' ').trim"}}],["external:(displayText || '').replace",{"id":"external:(displayText || '').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(displayText || '').replace"}}],["external:(durationMs / 1000).toFixed",{"id":"external:(durationMs / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(durationMs / 1000).toFixed"}}],["external:/[\\r\\n]/.test",{"id":"external:/[\\r\\n]/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/[\\r\\n]/.test"}}],["symbol-name:setSummaryOverflow",{"id":"symbol-name:setSummaryOverflow","kind":"symbol","language":"jsts","symbolName":"setSummaryOverflow","metadata":{"unresolvedName":"setSummaryOverflow"}}],["symbol-name:measureSummaryOverflow",{"id":"symbol-name:measureSummaryOverflow","kind":"symbol","language":"jsts","symbolName":"measureSummaryOverflow","metadata":{"unresolvedName":"measureSummaryOverflow"}}],["external:fontsReady.then(() => measureSummaryOverflow()).catch",{"id":"external:fontsReady.then(() => measureSummaryOverflow()).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"fontsReady.then(() => measureSummaryOverflow()).catch"}}],["external:fontsReady.then",{"id":"external:fontsReady.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fontsReady.then"}}],["external:ro?.disconnect",{"id":"external:ro?.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"ro?.disconnect"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","metadata":{"lineCount":88,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":27,"column":40,"cyclomaticComplexity":42,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:formatNumber",{"id":"symbol-name:formatNumber","kind":"symbol","language":"jsts","symbolName":"formatNumber","metadata":{"unresolvedName":"formatNumber"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","metadata":{"lineCount":174,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":89,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSessionNavigation",{"id":"symbol-name:useSessionNavigation","kind":"symbol","language":"jsts","symbolName":"useSessionNavigation","metadata":{"unresolvedName":"useSessionNavigation"}}],["symbol-name:useChildSessions",{"id":"symbol-name:useChildSessions","kind":"symbol","language":"jsts","symbolName":"useChildSessions","metadata":{"unresolvedName":"useChildSessions"}}],["symbol-name:findMatchingChildSession",{"id":"symbol-name:findMatchingChildSession","kind":"symbol","language":"jsts","symbolName":"findMatchingChildSession","metadata":{"unresolvedName":"findMatchingChildSession"}}],["symbol-name:navigateToSession",{"id":"symbol-name:navigateToSession","kind":"symbol","language":"jsts","symbolName":"navigateToSession","metadata":{"unresolvedName":"navigateToSession"}}],["symbol-name:handleEnter",{"id":"symbol-name:handleEnter","kind":"symbol","language":"jsts","symbolName":"handleEnter","metadata":{"unresolvedName":"handleEnter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","symbolName":"handleEnter","symbolKind":"function","exported":false,"metadata":{"line":39,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","symbolName":"findMatchingChildSession","symbolKind":"function","exported":false,"metadata":{"line":161,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:childSessions.filter",{"id":"external:childSessions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessions.filter"}}],["external:matchingAgent.sort",{"id":"external:matchingAgent.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"matchingAgent.sort"}}],["external:childSessions.sort",{"id":"external:childSessions.sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessions.sort"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","metadata":{"lineCount":70,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","metadata":{"lineCount":146,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":62,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(toggle).toHaveAttribute",{"id":"external:expect(toggle).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(toggle).toHaveAttribute"}}],["external:expect(screen.getByText('network timeout')).toBeInTheDocument",{"id":"external:expect(screen.getByText('network timeout')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('network timeout')).toBeInTheDocument"}}],["external:expect(screen.getByText('src/app.tsx')).toBeInTheDocument",{"id":"external:expect(screen.getByText('src/app.tsx')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('src/app.tsx')).toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":100,"column":35,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:new Date(time.created).toLocaleTimeString",{"id":"external:new Date(time.created).toLocaleTimeString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(time.created).toLocaleTimeString"}}],["external:hash.slice",{"id":"external:hash.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"hash.slice"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","metadata":{"lineCount":28,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":13,"column":34,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:displayText.trim",{"id":"external:displayText.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"displayText.trim"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","metadata":{"lineCount":135,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","metadata":{"lineCount":535,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","symbolName":"t","symbolKind":"function","exported":false,"metadata":{"line":12,"column":8,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","symbolName":"createRunningToolPart","symbolKind":"function","exported":false,"metadata":{"line":69,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":127,"column":65,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.setSystemTime",{"id":"external:vi.setSystemTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.setSystemTime"}}],["external:getActiveCalibratedNowMock.mockReset",{"id":"external:getActiveCalibratedNowMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReset"}}],["external:getActiveCalibratedNowMock.mockReturnValue",{"id":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}}],["symbol-name:createRunningToolPart",{"id":"symbol-name:createRunningToolPart","kind":"symbol","language":"jsts","symbolName":"createRunningToolPart","metadata":{"unresolvedName":"createRunningToolPart"}}],["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:expect(screen.getByText('2.5s')).toBeInTheDocument",{"id":"external:expect(screen.getByText('2.5s')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('2.5s')).toBeInTheDocument"}}],["external:expect(screen.getByText('3.0s')).toBeInTheDocument",{"id":"external:expect(screen.getByText('3.0s')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('3.0s')).toBeInTheDocument"}}],["external:expect(screen.getByText('3.5s')).toBeInTheDocument",{"id":"external:expect(screen.getByText('3.5s')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('3.5s')).toBeInTheDocument"}}],["external:expect(screen.getByText('0ms')).toBeInTheDocument",{"id":"external:expect(screen.getByText('0ms')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('0ms')).toBeInTheDocument"}}],["external:expect(screen.getByText('123ms')).toBeInTheDocument",{"id":"external:expect(screen.getByText('123ms')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('123ms')).toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":499,"column":23,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getInputDescription",{"id":"symbol-name:getInputDescription","kind":"symbol","language":"jsts","symbolName":"getInputDescription","metadata":{"unresolvedName":"getInputDescription"}}],["external:serverStore.getActiveCalibratedNow",{"id":"external:serverStore.getActiveCalibratedNow","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}}],["symbol-name:setCachedPermissionRequest",{"id":"symbol-name:setCachedPermissionRequest","kind":"symbol","language":"jsts","symbolName":"setCachedPermissionRequest","metadata":{"unresolvedName":"setCachedPermissionRequest"}}],["symbol-name:getToolIcon",{"id":"symbol-name:getToolIcon","kind":"symbol","language":"jsts","symbolName":"getToolIcon","metadata":{"unresolvedName":"getToolIcon"}}],["symbol-name:computeDiffStatsFromData",{"id":"symbol-name:computeDiffStatsFromData","kind":"symbol","language":"jsts","symbolName":"computeDiffStatsFromData","metadata":{"unresolvedName":"computeDiffStatsFromData"}}],["symbol-name:formatToolName",{"id":"symbol-name:formatToolName","kind":"symbol","language":"jsts","symbolName":"formatToolName","metadata":{"unresolvedName":"formatToolName"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"isReadableTool","symbolKind":"function","exported":false,"metadata":{"line":450,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"computeDiffStatsFromData","symbolKind":"function","exported":false,"metadata":{"line":455,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:computeDiffPair",{"id":"symbol-name:computeDiffPair","kind":"symbol","language":"jsts","symbolName":"computeDiffPair","metadata":{"unresolvedName":"computeDiffPair"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"computeDiffPair","symbolKind":"function","exported":false,"metadata":{"line":484,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tool.toLowerCase",{"id":"external:tool.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"tool.toLowerCase"}}],["external:lowerTool.includes",{"id":"external:lowerTool.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"lowerTool.includes"}}],["symbol-name:hasTodos",{"id":"symbol-name:hasTodos","kind":"symbol","language":"jsts","symbolName":"hasTodos","metadata":{"unresolvedName":"hasTodos"}}],["symbol-name:getToolConfig",{"id":"symbol-name:getToolConfig","kind":"symbol","language":"jsts","symbolName":"getToolConfig","metadata":{"unresolvedName":"getToolConfig"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getTaskChildSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getTaskChildSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"getTaskChildSessionId","symbolKind":"function","exported":false,"metadata":{"line":520,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getInputDescription",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getInputDescription","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","symbolName":"getInputDescription","symbolKind":"function","exported":false,"metadata":{"line":527,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","metadata":{"lineCount":46,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:wrapTool",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:wrapTool","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","symbolName":"wrapTool","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":30,"column":10,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/index.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","metadata":{"lineCount":46,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","metadata":{"lineCount":366,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":6,"column":54,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:defaultExtractData",{"id":"symbol-name:defaultExtractData","kind":"symbol","language":"jsts","symbolName":"defaultExtractData","metadata":{"unresolvedName":"defaultExtractData"}}],["external:expect(extracted.files).toEqual",{"id":"external:expect(extracted.files).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extracted.files).toEqual"}}],["external:expect(extracted.diagnostics).toEqual",{"id":"external:expect(extracted.diagnostics).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extracted.diagnostics).toEqual"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","metadata":{"lineCount":91,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":32,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:keywords.some",{"id":"external:keywords.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"keywords.some"}}],["external:names.some",{"id":"external:names.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"names.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"defaultExtractData","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":62,"maxNestingDepth":6,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(metadata.files as MetadataFileEntry[]).map",{"id":"external:(metadata.files as MetadataFileEntry[]).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(metadata.files as MetadataFileEntry[]).map"}}],["external:diagnostics.push",{"id":"external:diagnostics.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"diagnostics.push"}}],["external:file.split(/[/\\\\]/).pop",{"id":"external:file.split(/[/\\\\]/).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.split(/[/\\\\]/).pop"}}],["external:file.split",{"id":"external:file.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.split"}}],["external:diagnostics.filter",{"id":"external:diagnostics.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"diagnostics.filter"}}],["external:result.output.trim",{"id":"external:result.output.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.output.trim"}}],["external:trimmed.startsWith",{"id":"external:trimmed.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.startsWith"}}],["external:trimmed.endsWith",{"id":"external:trimmed.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.endsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"bashExtractData","symbolKind":"function","exported":false,"metadata":{"line":203,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:cwd.trim",{"id":"external:cwd.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"cwd.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"readExtractData","symbolKind":"function","exported":false,"metadata":{"line":221,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:str.match",{"id":"external:str.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"str.match"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:writeExtractData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:writeExtractData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"writeExtractData","symbolKind":"function","exported":false,"metadata":{"line":233,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"editExtractData","symbolKind":"function","exported":false,"metadata":{"line":249,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"getToolConfig","symbolKind":"function","exported":true,"metadata":{"line":344,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:toolRegistry.find",{"id":"external:toolRegistry.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolRegistry.find"}}],["external:config.match",{"id":"external:config.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.match"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"getToolIcon","symbolKind":"function","exported":true,"metadata":{"line":351,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","symbolName":"extractToolData","symbolKind":"function","exported":true,"metadata":{"line":359,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:config.extractData",{"id":"external:config.extractData","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.extractData"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","metadata":{"lineCount":316,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","metadata":{"lineCount":141,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"BashRenderer","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:data.input?.trim",{"id":"external:data.input?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.input?.trim"}}],["external:data.output?.trim",{"id":"external:data.output?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.output?.trim"}}],["external:data.cwd?.trim",{"id":"external:data.cwd?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.cwd?.trim"}}],["symbol-name:parseAnsi",{"id":"symbol-name:parseAnsi","kind":"symbol","language":"jsts","symbolName":"parseAnsi","metadata":{"unresolvedName":"parseAnsi"}}],["symbol-name:surface",{"id":"symbol-name:surface","kind":"symbol","language":"jsts","symbolName":"surface","metadata":{"unresolvedName":"surface"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":296,"column":21,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalSurface",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalSurface","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"TerminalSurface","symbolKind":"function","exported":false,"metadata":{"line":82,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"WorkingDirectoryPrompt","symbolKind":"function","exported":false,"metadata":{"line":171,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:truncatePromptPath",{"id":"symbol-name:truncatePromptPath","kind":"symbol","language":"jsts","symbolName":"truncatePromptPath","metadata":{"unresolvedName":"truncatePromptPath"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"truncatePromptPath","symbolKind":"function","exported":false,"metadata":{"line":206,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path.includes",{"id":"external:path.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.includes"}}],["external:path.split(/[\\\\/]+/).filter",{"id":"external:path.split(/[\\\\/]+/).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split(/[\\\\/]+/).filter"}}],["external:segments.slice(-2).join",{"id":"external:segments.slice(-2).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"segments.slice(-2).join"}}],["external:segments.slice",{"id":"external:segments.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"segments.slice"}}],["external:root.endsWith",{"id":"external:root.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.endsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"ClickToCopyCommand","symbolKind":"function","exported":false,"metadata":{"line":222,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"HighlightedCommand","symbolKind":"function","exported":false,"metadata":{"line":253,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tokens.map",{"id":"external:tokens.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokens.map"}}],["external:line.map",{"id":"external:line.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"line.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalCursor",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalCursor","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"TerminalCursor","symbolKind":"function","exported":false,"metadata":{"line":280,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:AnsiOutput",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:AnsiOutput","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","symbolName":"AnsiOutput","symbolKind":"function","exported":false,"metadata":{"line":293,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","metadata":{"lineCount":233,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"DefaultRenderer","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"OutputBlock","symbolKind":"function","exported":false,"metadata":{"line":79,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:data.files.map",{"id":"external:data.files.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.files.map"}}],["symbol-name:formatLabel",{"id":"symbol-name:formatLabel","kind":"symbol","language":"jsts","symbolName":"formatLabel","metadata":{"unresolvedName":"formatLabel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:FileResultIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:FileResultIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"FileResultIcon","symbolKind":"function","exported":false,"metadata":{"line":156,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":166,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"DiagnosticsBlock","symbolKind":"function","exported":false,"metadata":{"line":181,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:diagnostics.map",{"id":"external:diagnostics.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"diagnostics.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","symbolName":"formatLabel","symbolKind":"function","exported":false,"metadata":{"line":225,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:name\r\n .split(/[_-]/)\r\n .map",{"id":"external:name\r\n .split(/[_-]/)\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\r\n .split(/[_-]/)\r\n .map"}}],["external:name\r\n .split",{"id":"external:name\r\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\r\n .split"}}],["external:word.charAt(0).toUpperCase",{"id":"external:word.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"word.charAt(0).toUpperCase"}}],["external:word.charAt",{"id":"external:word.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"word.charAt"}}],["external:word.slice(1).toLowerCase",{"id":"external:word.slice(1).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"word.slice(1).toLowerCase"}}],["external:word.slice",{"id":"external:word.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"word.slice"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/index.ts","metadata":{"lineCount":7,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","metadata":{"lineCount":244,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"QuestionRenderer","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:buildQAList",{"id":"symbol-name:buildQAList","kind":"symbol","language":"jsts","symbolName":"buildQAList","metadata":{"unresolvedName":"buildQAList"}}],["external:qaList.map",{"id":"external:qaList.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"qaList.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":90,"column":25,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"AnsweredQuestion","symbolKind":"function","exported":false,"metadata":{"line":79,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:qa.options.map",{"id":"external:qa.options.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"qa.options.map"}}],["external:qa.answers.includes",{"id":"external:qa.answers.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"qa.answers.includes"}}],["external:qa.answers\r\n .filter",{"id":"external:qa.answers\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"qa.answers\r\n .filter"}}],["external:qa.options.some",{"id":"external:qa.options.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"qa.options.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"buildQAList","symbolKind":"function","exported":false,"metadata":{"line":139,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:extractQuestions",{"id":"symbol-name:extractQuestions","kind":"symbol","language":"jsts","symbolName":"extractQuestions","metadata":{"unresolvedName":"extractQuestions"}}],["symbol-name:extractMetadataAnswers",{"id":"symbol-name:extractMetadataAnswers","kind":"symbol","language":"jsts","symbolName":"extractMetadataAnswers","metadata":{"unresolvedName":"extractMetadataAnswers"}}],["external:questions.map",{"id":"external:questions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"questions.map"}}],["symbol-name:parseAnswersFromOutput",{"id":"symbol-name:parseAnswersFromOutput","kind":"symbol","language":"jsts","symbolName":"parseAnswersFromOutput","metadata":{"unresolvedName":"parseAnswersFromOutput"}}],["external:answerMap.get",{"id":"external:answerMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"answerMap.get"}}],["external:pairs.push",{"id":"external:pairs.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"pairs.push"}}],["external:answers.map",{"id":"external:answers.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"answers.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"extractQuestions","symbolKind":"function","exported":false,"metadata":{"line":184,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:raw.map",{"id":"external:raw.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"raw.map"}}],["external:q.options.map",{"id":"external:q.options.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"q.options.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"extractMetadataAnswers","symbolKind":"function","exported":false,"metadata":{"line":209,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:answers.every",{"id":"external:answers.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"answers.every"}}],["external:a.every",{"id":"external:a.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.every"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","symbolName":"parseAnswersFromOutput","symbolKind":"function","exported":false,"metadata":{"line":225,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:regex.exec",{"id":"external:regex.exec","kind":"external","language":"jsts","metadata":{"unresolvedName":"regex.exec"}}],["external:rawAnswer\r\n .split(', ')\r\n .map(s => s.trim())\r\n .filter",{"id":"external:rawAnswer\r\n .split(', ')\r\n .map(s => s.trim())\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawAnswer\r\n .split(', ')\r\n .map(s => s.trim())\r\n .filter"}}],["external:rawAnswer\r\n .split(', ')\r\n .map",{"id":"external:rawAnswer\r\n .split(', ')\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawAnswer\r\n .split(', ')\r\n .map"}}],["external:rawAnswer\r\n .split",{"id":"external:rawAnswer\r\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawAnswer\r\n .split"}}],["external:s.trim",{"id":"external:s.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.trim"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","metadata":{"lineCount":438,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":397,"column":24,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:abortSession",{"id":"symbol-name:abortSession","kind":"symbol","language":"jsts","symbolName":"abortSession","metadata":{"unresolvedName":"abortSession"}}],["external:messageStore.setLoadState",{"id":"external:messageStore.setLoadState","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.setLoadState"}}],["external:getSessionMessages(sessionId, 20)\r\n .then",{"id":"external:getSessionMessages(sessionId, 20)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionMessages(sessionId, 20)\r\n .then"}}],["external:messageStore.setMessages",{"id":"external:messageStore.setMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.setMessages"}}],["external:msg.parts.some",{"id":"external:msg.parts.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"msg.parts.some"}}],["external:visibleMessages.map",{"id":"external:visibleMessages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleMessages.map"}}],["external:p.text?.trim",{"id":"external:p.text?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"p.text?.trim"}}],["external:textParts\r\n .map(p => p.text)\r\n .join('\\n')\r\n .trim",{"id":"external:textParts\r\n .map(p => p.text)\r\n .join('\\n')\r\n .trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"textParts\r\n .map(p => p.text)\r\n .join('\\n')\r\n .trim"}}],["external:textParts\r\n .map(p => p.text)\r\n .join",{"id":"external:textParts\r\n .map(p => p.text)\r\n .join","kind":"external","language":"jsts","metadata":{"unresolvedName":"textParts\r\n .map(p => p.text)\r\n .join"}}],["external:textParts\r\n .map",{"id":"external:textParts\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"textParts\r\n .map"}}],["external:textContent.slice",{"id":"external:textContent.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"textContent.slice"}}],["external:toolParts.map",{"id":"external:toolParts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolParts.map"}}],["external:title.slice",{"id":"external:title.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"title.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:MessageSkeleton",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:MessageSkeleton","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","symbolName":"MessageSkeleton","symbolKind":"function","exported":false,"metadata":{"line":425,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","metadata":{"lineCount":113,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","metadata":{"lineCount":21,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoRenderer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoRenderer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","symbolName":"TodoRenderer","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:extractTodos",{"id":"symbol-name:extractTodos","kind":"symbol","language":"jsts","symbolName":"extractTodos","metadata":{"unresolvedName":"extractTodos"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","symbolName":"TodoList","symbolKind":"function","exported":false,"metadata":{"line":37,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:todos.filter",{"id":"external:todos.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"todos.filter"}}],["symbol-name:getTodoIcon",{"id":"symbol-name:getTodoIcon","kind":"symbol","language":"jsts","symbolName":"getTodoIcon","metadata":{"unresolvedName":"getTodoIcon"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:getTodoIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:getTodoIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","symbolName":"getTodoIcon","symbolKind":"function","exported":false,"metadata":{"line":93,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","symbolName":"extractTodos","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","symbolName":"hasTodos","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/index.ts","metadata":{"lineCount":4,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","metadata":{"lineCount":71,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","metadata":{"lineCount":262,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":45,"column":76,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:expect(onSelectProject).not.toHaveBeenCalled",{"id":"external:expect(onSelectProject).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSelectProject).not.toHaveBeenCalled"}}],["external:within(dialog).getByRole",{"id":"external:within(dialog).getByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"within(dialog).getByRole"}}],["symbol-name:within",{"id":"symbol-name:within","kind":"symbol","language":"jsts","symbolName":"within","metadata":{"unresolvedName":"within"}}],["external:expect(onRemoveProject).toHaveBeenCalledWith",{"id":"external:expect(onRemoveProject).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onRemoveProject).toHaveBeenCalledWith"}}],["external:expect(projectRow).not.toBeNull",{"id":"external:expect(projectRow).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(projectRow).not.toBeNull"}}],["external:expect(onSelectProject).toHaveBeenCalledWith",{"id":"external:expect(onSelectProject).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSelectProject).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","symbolName":"ProjectSelector","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:dropdownRef.current?.contains",{"id":"external:dropdownRef.current?.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"dropdownRef.current?.contains"}}],["external:worktree.replace(/\\\\/g, '/').split('/').filter",{"id":"external:worktree.replace(/\\\\/g, '/').split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split('/').filter"}}],["external:worktree.replace(/\\\\/g, '/').split",{"id":"external:worktree.replace(/\\\\/g, '/').split","kind":"external","language":"jsts","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split"}}],["external:worktree.replace",{"id":"external:worktree.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"worktree.replace"}}],["external:projects.filter",{"id":"external:projects.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.filter"}}],["symbol-name:getDisplayName",{"id":"symbol-name:getDisplayName","kind":"symbol","language":"jsts","symbolName":"getDisplayName","metadata":{"unresolvedName":"getDisplayName"}}],["external:otherProjects.map",{"id":"external:otherProjects.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"otherProjects.map"}}],["symbol-name:onAddProject",{"id":"symbol-name:onAddProject","kind":"symbol","language":"jsts","symbolName":"onAddProject","metadata":{"unresolvedName":"onAddProject"}}],["symbol-name:onRemoveProject",{"id":"symbol-name:onRemoveProject","kind":"symbol","language":"jsts","symbolName":"onRemoveProject","metadata":{"unresolvedName":"onRemoveProject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":248,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":49,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","symbolName":"ProjectItem","symbolKind":"function","exported":false,"metadata":{"line":215,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","metadata":{"lineCount":147,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","metadata":{"lineCount":902,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":119,"column":61,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:useSessionActiveEntryMock.mockReturnValue",{"id":"external:useSessionActiveEntryMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useSessionActiveEntryMock.mockReturnValue"}}],["external:useHasUnreadCompletedNotificationMock.mockReturnValue",{"id":"external:useHasUnreadCompletedNotificationMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useHasUnreadCompletedNotificationMock.mockReturnValue"}}],["external:markSessionNotificationsReadMock.mockReset",{"id":"external:markSessionNotificationsReadMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"markSessionNotificationsReadMock.mockReset"}}],["external:expect(markSessionNotificationsReadMock).toHaveBeenCalledWith",{"id":"external:expect(markSessionNotificationsReadMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(markSessionNotificationsReadMock).toHaveBeenCalledWith"}}],["external:expect(sessionRow).not.toBeNull",{"id":"external:expect(sessionRow).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionRow).not.toBeNull"}}],["external:expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument"}}],["external:expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument",{"id":"external:expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","metadata":{"lineCount":20,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","metadata":{"lineCount":65,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"SessionList","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":30,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:onLoadMore",{"id":"symbol-name:onLoadMore","kind":"symbol","language":"jsts","symbolName":"onLoadMore","metadata":{"unresolvedName":"onLoadMore"}}],["symbol-name:groupSessionsByProject",{"id":"symbol-name:groupSessionsByProject","kind":"symbol","language":"jsts","symbolName":"groupSessionsByProject","metadata":{"unresolvedName":"groupSessionsByProject"}}],["symbol-name:setCollapsedProjectKeys",{"id":"symbol-name:setCollapsedProjectKeys","kind":"symbol","language":"jsts","symbolName":"setCollapsedProjectKeys","metadata":{"unresolvedName":"setCollapsedProjectKeys"}}],["symbol-name:onSearchChange",{"id":"symbol-name:onSearchChange","kind":"symbol","language":"jsts","symbolName":"onSearchChange","metadata":{"unresolvedName":"onSearchChange"}}],["external:projectGroups.map",{"id":"external:projectGroups.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectGroups.map"}}],["external:collapsedProjectKeys.has",{"id":"external:collapsedProjectKeys.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"collapsedProjectKeys.has"}}],["symbol-name:toggleProjectGroup",{"id":"symbol-name:toggleProjectGroup","kind":"symbol","language":"jsts","symbolName":"toggleProjectGroup","metadata":{"unresolvedName":"toggleProjectGroup"}}],["external:group.sessions.map",{"id":"external:group.sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.sessions.map"}}],["symbol-name:onRename",{"id":"symbol-name:onRename","kind":"symbol","language":"jsts","symbolName":"onRename","metadata":{"unresolvedName":"onRename"}}],["symbol-name:onDelete",{"id":"symbol-name:onDelete","kind":"symbol","language":"jsts","symbolName":"onDelete","metadata":{"unresolvedName":"onDelete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":781,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"SessionListItem","symbolKind":"function","exported":true,"metadata":{"line":310,"column":1,"cyclomaticComplexity":137,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:useSessionActiveEntry",{"id":"symbol-name:useSessionActiveEntry","kind":"symbol","language":"jsts","symbolName":"useSessionActiveEntry","metadata":{"unresolvedName":"useSessionActiveEntry"}}],["symbol-name:useHasUnreadCompletedNotification",{"id":"symbol-name:useHasUnreadCompletedNotification","kind":"symbol","language":"jsts","symbolName":"useHasUnreadCompletedNotification","metadata":{"unresolvedName":"useHasUnreadCompletedNotification"}}],["symbol-name:handleSaveEdit",{"id":"symbol-name:handleSaveEdit","kind":"symbol","language":"jsts","symbolName":"handleSaveEdit","metadata":{"unresolvedName":"handleSaveEdit"}}],["symbol-name:handleCancelEdit",{"id":"symbol-name:handleCancelEdit","kind":"symbol","language":"jsts","symbolName":"handleCancelEdit","metadata":{"unresolvedName":"handleCancelEdit"}}],["external:notificationStore.markSessionNotificationsRead",{"id":"external:notificationStore.markSessionNotificationsRead","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.markSessionNotificationsRead"}}],["symbol-name:onToggleCheck",{"id":"symbol-name:onToggleCheck","kind":"symbol","language":"jsts","symbolName":"onToggleCheck","metadata":{"unresolvedName":"onToggleCheck"}}],["symbol-name:formatRelativeTime",{"id":"symbol-name:formatRelativeTime","kind":"symbol","language":"jsts","symbolName":"formatRelativeTime","metadata":{"unresolvedName":"formatRelativeTime"}}],["external:session.directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop",{"id":"external:session.directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}}],["external:session.directory.replace(/\\\\/g, '/').split('/').filter",{"id":"external:session.directory.replace(/\\\\/g, '/').split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split('/').filter"}}],["external:session.directory.replace(/\\\\/g, '/').split",{"id":"external:session.directory.replace(/\\\\/g, '/').split","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split"}}],["external:session.directory.replace",{"id":"external:session.directory.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.directory.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":354,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleStartEdit","symbolKind":"function","exported":false,"metadata":{"line":360,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleSaveEdit","symbolKind":"function","exported":false,"metadata":{"line":367,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleCancelEdit","symbolKind":"function","exported":false,"metadata":{"line":375,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":380,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":418,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleClick","symbolKind":"function","exported":false,"metadata":{"line":445,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleCheckClick","symbolKind":"function","exported":false,"metadata":{"line":456,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleCheckMouseDown","symbolKind":"function","exported":false,"metadata":{"line":461,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"handleDragStart","symbolKind":"function","exported":false,"metadata":{"line":467,"column":27,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:LoadingSpinner",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:LoadingSpinner","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","symbolName":"LoadingSpinner","symbolKind":"function","exported":false,"metadata":{"line":898,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","metadata":{"lineCount":46,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","symbolName":"session","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":35,"column":81,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:getProjectNameFromDirectory",{"id":"symbol-name:getProjectNameFromDirectory","kind":"symbol","language":"jsts","symbolName":"getProjectNameFromDirectory","metadata":{"unresolvedName":"getProjectNameFromDirectory"}}],["external:expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe",{"id":"external:expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe"}}],["external:expect(getProjectNameFromDirectory('')).toBe",{"id":"external:expect(getProjectNameFromDirectory('')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('')).toBe"}}],["symbol-name:session",{"id":"symbol-name:session","kind":"symbol","language":"jsts","symbolName":"session","metadata":{"unresolvedName":"session"}}],["external:expect(groups.map(group => group.name)).toEqual",{"id":"external:expect(groups.map(group => group.name)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(groups.map(group => group.name)).toEqual"}}],["external:groups.map",{"id":"external:groups.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups.map"}}],["external:expect(groups[0].sessions.map(item => item.id)).toEqual",{"id":"external:expect(groups[0].sessions.map(item => item.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(groups[0].sessions.map(item => item.id)).toEqual"}}],["external:groups[0].sessions.map",{"id":"external:groups[0].sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups[0].sessions.map"}}],["external:expect(groups[1].sessions.map(item => item.id)).toEqual",{"id":"external:expect(groups[1].sessions.map(item => item.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(groups[1].sessions.map(item => item.id)).toEqual"}}],["external:groups[1].sessions.map",{"id":"external:groups[1].sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groups[1].sessions.map"}}],["external:expect(groups).toHaveLength",{"id":"external:expect(groups).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(groups).toHaveLength"}}],["external:expect(groups[0].name).toBe",{"id":"external:expect(groups[0].name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(groups[0].name).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","symbolName":"normalizeProjectDirectory","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:(directory || 'unknown').replace(/\\\\/g, '/').replace",{"id":"external:(directory || 'unknown').replace(/\\\\/g, '/').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(directory || 'unknown').replace(/\\\\/g, '/').replace"}}],["external:(directory || 'unknown').replace",{"id":"external:(directory || 'unknown').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(directory || 'unknown').replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","symbolName":"getProjectNameFromDirectory","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:normalizeProjectDirectory",{"id":"symbol-name:normalizeProjectDirectory","kind":"symbol","language":"jsts","symbolName":"normalizeProjectDirectory","metadata":{"unresolvedName":"normalizeProjectDirectory"}}],["external:normalized.split('/').filter",{"id":"external:normalized.split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalized.split('/').filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getUpdatedTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getUpdatedTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","symbolName":"getUpdatedTime","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","symbolName":"sessionMatchesSearch","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:haystack.includes",{"id":"external:haystack.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"haystack.includes"}}],["external:search.toLowerCase",{"id":"external:search.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"search.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","symbolName":"groupSessionsByProject","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:sessionMatchesSearch",{"id":"symbol-name:sessionMatchesSearch","kind":"symbol","language":"jsts","symbolName":"sessionMatchesSearch","metadata":{"unresolvedName":"sessionMatchesSearch"}}],["external:search.trim",{"id":"external:search.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"search.trim"}}],["symbol-name:getUpdatedTime",{"id":"symbol-name:getUpdatedTime","kind":"symbol","language":"jsts","symbolName":"getUpdatedTime","metadata":{"unresolvedName":"getUpdatedTime"}}],["external:existing.sessions.push",{"id":"external:existing.sessions.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"existing.sessions.push"}}],["external:Array.from(groups.values())\n .map",{"id":"external:Array.from(groups.values())\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(groups.values())\n .map"}}],["external:[...group.sessions].sort",{"id":"external:[...group.sessions].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...group.sessions].sort"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","metadata":{"lineCount":174,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","metadata":{"lineCount":190,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","metadata":{"lineCount":203,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","symbolName":"openExternalUrl","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:import('@tauri-apps/plugin-opener')\r\n .then",{"id":"external:import('@tauri-apps/plugin-opener')\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener')\r\n .then"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","symbolName":"AboutSettings","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":21,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:new Date(latestRelease.publishedAt).toLocaleString",{"id":"external:new Date(latestRelease.publishedAt).toLocaleString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(latestRelease.publishedAt).toLocaleString"}}],["symbol-name:openExternalUrl",{"id":"symbol-name:openExternalUrl","kind":"symbol","language":"jsts","symbolName":"openExternalUrl","metadata":{"unresolvedName":"openExternalUrl"}}],["symbol-name:setBackupError",{"id":"symbol-name:setBackupError","kind":"symbol","language":"jsts","symbolName":"setBackupError","metadata":{"unresolvedName":"setBackupError"}}],["symbol-name:setBackupBusy",{"id":"symbol-name:setBackupBusy","kind":"symbol","language":"jsts","symbolName":"setBackupBusy","metadata":{"unresolvedName":"setBackupBusy"}}],["symbol-name:exportSettingsBackup",{"id":"symbol-name:exportSettingsBackup","kind":"symbol","language":"jsts","symbolName":"exportSettingsBackup","metadata":{"unresolvedName":"exportSettingsBackup"}}],["symbol-name:previewBackupMeta",{"id":"symbol-name:previewBackupMeta","kind":"symbol","language":"jsts","symbolName":"previewBackupMeta","metadata":{"unresolvedName":"previewBackupMeta"}}],["external:new Date(createdAt).toLocaleString",{"id":"external:new Date(createdAt).toLocaleString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(createdAt).toLocaleString"}}],["symbol-name:importSettingsBackup",{"id":"symbol-name:importSettingsBackup","kind":"symbol","language":"jsts","symbolName":"importSettingsBackup","metadata":{"unresolvedName":"importSettingsBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":62,"column":5,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","metadata":{"lineCount":132,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"AgentSettings","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setAutoApprove",{"id":"symbol-name:setAutoApprove","kind":"symbol","language":"jsts","symbolName":"setAutoApprove","metadata":{"unresolvedName":"setAutoApprove"}}],["external:autoApproveStore.setEnabled",{"id":"external:autoApproveStore.setEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.setEnabled"}}],["external:autoApproveStore.clearAllRules",{"id":"external:autoApproveStore.clearAllRules","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.clearAllRules"}}],["symbol-name:setQueueFollowupMessages",{"id":"symbol-name:setQueueFollowupMessages","kind":"symbol","language":"jsts","symbolName":"setQueueFollowupMessages","metadata":{"unresolvedName":"setQueueFollowupMessages"}}],["external:themeStore.setQueueFollowupMessages",{"id":"external:themeStore.setQueueFollowupMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setQueueFollowupMessages"}}],["symbol-name:setDescriptiveToolSteps",{"id":"symbol-name:setDescriptiveToolSteps","kind":"symbol","language":"jsts","symbolName":"setDescriptiveToolSteps","metadata":{"unresolvedName":"setDescriptiveToolSteps"}}],["external:themeStore.setDescriptiveToolSteps",{"id":"external:themeStore.setDescriptiveToolSteps","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setDescriptiveToolSteps"}}],["symbol-name:setInlineToolRequests",{"id":"symbol-name:setInlineToolRequests","kind":"symbol","language":"jsts","symbolName":"setInlineToolRequests","metadata":{"unresolvedName":"setInlineToolRequests"}}],["external:themeStore.setInlineToolRequests",{"id":"external:themeStore.setInlineToolRequests","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setInlineToolRequests"}}],["symbol-name:setCompactInlinePermission",{"id":"symbol-name:setCompactInlinePermission","kind":"symbol","language":"jsts","symbolName":"setCompactInlinePermission","metadata":{"unresolvedName":"setCompactInlinePermission"}}],["external:themeStore.setCompactInlinePermission",{"id":"external:themeStore.setCompactInlinePermission","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCompactInlinePermission"}}],["symbol-name:setToolCardStyle",{"id":"symbol-name:setToolCardStyle","kind":"symbol","language":"jsts","symbolName":"setToolCardStyle","metadata":{"unresolvedName":"setToolCardStyle"}}],["external:themeStore.setToolCardStyle",{"id":"external:themeStore.setToolCardStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setToolCardStyle"}}],["symbol-name:setImmersiveMode",{"id":"symbol-name:setImmersiveMode","kind":"symbol","language":"jsts","symbolName":"setImmersiveMode","metadata":{"unresolvedName":"setImmersiveMode"}}],["external:themeStore.setImmersiveMode",{"id":"external:themeStore.setImmersiveMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setImmersiveMode"}}],["symbol-name:handleToolCardStyleChange",{"id":"symbol-name:handleToolCardStyleChange","kind":"symbol","language":"jsts","symbolName":"handleToolCardStyleChange","metadata":{"unresolvedName":"handleToolCardStyleChange"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleAutoApprove","symbolKind":"function","exported":false,"metadata":{"line":17,"column":29,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleQueueFollowupMessagesToggle","symbolKind":"function","exported":false,"metadata":{"line":24,"column":45,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleDescriptiveToolStepsToggle","symbolKind":"function","exported":false,"metadata":{"line":30,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleInlineToolRequestsToggle","symbolKind":"function","exported":false,"metadata":{"line":36,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleCompactInlinePermissionToggle","symbolKind":"function","exported":false,"metadata":{"line":42,"column":47,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleToolCardStyleChange","symbolKind":"function","exported":false,"metadata":{"line":48,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","symbolName":"handleImmersiveModeToggle","symbolKind":"function","exported":false,"metadata":{"line":53,"column":37,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","metadata":{"lineCount":720,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:toCssHsl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:toCssHsl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"toCssHsl","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"getPresetPreviewColors","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getThemePreset",{"id":"symbol-name:getThemePreset","kind":"symbol","language":"jsts","symbolName":"getThemePreset","metadata":{"unresolvedName":"getThemePreset"}}],["symbol-name:toCssHsl",{"id":"symbol-name:toCssHsl","kind":"symbol","language":"jsts","symbolName":"toCssHsl","metadata":{"unresolvedName":"toCssHsl"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"getSnippetFileName","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:name\n .trim()\n .replace(/[<>:\"/\\\\|?*]/g, '')\n .replace",{"id":"external:name\n .trim()\n .replace(/[<>:\"/\\\\|?*]/g, '')\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .trim()\n .replace(/[<>:\"/\\\\|?*]/g, '')\n .replace"}}],["external:name\n .trim()\n .replace",{"id":"external:name\n .trim()\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .trim()\n .replace"}}],["external:name\n .trim",{"id":"external:name\n .trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name\n .trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:PresetCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:PresetCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"PresetCard","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getPresetPreviewColors",{"id":"symbol-name:getPresetPreviewColors","kind":"symbol","language":"jsts","symbolName":"getPresetPreviewColors","metadata":{"unresolvedName":"getPresetPreviewColors"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"FontScaleSlider","symbolKind":"function","exported":false,"metadata":{"line":124,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"CustomCSSEditor","symbolKind":"function","exported":false,"metadata":{"line":163,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setLocalValue",{"id":"symbol-name:setLocalValue","kind":"symbol","language":"jsts","symbolName":"setLocalValue","metadata":{"unresolvedName":"setLocalValue"}}],["symbol-name:onImportFile",{"id":"symbol-name:onImportFile","kind":"symbol","language":"jsts","symbolName":"onImportFile","metadata":{"unresolvedName":"onImportFile"}}],["external:reader.readAsText",{"id":"external:reader.readAsText","kind":"external","language":"jsts","metadata":{"unresolvedName":"reader.readAsText"}}],["external:localValue.trim",{"id":"external:localValue.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"localValue.trim"}}],["symbol-name:onLoadTemplate",{"id":"symbol-name:onLoadTemplate","kind":"symbol","language":"jsts","symbolName":"onLoadTemplate","metadata":{"unresolvedName":"onLoadTemplate"}}],["symbol-name:handleChange",{"id":"symbol-name:handleChange","kind":"symbol","language":"jsts","symbolName":"handleChange","metadata":{"unresolvedName":"handleChange"}}],["symbol-name:onClear",{"id":"symbol-name:onClear","kind":"symbol","language":"jsts","symbolName":"onClear","metadata":{"unresolvedName":"onClear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":695,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleChange","symbolKind":"function","exported":false,"metadata":{"line":186,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleFileImport","symbolKind":"function","exported":false,"metadata":{"line":192,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"SavedSnippetItem","symbolKind":"function","exported":false,"metadata":{"line":430,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:snippet.css.slice",{"id":"external:snippet.css.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"snippet.css.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"AppearanceSettings","symbolKind":"function","exported":true,"metadata":{"line":489,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:customCSSSnippets.find",{"id":"external:customCSSSnippets.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"customCSSSnippets.find"}}],["symbol-name:clearActiveCustomCSSSnippet",{"id":"symbol-name:clearActiveCustomCSSSnippet","kind":"symbol","language":"jsts","symbolName":"clearActiveCustomCSSSnippet","metadata":{"unresolvedName":"clearActiveCustomCSSSnippet"}}],["symbol-name:setCustomCSS",{"id":"symbol-name:setCustomCSS","kind":"symbol","language":"jsts","symbolName":"setCustomCSS","metadata":{"unresolvedName":"setCustomCSS"}}],["external:snippetName.trim",{"id":"external:snippetName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"snippetName.trim"}}],["external:customCSS.trim",{"id":"external:customCSS.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"customCSS.trim"}}],["symbol-name:saveCustomCSSSnippet",{"id":"symbol-name:saveCustomCSSSnippet","kind":"symbol","language":"jsts","symbolName":"saveCustomCSSSnippet","metadata":{"unresolvedName":"saveCustomCSSSnippet"}}],["symbol-name:updateCustomCSSSnippet",{"id":"symbol-name:updateCustomCSSSnippet","kind":"symbol","language":"jsts","symbolName":"updateCustomCSSSnippet","metadata":{"unresolvedName":"updateCustomCSSSnippet"}}],["symbol-name:deleteCustomCSSSnippet",{"id":"symbol-name:deleteCustomCSSSnippet","kind":"symbol","language":"jsts","symbolName":"deleteCustomCSSSnippet","metadata":{"unresolvedName":"deleteCustomCSSSnippet"}}],["symbol-name:getSnippetFileName",{"id":"symbol-name:getSnippetFileName","kind":"symbol","language":"jsts","symbolName":"getSnippetFileName","metadata":{"unresolvedName":"getSnippetFileName"}}],["external:availablePresets.map",{"id":"external:availablePresets.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"availablePresets.map"}}],["symbol-name:setPresetWithAnimation",{"id":"symbol-name:setPresetWithAnimation","kind":"symbol","language":"jsts","symbolName":"setPresetWithAnimation","metadata":{"unresolvedName":"setPresetWithAnimation"}}],["symbol-name:setSnippetDraft",{"id":"symbol-name:setSnippetDraft","kind":"symbol","language":"jsts","symbolName":"setSnippetDraft","metadata":{"unresolvedName":"setSnippetDraft"}}],["external:customCSSSnippets.map",{"id":"external:customCSSSnippets.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"customCSSSnippets.map"}}],["symbol-name:applyCustomCSSSnippet",{"id":"symbol-name:applyCustomCSSSnippet","kind":"symbol","language":"jsts","symbolName":"applyCustomCSSSnippet","metadata":{"unresolvedName":"applyCustomCSSSnippet"}}],["symbol-name:handleExportSnippet",{"id":"symbol-name:handleExportSnippet","kind":"symbol","language":"jsts","symbolName":"handleExportSnippet","metadata":{"unresolvedName":"handleExportSnippet"}}],["symbol-name:handleDeleteSnippet",{"id":"symbol-name:handleDeleteSnippet","kind":"symbol","language":"jsts","symbolName":"handleDeleteSnippet","metadata":{"unresolvedName":"handleDeleteSnippet"}}],["symbol-name:setThemeWithAnimation",{"id":"symbol-name:setThemeWithAnimation","kind":"symbol","language":"jsts","symbolName":"setThemeWithAnimation","metadata":{"unresolvedName":"setThemeWithAnimation"}}],["symbol-name:setGlassEffect",{"id":"symbol-name:setGlassEffect","kind":"symbol","language":"jsts","symbolName":"setGlassEffect","metadata":{"unresolvedName":"setGlassEffect"}}],["symbol-name:setUIFontScale",{"id":"symbol-name:setUIFontScale","kind":"symbol","language":"jsts","symbolName":"setUIFontScale","metadata":{"unresolvedName":"setUIFontScale"}}],["symbol-name:setCodeFontScale",{"id":"symbol-name:setCodeFontScale","kind":"symbol","language":"jsts","symbolName":"setCodeFontScale","metadata":{"unresolvedName":"setCodeFontScale"}}],["external:i18n.changeLanguage",{"id":"external:i18n.changeLanguage","kind":"external","language":"jsts","metadata":{"unresolvedName":"i18n.changeLanguage"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleImportCSS","symbolKind":"function","exported":false,"metadata":{"line":525,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleSaveNewSnippet","symbolKind":"function","exported":false,"metadata":{"line":530,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleRenameSnippet","symbolKind":"function","exported":false,"metadata":{"line":537,"column":31,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleUpdateSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleUpdateSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleUpdateSnippet","symbolKind":"function","exported":false,"metadata":{"line":543,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleDeleteSnippet","symbolKind":"function","exported":false,"metadata":{"line":548,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","symbolName":"handleExportSnippet","symbolKind":"function","exported":false,"metadata":{"line":554,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","metadata":{"lineCount":138,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","symbolName":"ChatSettings","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:usePathMode",{"id":"symbol-name:usePathMode","kind":"symbol","language":"jsts","symbolName":"usePathMode","metadata":{"unresolvedName":"usePathMode"}}],["symbol-name:setCollapseUserMessages",{"id":"symbol-name:setCollapseUserMessages","kind":"symbol","language":"jsts","symbolName":"setCollapseUserMessages","metadata":{"unresolvedName":"setCollapseUserMessages"}}],["external:themeStore.setCollapseUserMessages",{"id":"external:themeStore.setCollapseUserMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCollapseUserMessages"}}],["symbol-name:setReasoningDisplayMode",{"id":"symbol-name:setReasoningDisplayMode","kind":"symbol","language":"jsts","symbolName":"setReasoningDisplayMode","metadata":{"unresolvedName":"setReasoningDisplayMode"}}],["external:themeStore.setReasoningDisplayMode",{"id":"external:themeStore.setReasoningDisplayMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setReasoningDisplayMode"}}],["symbol-name:setPathMode",{"id":"symbol-name:setPathMode","kind":"symbol","language":"jsts","symbolName":"setPathMode","metadata":{"unresolvedName":"setPathMode"}}],["symbol-name:handleReasoningDisplayModeChange",{"id":"symbol-name:handleReasoningDisplayModeChange","kind":"symbol","language":"jsts","symbolName":"handleReasoningDisplayModeChange","metadata":{"unresolvedName":"handleReasoningDisplayModeChange"}}],["symbol-name:setStepFinishDisplay",{"id":"symbol-name:setStepFinishDisplay","kind":"symbol","language":"jsts","symbolName":"setStepFinishDisplay","metadata":{"unresolvedName":"setStepFinishDisplay"}}],["external:themeStore.setStepFinishDisplay",{"id":"external:themeStore.setStepFinishDisplay","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}}],["symbol-name:setCompletedAtFormat",{"id":"symbol-name:setCompletedAtFormat","kind":"symbol","language":"jsts","symbolName":"setCompletedAtFormat","metadata":{"unresolvedName":"setCompletedAtFormat"}}],["external:themeStore.setCompletedAtFormat",{"id":"external:themeStore.setCompletedAtFormat","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCompletedAtFormat"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","symbolName":"handleCollapseToggle","symbolKind":"function","exported":false,"metadata":{"line":19,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","symbolName":"handleReasoningDisplayModeChange","symbolKind":"function","exported":false,"metadata":{"line":25,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":126,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","metadata":{"lineCount":118,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","metadata":{"lineCount":172,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":105,"column":76,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:useModelsMock.mockReturnValue",{"id":"external:useModelsMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useModelsMock.mockReturnValue"}}],["external:useHiddenModelKeysMock.mockReturnValue",{"id":"external:useHiddenModelKeysMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useHiddenModelKeysMock.mockReturnValue"}}],["external:setVisibleMock.mockReset",{"id":"external:setVisibleMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"setVisibleMock.mockReset"}}],["external:setManyVisibleMock.mockReset",{"id":"external:setManyVisibleMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"setManyVisibleMock.mockReset"}}],["external:expect(modelButton).toHaveAttribute",{"id":"external:expect(modelButton).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelButton).toHaveAttribute"}}],["external:expect(switches[0]).toHaveAttribute",{"id":"external:expect(switches[0]).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(switches[0]).toHaveAttribute"}}],["external:expect(switches[1]).toHaveAttribute",{"id":"external:expect(switches[1]).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(switches[1]).toHaveAttribute"}}],["external:expect(setVisibleMock).toHaveBeenCalledWith",{"id":"external:expect(setVisibleMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(setVisibleMock).toHaveBeenCalledWith"}}],["external:expect(modelRow).not.toBeNull",{"id":"external:expect(modelRow).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(modelRow).not.toBeNull"}}],["external:expect(switches[2]).toHaveAttribute",{"id":"external:expect(switches[2]).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(switches[2]).toHaveAttribute"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","symbolName":"formatContext","symbolKind":"function","exported":false,"metadata":{"line":9,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","symbolName":"ModelsSettings","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:models.reduce",{"id":"external:models.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"models.reduce"}}],["external:hiddenModelKeySet.has",{"id":"external:hiddenModelKeySet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"hiddenModelKeySet.has"}}],["external:query.trim().toLowerCase",{"id":"external:query.trim().toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"query.trim().toLowerCase"}}],["external:normalize(model.name).includes",{"id":"external:normalize(model.name).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(model.name).includes"}}],["external:normalize(model.id).includes",{"id":"external:normalize(model.id).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(model.id).includes"}}],["external:normalize(model.family).includes",{"id":"external:normalize(model.family).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(model.family).includes"}}],["external:normalize(model.providerName).includes",{"id":"external:normalize(model.providerName).includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalize(model.providerName).includes"}}],["external:providerModels.filter",{"id":"external:providerModels.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"providerModels.filter"}}],["external:modelVisibilityStore.setManyVisible",{"id":"external:modelVisibilityStore.setManyVisible","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelVisibilityStore.setManyVisible"}}],["external:group.models.map",{"id":"external:group.models.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.models.map"}}],["external:modelVisibilityStore.setVisible",{"id":"external:modelVisibilityStore.setVisible","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":153,"column":41,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","metadata":{"lineCount":73,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:qrcode",{"id":"external:qrcode","kind":"external","language":"jsts","metadata":{"source":"qrcode"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","metadata":{"lineCount":115,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":47,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(getNetworkAccess).mockReset",{"id":"external:vi.mocked(getNetworkAccess).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockReset"}}],["external:vi.mocked(updateNetworkAccess).mockReset",{"id":"external:vi.mocked(updateNetworkAccess).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockReset"}}],["external:vi.mocked(getNetworkAccess).mockResolvedValue",{"id":"external:vi.mocked(getNetworkAccess).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockResolvedValue"}}],["external:screen.findByAltText",{"id":"external:screen.findByAltText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.findByAltText"}}],["external:expect(QRCode.toDataURL).toHaveBeenCalledWith",{"id":"external:expect(QRCode.toDataURL).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(QRCode.toDataURL).toHaveBeenCalledWith"}}],["external:vi.mocked(updateNetworkAccess).mockResolvedValue",{"id":"external:vi.mocked(updateNetworkAccess).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockResolvedValue"}}],["external:expect(updateNetworkAccess).toHaveBeenCalledWith",{"id":"external:expect(updateNetworkAccess).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updateNetworkAccess).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","symbolName":"NetworkAccessSettings","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getNetworkAccess()\n .then",{"id":"external:getNetworkAccess()\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getNetworkAccess()\n .then"}}],["symbol-name:setInfo",{"id":"symbol-name:setInfo","kind":"symbol","language":"jsts","symbolName":"setInfo","metadata":{"unresolvedName":"setInfo"}}],["symbol-name:setQrDataUrl",{"id":"symbol-name:setQrDataUrl","kind":"symbol","language":"jsts","symbolName":"setQrDataUrl","metadata":{"unresolvedName":"setQrDataUrl"}}],["external:QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then",{"id":"external:QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then"}}],["external:QRCode.toDataURL",{"id":"external:QRCode.toDataURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"QRCode.toDataURL"}}],["symbol-name:setIsSaving",{"id":"symbol-name:setIsSaving","kind":"symbol","language":"jsts","symbolName":"setIsSaving","metadata":{"unresolvedName":"setIsSaving"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","symbolName":"toggleLanAccess","symbolKind":"function","exported":false,"metadata":{"line":47,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","metadata":{"lineCount":534,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","metadata":{"lineCount":182,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","metadata":{"lineCount":557,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","metadata":{"lineCount":390,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"VolumeSlider","symbolKind":"function","exported":false,"metadata":{"line":73,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"EventEnableRow","symbolKind":"function","exported":false,"metadata":{"line":111,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useNotificationEventSettings",{"id":"symbol-name:useNotificationEventSettings","kind":"symbol","language":"jsts","symbolName":"useNotificationEventSettings","metadata":{"unresolvedName":"useNotificationEventSettings"}}],["external:notificationEventSettingsStore.setSystemEnabled",{"id":"external:notificationEventSettingsStore.setSystemEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationEventSettingsStore.setSystemEnabled"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"EventSoundCard","symbolKind":"function","exported":false,"metadata":{"line":147,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useSoundSettings",{"id":"symbol-name:useSoundSettings","kind":"symbol","language":"jsts","symbolName":"useSoundSettings","metadata":{"unresolvedName":"useSoundSettings"}}],["external:soundStore.hasCustomAudio",{"id":"external:soundStore.hasCustomAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.hasCustomAudio"}}],["external:soundStore.getCustomAudioBlob",{"id":"external:soundStore.getCustomAudioBlob","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.getCustomAudioBlob"}}],["symbol-name:playSound",{"id":"symbol-name:playSound","kind":"symbol","language":"jsts","symbolName":"playSound","metadata":{"unresolvedName":"playSound"}}],["symbol-name:setUploadError",{"id":"symbol-name:setUploadError","kind":"symbol","language":"jsts","symbolName":"setUploadError","metadata":{"unresolvedName":"setUploadError"}}],["external:soundStore.setEventSound",{"id":"external:soundStore.setEventSound","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.setEventSound"}}],["external:soundStore.uploadCustomAudio",{"id":"external:soundStore.uploadCustomAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.uploadCustomAudio"}}],["external:result.error.charAt(0).toUpperCase",{"id":"external:result.error.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.error.charAt(0).toUpperCase"}}],["external:result.error.charAt",{"id":"external:result.error.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.error.charAt"}}],["external:result.error.slice",{"id":"external:result.error.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.error.slice"}}],["external:soundStore.removeCustomAudio",{"id":"external:soundStore.removeCustomAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.removeCustomAudio"}}],["external:soundStore.exportCustomAudio",{"id":"external:soundStore.exportCustomAudio","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.exportCustomAudio"}}],["symbol-name:handleSoundChange",{"id":"symbol-name:handleSoundChange","kind":"symbol","language":"jsts","symbolName":"handleSoundChange","metadata":{"unresolvedName":"handleSoundChange"}}],["external:soundOptions.map",{"id":"external:soundOptions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundOptions.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":209,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"NotificationSettings","symbolKind":"function","exported":true,"metadata":{"line":350,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useNotification",{"id":"symbol-name:useNotification","kind":"symbol","language":"jsts","symbolName":"useNotification","metadata":{"unresolvedName":"useNotification"}}],["symbol-name:isSoundSupported",{"id":"symbol-name:isSoundSupported","kind":"symbol","language":"jsts","symbolName":"isSoundSupported","metadata":{"unresolvedName":"isSoundSupported"}}],["symbol-name:sendNotification",{"id":"symbol-name:sendNotification","kind":"symbol","language":"jsts","symbolName":"sendNotification","metadata":{"unresolvedName":"sendNotification"}}],["symbol-name:setToastEnabledState",{"id":"symbol-name:setToastEnabledState","kind":"symbol","language":"jsts","symbolName":"setToastEnabledState","metadata":{"unresolvedName":"setToastEnabledState"}}],["external:notificationStore.setToastEnabled",{"id":"external:notificationStore.setToastEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.setToastEnabled"}}],["symbol-name:setNotificationsEnabled",{"id":"symbol-name:setNotificationsEnabled","kind":"symbol","language":"jsts","symbolName":"setNotificationsEnabled","metadata":{"unresolvedName":"setNotificationsEnabled"}}],["external:EVENT_TYPES.map",{"id":"external:EVENT_TYPES.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"EVENT_TYPES.map"}}],["external:soundStore.setEnabled",{"id":"external:soundStore.setEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.setEnabled"}}],["external:soundStore.setCurrentSessionEnabled",{"id":"external:soundStore.setCurrentSessionEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.setCurrentSessionEnabled"}}],["external:soundStore.setVolume",{"id":"external:soundStore.setVolume","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.setVolume"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"handleTestNotification","symbolKind":"function","exported":false,"metadata":{"line":363,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","symbolName":"handleToastToggle","symbolKind":"function","exported":false,"metadata":{"line":367,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","metadata":{"lineCount":596,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"ServerItem","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":21,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onEdit",{"id":"symbol-name:onEdit","kind":"symbol","language":"jsts","symbolName":"onEdit","metadata":{"unresolvedName":"onEdit"}}],["symbol-name:setEditing",{"id":"symbol-name:setEditing","kind":"symbol","language":"jsts","symbolName":"setEditing","metadata":{"unresolvedName":"setEditing"}}],["symbol-name:onCheckHealth",{"id":"symbol-name:onCheckHealth","kind":"symbol","language":"jsts","symbolName":"onCheckHealth","metadata":{"unresolvedName":"onCheckHealth"}}],["symbol-name:statusTitle",{"id":"symbol-name:statusTitle","kind":"symbol","language":"jsts","symbolName":"statusTitle","metadata":{"unresolvedName":"statusTitle"}}],["symbol-name:statusIcon",{"id":"symbol-name:statusIcon","kind":"symbol","language":"jsts","symbolName":"statusIcon","metadata":{"unresolvedName":"statusIcon"}}],["symbol-name:setConfirmDelete",{"id":"symbol-name:setConfirmDelete","kind":"symbol","language":"jsts","symbolName":"setConfirmDelete","metadata":{"unresolvedName":"setConfirmDelete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"statusIcon","symbolKind":"function","exported":false,"metadata":{"line":46,"column":22,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"statusTitle","symbolKind":"function","exported":false,"metadata":{"line":53,"column":23,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":569,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"EditServerForm","symbolKind":"function","exported":false,"metadata":{"line":181,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onSave",{"id":"symbol-name:onSave","kind":"symbol","language":"jsts","symbolName":"onSave","metadata":{"unresolvedName":"onSave"}}],["external:password.trim",{"id":"external:password.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"password.trim"}}],["external:username.trim",{"id":"external:username.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"username.trim"}}],["symbol-name:setShowAuth",{"id":"symbol-name:setShowAuth","kind":"symbol","language":"jsts","symbolName":"setShowAuth","metadata":{"unresolvedName":"setShowAuth"}}],["symbol-name:setUsername",{"id":"symbol-name:setUsername","kind":"symbol","language":"jsts","symbolName":"setUsername","metadata":{"unresolvedName":"setUsername"}}],["symbol-name:setPassword",{"id":"symbol-name:setPassword","kind":"symbol","language":"jsts","symbolName":"setPassword","metadata":{"unresolvedName":"setPassword"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":334,"column":24,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"AddServerForm","symbolKind":"function","exported":false,"metadata":{"line":319,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:onAdd",{"id":"symbol-name:onAdd","kind":"symbol","language":"jsts","symbolName":"onAdd","metadata":{"unresolvedName":"onAdd"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","symbolName":"ServersSettings","symbolKind":"function","exported":true,"metadata":{"line":481,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useServerStore",{"id":"symbol-name:useServerStore","kind":"symbol","language":"jsts","symbolName":"useServerStore","metadata":{"unresolvedName":"useServerStore"}}],["external:servers.find",{"id":"external:servers.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"servers.find"}}],["external:servers.filter",{"id":"external:servers.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"servers.filter"}}],["symbol-name:checkAllHealth",{"id":"symbol-name:checkAllHealth","kind":"symbol","language":"jsts","symbolName":"checkAllHealth","metadata":{"unresolvedName":"checkAllHealth"}}],["external:messageStore.clearSession",{"id":"external:messageStore.clearSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.clearSession"}}],["symbol-name:setActiveServer",{"id":"symbol-name:setActiveServer","kind":"symbol","language":"jsts","symbolName":"setActiveServer","metadata":{"unresolvedName":"setActiveServer"}}],["symbol-name:navigateHome",{"id":"symbol-name:navigateHome","kind":"symbol","language":"jsts","symbolName":"navigateHome","metadata":{"unresolvedName":"navigateHome"}}],["symbol-name:setAddingServer",{"id":"symbol-name:setAddingServer","kind":"symbol","language":"jsts","symbolName":"setAddingServer","metadata":{"unresolvedName":"setAddingServer"}}],["external:orderedServers.map",{"id":"external:orderedServers.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"orderedServers.map"}}],["symbol-name:getHealth",{"id":"symbol-name:getHealth","kind":"symbol","language":"jsts","symbolName":"getHealth","metadata":{"unresolvedName":"getHealth"}}],["symbol-name:handleSelectServer",{"id":"symbol-name:handleSelectServer","kind":"symbol","language":"jsts","symbolName":"handleSelectServer","metadata":{"unresolvedName":"handleSelectServer"}}],["symbol-name:removeServer",{"id":"symbol-name:removeServer","kind":"symbol","language":"jsts","symbolName":"removeServer","metadata":{"unresolvedName":"removeServer"}}],["symbol-name:updateServer",{"id":"symbol-name:updateServer","kind":"symbol","language":"jsts","symbolName":"updateServer","metadata":{"unresolvedName":"updateServer"}}],["symbol-name:checkHealth",{"id":"symbol-name:checkHealth","kind":"symbol","language":"jsts","symbolName":"checkHealth","metadata":{"unresolvedName":"checkHealth"}}],["symbol-name:addServer",{"id":"symbol-name:addServer","kind":"symbol","language":"jsts","symbolName":"addServer","metadata":{"unresolvedName":"addServer"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","metadata":{"lineCount":245,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","metadata":{"lineCount":215,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"ServiceSettings","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useServiceStore",{"id":"symbol-name:useServiceStore","kind":"symbol","language":"jsts","symbolName":"useServiceStore","metadata":{"unresolvedName":"useServiceStore"}}],["symbol-name:setLocalBinaryPath",{"id":"symbol-name:setLocalBinaryPath","kind":"symbol","language":"jsts","symbolName":"setLocalBinaryPath","metadata":{"unresolvedName":"setLocalBinaryPath"}}],["symbol-name:handleCheckService",{"id":"symbol-name:handleCheckService","kind":"symbol","language":"jsts","symbolName":"handleCheckService","metadata":{"unresolvedName":"handleCheckService"}}],["external:serviceStore.setAutoStart",{"id":"external:serviceStore.setAutoStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setAutoStart"}}],["external:serviceStore.setBinaryPath",{"id":"external:serviceStore.setBinaryPath","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setBinaryPath"}}],["symbol-name:setServiceError",{"id":"symbol-name:setServiceError","kind":"symbol","language":"jsts","symbolName":"setServiceError","metadata":{"unresolvedName":"setServiceError"}}],["external:serviceStore.setStarting",{"id":"external:serviceStore.setStarting","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setStarting"}}],["symbol-name:getServerUrl",{"id":"symbol-name:getServerUrl","kind":"symbol","language":"jsts","symbolName":"getServerUrl","metadata":{"unresolvedName":"getServerUrl"}}],["external:serviceStore.setStartedByUs",{"id":"external:serviceStore.setStartedByUs","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}}],["external:serviceStore.setRunning",{"id":"external:serviceStore.setRunning","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setRunning"}}],["symbol-name:handleBinaryPathChange",{"id":"symbol-name:handleBinaryPathChange","kind":"symbol","language":"jsts","symbolName":"handleBinaryPathChange","metadata":{"unresolvedName":"handleBinaryPathChange"}}],["external:serviceStore.setEnvVars",{"id":"external:serviceStore.setEnvVars","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.setEnvVars"}}],["external:envVars.map",{"id":"external:envVars.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"envVars.map"}}],["external:envVars.filter",{"id":"external:envVars.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"envVars.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":222,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleAutoStartToggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleAutoStartToggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"handleAutoStartToggle","symbolKind":"function","exported":false,"metadata":{"line":43,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"handleBinaryPathChange","symbolKind":"function","exported":false,"metadata":{"line":47,"column":34,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"handleStartService","symbolKind":"function","exported":false,"metadata":{"line":55,"column":30,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"handleStopService","symbolKind":"function","exported":false,"metadata":{"line":76,"column":29,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","symbolName":"handleCheckService","symbolKind":"function","exported":false,"metadata":{"line":88,"column":30,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"Toggle","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":69,"column":18,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"SegmentedControl","symbolKind":"function","exported":true,"metadata":{"line":62,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:options.findIndex",{"id":"external:options.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.findIndex"}}],["external:options.map",{"id":"external:options.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSelect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSelect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"SettingsSelect","symbolKind":"function","exported":true,"metadata":{"line":110,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingRow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingRow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"SettingRow","symbolKind":"function","exported":true,"metadata":{"line":139,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"SettingsSection","symbolKind":"function","exported":true,"metadata":{"line":163,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsCard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsCard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","symbolName":"SettingsCard","symbolKind":"function","exported":true,"metadata":{"line":175,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","metadata":{"lineCount":87,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","metadata":{"lineCount":177,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":78,"column":61,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(getSttSettings).mockReset",{"id":"external:vi.mocked(getSttSettings).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockReset"}}],["external:vi.mocked(updateSttSettings).mockReset",{"id":"external:vi.mocked(updateSttSettings).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockReset"}}],["external:vi.mocked(getSttSettings).mockResolvedValue",{"id":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}}],["external:vi.mocked(updateSttSettings).mockImplementation",{"id":"external:vi.mocked(updateSttSettings).mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockImplementation"}}],["external:expect(enableSwitch).toHaveAttribute",{"id":"external:expect(enableSwitch).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(enableSwitch).toHaveAttribute"}}],["external:expect(screen.queryByRole('checkbox')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByRole('checkbox')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByRole('checkbox')).not.toBeInTheDocument"}}],["external:expect(updateSttSettings).toHaveBeenCalledWith",{"id":"external:expect(updateSttSettings).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updateSttSettings).toHaveBeenCalledWith"}}],["external:expect(requireKeySwitch).toHaveAttribute",{"id":"external:expect(requireKeySwitch).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(requireKeySwitch).toHaveAttribute"}}],["external:expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument"}}],["external:expect(screen.getByLabelText('Provider')).toHaveValue",{"id":"external:expect(screen.getByLabelText('Provider')).toHaveValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText('Provider')).toHaveValue"}}],["external:expect(screen.getByLabelText('Base URL')).toHaveValue",{"id":"external:expect(screen.getByLabelText('Base URL')).toHaveValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText('Base URL')).toHaveValue"}}],["external:expect(screen.getByLabelText('Endpoint')).toHaveValue",{"id":"external:expect(screen.getByLabelText('Endpoint')).toHaveValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText('Endpoint')).toHaveValue"}}],["external:expect(screen.getByLabelText('Model')).toHaveValue",{"id":"external:expect(screen.getByLabelText('Model')).toHaveValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText('Model')).toHaveValue"}}],["external:screen.findByLabelText",{"id":"external:screen.findByLabelText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.findByLabelText"}}],["external:expect(insertMode).toHaveClass",{"id":"external:expect(insertMode).toHaveClass","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(insertMode).toHaveClass"}}],["external:expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument",{"id":"external:expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument"}}],["external:insertMode.closest",{"id":"external:insertMode.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"insertMode.closest"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","symbolName":"SttSettings","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getSttSettings()\n .then",{"id":"external:getSttSettings()\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSttSettings()\n .then"}}],["symbol-name:setSettings",{"id":"symbol-name:setSettings","kind":"symbol","language":"jsts","symbolName":"setSettings","metadata":{"unresolvedName":"setSettings"}}],["external:apiKey.trim",{"id":"external:apiKey.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiKey.trim"}}],["symbol-name:setApiKey",{"id":"symbol-name:setApiKey","kind":"symbol","language":"jsts","symbolName":"setApiKey","metadata":{"unresolvedName":"setApiKey"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":25,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","symbolName":"saveSettings","symbolKind":"function","exported":false,"metadata":{"line":30,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","metadata":{"lineCount":46,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","metadata":{"lineCount":200,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":32,"column":69,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(getTtsSettings).mockReset",{"id":"external:vi.mocked(getTtsSettings).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockReset"}}],["external:vi.mocked(updateTtsSettings).mockReset",{"id":"external:vi.mocked(updateTtsSettings).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockReset"}}],["external:vi.mocked(getTtsSettings).mockResolvedValue",{"id":"external:vi.mocked(getTtsSettings).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockResolvedValue"}}],["external:vi.mocked(updateTtsSettings).mockImplementation",{"id":"external:vi.mocked(updateTtsSettings).mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockImplementation"}}],["external:expect(voiceSelect).toHaveValue",{"id":"external:expect(voiceSelect).toHaveValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(voiceSelect).toHaveValue"}}],["external:expect(updateTtsSettings).toHaveBeenCalledWith",{"id":"external:expect(updateTtsSettings).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(updateTtsSettings).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","symbolName":"TtsSettings","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getTtsSettings()\n .then",{"id":"external:getTtsSettings()\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getTtsSettings()\n .then"}}],["symbol-name:getTtsSettings",{"id":"symbol-name:getTtsSettings","kind":"symbol","language":"jsts","symbolName":"getTtsSettings","metadata":{"unresolvedName":"getTtsSettings"}}],["external:KOKORO_VOICES.map",{"id":"external:KOKORO_VOICES.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"KOKORO_VOICES.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":50,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","symbolName":"saveSettings","symbolKind":"function","exported":false,"metadata":{"line":55,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx:VoiceSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx:VoiceSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","symbolName":"VoiceSettings","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","metadata":{"lineCount":154,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","symbolName":"WorkspaceSettings","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:layoutStore.setWakeLock",{"id":"external:layoutStore.setWakeLock","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setWakeLock"}}],["symbol-name:setCodeWordWrap",{"id":"symbol-name:setCodeWordWrap","kind":"symbol","language":"jsts","symbolName":"setCodeWordWrap","metadata":{"unresolvedName":"setCodeWordWrap"}}],["symbol-name:setManualTerminalTitles",{"id":"symbol-name:setManualTerminalTitles","kind":"symbol","language":"jsts","symbolName":"setManualTerminalTitles","metadata":{"unresolvedName":"setManualTerminalTitles"}}],["external:layoutStore.syncTerminalTitleMode",{"id":"external:layoutStore.syncTerminalTitleMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.syncTerminalTitleMode"}}],["symbol-name:setDiffStyle",{"id":"symbol-name:setDiffStyle","kind":"symbol","language":"jsts","symbolName":"setDiffStyle","metadata":{"unresolvedName":"setDiffStyle"}}],["external:layoutStore.setTerminalCopyOnSelect",{"id":"external:layoutStore.setTerminalCopyOnSelect","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setTerminalCopyOnSelect"}}],["external:layoutStore.setTerminalRightClickPaste",{"id":"external:layoutStore.setTerminalRightClickPaste","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setTerminalRightClickPaste"}}],["external:layoutStore.setSidebarFolderRecents",{"id":"external:layoutStore.setSidebarFolderRecents","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setSidebarFolderRecents"}}],["external:layoutStore.setSidebarFolderRecentsShowDiff",{"id":"external:layoutStore.setSidebarFolderRecentsShowDiff","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setSidebarFolderRecentsShowDiff"}}],["external:layoutStore.setSidebarShowChildSessions",{"id":"external:layoutStore.setSidebarShowChildSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.setSidebarShowChildSessions"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":67,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","metadata":{"lineCount":333,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:Kbd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:Kbd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"Kbd","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"ShortcutDisplay","symbolKind":"function","exported":false,"metadata":{"line":59,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"KeybindingRow","symbolKind":"function","exported":false,"metadata":{"line":84,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:captureRef.current?.focus",{"id":"external:captureRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"captureRef.current?.focus"}}],["external:['Control', 'Alt', 'Shift', 'Meta'].includes",{"id":"external:['Control', 'Alt', 'Shift', 'Meta'].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"['Control', 'Alt', 'Shift', 'Meta'].includes"}}],["symbol-name:keyEventToString",{"id":"symbol-name:keyEventToString","kind":"symbol","language":"jsts","symbolName":"keyEventToString","metadata":{"unresolvedName":"keyEventToString"}}],["symbol-name:setTempKey",{"id":"symbol-name:setTempKey","kind":"symbol","language":"jsts","symbolName":"setTempKey","metadata":{"unresolvedName":"setTempKey"}}],["symbol-name:isKeyUsed",{"id":"symbol-name:isKeyUsed","kind":"symbol","language":"jsts","symbolName":"isKeyUsed","metadata":{"unresolvedName":"isKeyUsed"}}],["symbol-name:cancel",{"id":"symbol-name:cancel","kind":"symbol","language":"jsts","symbolName":"cancel","metadata":{"unresolvedName":"cancel"}}],["symbol-name:confirm",{"id":"symbol-name:confirm","kind":"symbol","language":"jsts","symbolName":"confirm","metadata":{"unresolvedName":"confirm"}}],["symbol-name:handleKeyDown",{"id":"symbol-name:handleKeyDown","kind":"symbol","language":"jsts","symbolName":"handleKeyDown","metadata":{"unresolvedName":"handleKeyDown"}}],["symbol-name:onReset",{"id":"symbol-name:onReset","kind":"symbol","language":"jsts","symbolName":"onReset","metadata":{"unresolvedName":"onReset"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":267,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"handler","symbolKind":"function","exported":false,"metadata":{"line":123,"column":21,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","symbolName":"KeybindingsSection","symbolKind":"function","exported":true,"metadata":{"line":228,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:useKeybindingStore",{"id":"symbol-name:useKeybindingStore","kind":"symbol","language":"jsts","symbolName":"useKeybindingStore","metadata":{"unresolvedName":"useKeybindingStore"}}],["external:keybindings.map",{"id":"external:keybindings.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindings.map"}}],["external:localizedKeybindings.filter",{"id":"external:localizedKeybindings.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"localizedKeybindings.filter"}}],["external:kb.label.toLowerCase().includes",{"id":"external:kb.label.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.label.toLowerCase().includes"}}],["external:kb.label.toLowerCase",{"id":"external:kb.label.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.label.toLowerCase"}}],["external:kb.description.toLowerCase().includes",{"id":"external:kb.description.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.description.toLowerCase().includes"}}],["external:kb.description.toLowerCase",{"id":"external:kb.description.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.description.toLowerCase"}}],["external:kb.currentKey.toLowerCase().includes",{"id":"external:kb.currentKey.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.currentKey.toLowerCase().includes"}}],["external:kb.currentKey.toLowerCase",{"id":"external:kb.currentKey.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"kb.currentKey.toLowerCase"}}],["external:CATEGORY_ORDER.map",{"id":"external:CATEGORY_ORDER.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"CATEGORY_ORDER.map"}}],["external:filtered.filter",{"id":"external:filtered.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"filtered.filter"}}],["external:localizedKeybindings.some",{"id":"external:localizedKeybindings.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"localizedKeybindings.some"}}],["external:searchRef.current?.focus",{"id":"external:searchRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchRef.current?.focus"}}],["external:grouped.map",{"id":"external:grouped.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"grouped.map"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","metadata":{"lineCount":44,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":30,"column":60,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(voiceTab).toBeInTheDocument",{"id":"external:expect(voiceTab).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(voiceTab).toBeInTheDocument"}}],["external:expect(voiceTab).toHaveAttribute",{"id":"external:expect(voiceTab).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(voiceTab).toHaveAttribute"}}],["external:expect(screen.getByText('voice-panel')).toBeInTheDocument",{"id":"external:expect(screen.getByText('voice-panel')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('voice-panel')).toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:TabContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:TabContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","symbolName":"TabContent","symbolKind":"function","exported":false,"metadata":{"line":127,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","symbolName":"SettingsDialog","symbolKind":"function","exported":true,"metadata":{"line":160,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:normalizeTab",{"id":"symbol-name:normalizeTab","kind":"symbol","language":"jsts","symbolName":"normalizeTab","metadata":{"unresolvedName":"normalizeTab"}}],["external:TAB_IDS.filter",{"id":"external:TAB_IDS.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"TAB_IDS.filter"}}],["external:visibleTabIds.map",{"id":"external:visibleTabIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleTabIds.map"}}],["external:GROUP_DEFS.map",{"id":"external:GROUP_DEFS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"GROUP_DEFS.map"}}],["external:group.tabs\n .map",{"id":"external:group.tabs\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.tabs\n .map"}}],["external:visibleTabs.find",{"id":"external:visibleTabs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleTabs.find"}}],["symbol-name:setTab",{"id":"symbol-name:setTab","kind":"symbol","language":"jsts","symbolName":"setTab","metadata":{"unresolvedName":"setTab"}}],["external:visibleTabs.some",{"id":"external:visibleTabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleTabs.some"}}],["external:document.getElementById(`settings-tab-${tab}`)?.focus",{"id":"external:document.getElementById(`settings-tab-${tab}`)?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${tab}`)?.focus"}}],["external:scrollRef.current?.scrollTo",{"id":"external:scrollRef.current?.scrollTo","kind":"external","language":"jsts","metadata":{"unresolvedName":"scrollRef.current?.scrollTo"}}],["external:visibleTabs.map",{"id":"external:visibleTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"visibleTabs.map"}}],["external:ids.indexOf",{"id":"external:ids.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"ids.indexOf"}}],["symbol-name:switchTab",{"id":"symbol-name:switchTab","kind":"symbol","language":"jsts","symbolName":"switchTab","metadata":{"unresolvedName":"switchTab"}}],["external:document.getElementById(`settings-tab-${ids[next]}`)?.focus",{"id":"external:document.getElementById(`settings-tab-${ids[next]}`)?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${ids[next]}`)?.focus"}}],["external:groupedTabs.map",{"id":"external:groupedTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"groupedTabs.map"}}],["external:group.tabs.map",{"id":"external:group.tabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"group.tabs.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":245,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/index.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","metadata":{"lineCount":50,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","metadata":{"lineCount":243,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":41,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["external:expect(screen.getByText('/compact')).toBeInTheDocument",{"id":"external:expect(screen.getByText('/compact')).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText('/compact')).toBeInTheDocument"}}],["external:expect(screen.queryByText('/explain')).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText('/explain')).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText('/explain')).not.toBeInTheDocument"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":172,"column":13,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["external:cmd.name.toLowerCase().includes",{"id":"external:cmd.name.toLowerCase().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.name.toLowerCase().includes"}}],["external:cmd.name.toLowerCase",{"id":"external:cmd.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"cmd.name.toLowerCase"}}],["external:getCommands(rootPath)\r\n .then",{"id":"external:getCommands(rootPath)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getCommands(rootPath)\r\n .then"}}],["symbol-name:setCommands",{"id":"symbol-name:setCommands","kind":"symbol","language":"jsts","symbolName":"setCommands","metadata":{"unresolvedName":"setCommands"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"calculate","symbolKind":"function","exported":false,"metadata":{"line":66,"column":23,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"moveUp","symbolKind":"function","exported":false,"metadata":{"line":154,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"moveDown","symbolKind":"function","exported":false,"metadata":{"line":157,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:selectCurrent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:selectCurrent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"selectCurrent","symbolKind":"function","exported":false,"metadata":{"line":160,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":173,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","user-input","process-exec"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/index.ts","metadata":{"lineCount":55,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts","metadata":{"lineCount":6,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","symbolName":"useCancelHint","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setShowCancelHint",{"id":"symbol-name:setShowCancelHint","kind":"symbol","language":"jsts","symbolName":"setShowCancelHint","metadata":{"unresolvedName":"setShowCancelHint"}}],["symbol-name:handleAbort",{"id":"symbol-name:handleAbort","kind":"symbol","language":"jsts","symbolName":"handleAbort","metadata":{"unresolvedName":"handleAbort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","metadata":{"lineCount":370,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","metadata":{"lineCount":1142,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":349,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:summarizeSessionMock.mockReset",{"id":"external:summarizeSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"summarizeSessionMock.mockReset"}}],["external:executeCommandMock.mockReset",{"id":"external:executeCommandMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"executeCommandMock.mockReset"}}],["external:getSelectableAgentsMock.mockReset",{"id":"external:getSelectableAgentsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSelectableAgentsMock.mockReset"}}],["external:registerSessionConsumerMock.mockReset",{"id":"external:registerSessionConsumerMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReset"}}],["external:updateConsumerSessionIdMock.mockReset",{"id":"external:updateConsumerSessionIdMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"updateConsumerSessionIdMock.mockReset"}}],["external:sendNotificationMock.mockReset",{"id":"external:sendNotificationMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"sendNotificationMock.mockReset"}}],["external:isSystemEnabledMock.mockReset",{"id":"external:isSystemEnabledMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"isSystemEnabledMock.mockReset"}}],["external:errorHandlerMock.mockReset",{"id":"external:errorHandlerMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"errorHandlerMock.mockReset"}}],["external:sendMessageAsyncMock.mockReset",{"id":"external:sendMessageAsyncMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"sendMessageAsyncMock.mockReset"}}],["external:abortSessionMock.mockReset",{"id":"external:abortSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"abortSessionMock.mockReset"}}],["external:registerSessionConsumerMock.mockReturnValue",{"id":"external:registerSessionConsumerMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReturnValue"}}],["external:getSelectableAgentsMock.mockResolvedValue",{"id":"external:getSelectableAgentsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSelectableAgentsMock.mockResolvedValue"}}],["external:isSystemEnabledMock.mockImplementation",{"id":"external:isSystemEnabledMock.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}}],["external:summarizeSessionMock.mockReturnValue",{"id":"external:summarizeSessionMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"summarizeSessionMock.mockReturnValue"}}],["symbol-name:renderHook",{"id":"symbol-name:renderHook","kind":"symbol","language":"jsts","symbolName":"renderHook","metadata":{"unresolvedName":"renderHook"}}],["external:result.current.handleCommand",{"id":"external:result.current.handleCommand","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.handleCommand"}}],["external:promise.then",{"id":"external:promise.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"promise.then"}}],["external:expect(summarizeSessionMock).toHaveBeenCalledWith",{"id":"external:expect(summarizeSessionMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(summarizeSessionMock).toHaveBeenCalledWith"}}],["external:expect(settled).toBe",{"id":"external:expect(settled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(settled).toBe"}}],["external:expect(commandResult).toBe",{"id":"external:expect(commandResult).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(commandResult).toBe"}}],["external:executeCommandMock.mockReturnValue",{"id":"external:executeCommandMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"executeCommandMock.mockReturnValue"}}],["external:expect(executeCommandMock).toHaveBeenCalledWith",{"id":"external:expect(executeCommandMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(executeCommandMock).toHaveBeenCalledWith"}}],["external:it.each",{"id":"external:it.each","kind":"external","language":"jsts","metadata":{"unresolvedName":"it.each"}}],["external:registerSessionConsumerMock.mockImplementation",{"id":"external:registerSessionConsumerMock.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"registerSessionConsumerMock.mockImplementation"}}],["external:callbacks?.[trigger]",{"id":"external:callbacks?.[trigger]","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks?.[trigger]"}}],["external:expect(sendNotificationMock).not.toHaveBeenCalled",{"id":"external:expect(sendNotificationMock).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendNotificationMock).not.toHaveBeenCalled"}}],["external:navigateToSessionMock.mockReset",{"id":"external:navigateToSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigateToSessionMock.mockReset"}}],["external:navigateHomeMock.mockReset",{"id":"external:navigateHomeMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigateHomeMock.mockReset"}}],["external:createSessionMock.mockResolvedValue",{"id":"external:createSessionMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"createSessionMock.mockResolvedValue"}}],["external:result.current.handleSend",{"id":"external:result.current.handleSend","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.handleSend"}}],["external:expect(success).toBe",{"id":"external:expect(success).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(success).toBe"}}],["external:expect(sendMessageAsyncMock).toHaveBeenCalledWith",{"id":"external:expect(sendMessageAsyncMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sendMessageAsyncMock).toHaveBeenCalledWith"}}],["external:expect(createSessionMock).toHaveBeenCalled",{"id":"external:expect(createSessionMock).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createSessionMock).toHaveBeenCalled"}}],["external:expect(navigateToSessionMock).toHaveBeenCalledWith",{"id":"external:expect(navigateToSessionMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(navigateToSessionMock).toHaveBeenCalledWith"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","metadata":{"lineCount":242,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","metadata":{"lineCount":123,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"useChatSession","symbolKind":"function","exported":true,"metadata":{"line":94,"column":1,"cyclomaticComplexity":141,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:useActiveSessionStore",{"id":"symbol-name:useActiveSessionStore","kind":"symbol","language":"jsts","symbolName":"useActiveSessionStore","metadata":{"unresolvedName":"useActiveSessionStore"}}],["external:serverStorage.get",{"id":"external:serverStorage.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStorage.get"}}],["symbol-name:setSelectedAgentRaw",{"id":"symbol-name:setSelectedAgentRaw","kind":"symbol","language":"jsts","symbolName":"setSelectedAgentRaw","metadata":{"unresolvedName":"setSelectedAgentRaw"}}],["external:serverStorage.set",{"id":"external:serverStorage.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStorage.set"}}],["symbol-name:usePermissions",{"id":"symbol-name:usePermissions","kind":"symbol","language":"jsts","symbolName":"usePermissions","metadata":{"unresolvedName":"usePermissions"}}],["symbol-name:useFollowupQueue",{"id":"symbol-name:useFollowupQueue","kind":"symbol","language":"jsts","symbolName":"useFollowupQueue","metadata":{"unresolvedName":"useFollowupQueue"}}],["symbol-name:getSessionTitle",{"id":"symbol-name:getSessionTitle","kind":"symbol","language":"jsts","symbolName":"getSessionTitle","metadata":{"unresolvedName":"getSessionTitle"}}],["symbol-name:useSessionFamily",{"id":"symbol-name:useSessionFamily","kind":"symbol","language":"jsts","symbolName":"useSessionFamily","metadata":{"unresolvedName":"useSessionFamily"}}],["symbol-name:useSessionManager",{"id":"symbol-name:useSessionManager","kind":"symbol","language":"jsts","symbolName":"useSessionManager","metadata":{"unresolvedName":"useSessionManager"}}],["symbol-name:usePermissionHandler",{"id":"symbol-name:usePermissionHandler","kind":"symbol","language":"jsts","symbolName":"usePermissionHandler","metadata":{"unresolvedName":"usePermissionHandler"}}],["symbol-name:useMessageAnimation",{"id":"symbol-name:useMessageAnimation","kind":"symbol","language":"jsts","symbolName":"useMessageAnimation","metadata":{"unresolvedName":"useMessageAnimation"}}],["external:autoApproveStore.shouldAutoApprove",{"id":"external:autoApproveStore.shouldAutoApprove","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.shouldAutoApprove"}}],["symbol-name:setPendingPermissionRequests",{"id":"symbol-name:setPendingPermissionRequests","kind":"symbol","language":"jsts","symbolName":"setPendingPermissionRequests","metadata":{"unresolvedName":"setPendingPermissionRequests"}}],["symbol-name:buildNotificationTitle",{"id":"symbol-name:buildNotificationTitle","kind":"symbol","language":"jsts","symbolName":"buildNotificationTitle","metadata":{"unresolvedName":"buildNotificationTitle"}}],["external:notificationEventSettingsStore.isSystemEnabled",{"id":"external:notificationEventSettingsStore.isSystemEnabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}}],["symbol-name:setPendingQuestionRequests",{"id":"symbol-name:setPendingQuestionRequests","kind":"symbol","language":"jsts","symbolName":"setPendingQuestionRequests","metadata":{"unresolvedName":"setPendingQuestionRequests"}}],["external:chatAreaRef.current?.scrollToBottomIfAtBottom",{"id":"external:chatAreaRef.current?.scrollToBottomIfAtBottom","kind":"external","language":"jsts","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToBottomIfAtBottom"}}],["external:messageStore.markAllSessionsStale",{"id":"external:messageStore.markAllSessionsStale","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.markAllSessionsStale"}}],["symbol-name:loadSession",{"id":"symbol-name:loadSession","kind":"symbol","language":"jsts","symbolName":"loadSession","metadata":{"unresolvedName":"loadSession"}}],["symbol-name:refreshPendingRequests",{"id":"symbol-name:refreshPendingRequests","kind":"symbol","language":"jsts","symbolName":"refreshPendingRequests","metadata":{"unresolvedName":"refreshPendingRequests"}}],["external:refetchModels().catch",{"id":"external:refetchModels().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"refetchModels().catch"}}],["symbol-name:refetchModels",{"id":"symbol-name:refetchModels","kind":"symbol","language":"jsts","symbolName":"refetchModels","metadata":{"unresolvedName":"refetchModels"}}],["external:getSelectableAgents(currentDirectory)\n .then",{"id":"external:getSelectableAgents(currentDirectory)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}}],["symbol-name:getSelectableAgents",{"id":"symbol-name:getSelectableAgents","kind":"symbol","language":"jsts","symbolName":"getSelectableAgents","metadata":{"unresolvedName":"getSelectableAgents"}}],["symbol-name:registerSessionConsumer",{"id":"symbol-name:registerSessionConsumer","kind":"symbol","language":"jsts","symbolName":"registerSessionConsumer","metadata":{"unresolvedName":"registerSessionConsumer"}}],["external:sseCallbacksRef.current.onPermissionAsked",{"id":"external:sseCallbacksRef.current.onPermissionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionAsked"}}],["external:sseCallbacksRef.current.onPermissionReplied",{"id":"external:sseCallbacksRef.current.onPermissionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionReplied"}}],["external:sseCallbacksRef.current.onQuestionAsked",{"id":"external:sseCallbacksRef.current.onQuestionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionAsked"}}],["external:sseCallbacksRef.current.onQuestionReplied",{"id":"external:sseCallbacksRef.current.onQuestionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionReplied"}}],["external:sseCallbacksRef.current.onQuestionRejected",{"id":"external:sseCallbacksRef.current.onQuestionRejected","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionRejected"}}],["external:sseCallbacksRef.current.onScrollRequest",{"id":"external:sseCallbacksRef.current.onScrollRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onScrollRequest"}}],["external:sseCallbacksRef.current.onSessionIdle",{"id":"external:sseCallbacksRef.current.onSessionIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionIdle"}}],["external:sseCallbacksRef.current.onSessionError",{"id":"external:sseCallbacksRef.current.onSessionError","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionError"}}],["external:sseCallbacksRef.current.onReconnected",{"id":"external:sseCallbacksRef.current.onReconnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"sseCallbacksRef.current.onReconnected"}}],["symbol-name:updateConsumerSessionId",{"id":"symbol-name:updateConsumerSessionId","kind":"symbol","language":"jsts","symbolName":"updateConsumerSessionId","metadata":{"unresolvedName":"updateConsumerSessionId"}}],["external:getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch",{"id":"external:getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch"}}],["external:getSelectableAgents(currentDirectory)\n .then",{"id":"external:getSelectableAgents(currentDirectory)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}}],["external:prefetchRootDirectory(effectiveDirectory).catch",{"id":"external:prefetchRootDirectory(effectiveDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"prefetchRootDirectory(effectiveDirectory).catch"}}],["symbol-name:prefetchRootDirectory",{"id":"symbol-name:prefetchRootDirectory","kind":"symbol","language":"jsts","symbolName":"prefetchRootDirectory","metadata":{"unresolvedName":"prefetchRootDirectory"}}],["external:prefetchCommands(effectiveDirectory).catch",{"id":"external:prefetchCommands(effectiveDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"prefetchCommands(effectiveDirectory).catch"}}],["symbol-name:prefetchCommands",{"id":"symbol-name:prefetchCommands","kind":"symbol","language":"jsts","symbolName":"prefetchCommands","metadata":{"unresolvedName":"prefetchCommands"}}],["external:primaryAgents.some",{"id":"external:primaryAgents.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"primaryAgents.some"}}],["symbol-name:resetPendingRequests",{"id":"symbol-name:resetPendingRequests","kind":"symbol","language":"jsts","symbolName":"resetPendingRequests","metadata":{"unresolvedName":"resetPendingRequests"}}],["external:childSessionStore.getChildSessionIds",{"id":"external:childSessionStore.getChildSessionIds","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.getChildSessionIds"}}],["external:childSessionStore.registerChildSession",{"id":"external:childSessionStore.registerChildSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}}],["external:childSessionStore.getSessionAndDescendants",{"id":"external:childSessionStore.getSessionAndDescendants","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.getSessionAndDescendants"}}],["external:getPendingPermissions(undefined, effectiveDirectory).catch",{"id":"external:getPendingPermissions(undefined, effectiveDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingPermissions(undefined, effectiveDirectory).catch"}}],["symbol-name:getPendingPermissions",{"id":"symbol-name:getPendingPermissions","kind":"symbol","language":"jsts","symbolName":"getPendingPermissions","metadata":{"unresolvedName":"getPendingPermissions"}}],["external:getPendingQuestions(undefined, effectiveDirectory).catch",{"id":"external:getPendingQuestions(undefined, effectiveDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingQuestions(undefined, effectiveDirectory).catch"}}],["symbol-name:getPendingQuestions",{"id":"symbol-name:getPendingQuestions","kind":"symbol","language":"jsts","symbolName":"getPendingQuestions","metadata":{"unresolvedName":"getPendingQuestions"}}],["external:allPerms.filter",{"id":"external:allPerms.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"allPerms.filter"}}],["external:family.has",{"id":"external:family.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"family.has"}}],["external:nextPerms.map",{"id":"external:nextPerms.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextPerms.map"}}],["external:merged.has",{"id":"external:merged.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"merged.has"}}],["external:merged.set",{"id":"external:merged.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"merged.set"}}],["external:merged.values",{"id":"external:merged.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"merged.values"}}],["external:allQuestions.filter",{"id":"external:allQuestions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"allQuestions.filter"}}],["symbol-name:loadChildSessionsAndPermissions",{"id":"symbol-name:loadChildSessionsAndPermissions","kind":"symbol","language":"jsts","symbolName":"loadChildSessionsAndPermissions","metadata":{"unresolvedName":"loadChildSessionsAndPermissions"}}],["external:messageStore.createSendRollbackSnapshot",{"id":"external:messageStore.createSendRollbackSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.createSendRollbackSnapshot"}}],["symbol-name:createSession",{"id":"symbol-name:createSession","kind":"symbol","language":"jsts","symbolName":"createSession","metadata":{"unresolvedName":"createSession"}}],["external:messageStore.truncateAfterRevert",{"id":"external:messageStore.truncateAfterRevert","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.truncateAfterRevert"}}],["external:messageStore.setStreaming",{"id":"external:messageStore.setStreaming","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.setStreaming"}}],["symbol-name:sendMessageAsync",{"id":"symbol-name:sendMessageAsync","kind":"symbol","language":"jsts","symbolName":"sendMessageAsync","metadata":{"unresolvedName":"sendMessageAsync"}}],["external:state.messages.some",{"id":"external:state.messages.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.some"}}],["external:message.parts.some",{"id":"external:message.parts.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.parts.some"}}],["external:getSessionMessages(pullSessionId, 5, pullDir)\n .then",{"id":"external:getSessionMessages(pullSessionId, 5, pullDir)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionMessages(pullSessionId, 5, pullDir)\n .then"}}],["external:messageStore.handleMessageUpdated",{"id":"external:messageStore.handleMessageUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}}],["external:messageStore.handlePartUpdated",{"id":"external:messageStore.handlePartUpdated","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}}],["external:messageStore.restoreSendRollback",{"id":"external:messageStore.restoreSendRollback","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.restoreSendRollback"}}],["external:followupQueueStore.remove",{"id":"external:followupQueueStore.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.remove"}}],["external:followupQueueStore.enqueue",{"id":"external:followupQueueStore.enqueue","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.enqueue"}}],["external:messageStore.upsertLocalMessage",{"id":"external:messageStore.upsertLocalMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.upsertLocalMessage"}}],["symbol-name:buildLocalQueuedMessage",{"id":"symbol-name:buildLocalQueuedMessage","kind":"symbol","language":"jsts","symbolName":"buildLocalQueuedMessage","metadata":{"unresolvedName":"buildLocalQueuedMessage"}}],["symbol-name:sendMessageNow",{"id":"symbol-name:sendMessageNow","kind":"symbol","language":"jsts","symbolName":"sendMessageNow","metadata":{"unresolvedName":"sendMessageNow"}}],["external:followupQueueStore.getItem",{"id":"external:followupQueueStore.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.getItem"}}],["external:followupQueueStore.startSending",{"id":"external:followupQueueStore.startSending","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.startSending"}}],["external:messageStore.removeMessage",{"id":"external:messageStore.removeMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.removeMessage"}}],["external:followupQueueStore.finishSending",{"id":"external:followupQueueStore.finishSending","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.finishSending"}}],["external:followupQueueStore.markFailed",{"id":"external:followupQueueStore.markFailed","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.markFailed"}}],["external:followupQueueStore.getItems",{"id":"external:followupQueueStore.getItems","kind":"external","language":"jsts","metadata":{"unresolvedName":"followupQueueStore.getItems"}}],["symbol-name:setRestoredContent",{"id":"symbol-name:setRestoredContent","kind":"symbol","language":"jsts","symbolName":"setRestoredContent","metadata":{"unresolvedName":"setRestoredContent"}}],["symbol-name:sendQueuedFollowup",{"id":"symbol-name:sendQueuedFollowup","kind":"symbol","language":"jsts","symbolName":"sendQueuedFollowup","metadata":{"unresolvedName":"sendQueuedFollowup"}}],["symbol-name:hasOtherConsumerForSession",{"id":"symbol-name:hasOtherConsumerForSession","kind":"symbol","language":"jsts","symbolName":"hasOtherConsumerForSession","metadata":{"unresolvedName":"hasOtherConsumerForSession"}}],["symbol-name:resetPermissions",{"id":"symbol-name:resetPermissions","kind":"symbol","language":"jsts","symbolName":"resetPermissions","metadata":{"unresolvedName":"resetPermissions"}}],["external:messages.findIndex",{"id":"external:messages.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.findIndex"}}],["symbol-name:forkSession",{"id":"symbol-name:forkSession","kind":"symbol","language":"jsts","symbolName":"forkSession","metadata":{"unresolvedName":"forkSession"}}],["symbol-name:extractUserMessageContent",{"id":"symbol-name:extractUserMessageContent","kind":"symbol","language":"jsts","symbolName":"extractUserMessageContent","metadata":{"unresolvedName":"extractUserMessageContent"}}],["external:messageStore.handleSessionIdle",{"id":"external:messageStore.handleSessionIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}}],["external:commandStr.trim",{"id":"external:commandStr.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"commandStr.trim"}}],["external:withoutSlash.indexOf",{"id":"external:withoutSlash.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"withoutSlash.indexOf"}}],["external:withoutSlash.slice",{"id":"external:withoutSlash.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"withoutSlash.slice"}}],["symbol-name:handleNewChat",{"id":"symbol-name:handleNewChat","kind":"symbol","language":"jsts","symbolName":"handleNewChat","metadata":{"unresolvedName":"handleNewChat"}}],["symbol-name:summarizeSession",{"id":"symbol-name:summarizeSession","kind":"symbol","language":"jsts","symbolName":"summarizeSession","metadata":{"unresolvedName":"summarizeSession"}}],["external:executeCommand(sessionId, command, args, effectiveDirectory).catch",{"id":"external:executeCommand(sessionId, command, args, effectiveDirectory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"executeCommand(sessionId, command, args, effectiveDirectory).catch"}}],["external:messages.slice(messageIndex).map",{"id":"external:messages.slice(messageIndex).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.slice(messageIndex).map"}}],["external:messages.slice",{"id":"external:messages.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.slice"}}],["symbol-name:animateUndo",{"id":"symbol-name:animateUndo","kind":"symbol","language":"jsts","symbolName":"animateUndo","metadata":{"unresolvedName":"animateUndo"}}],["symbol-name:handleUndo",{"id":"symbol-name:handleUndo","kind":"symbol","language":"jsts","symbolName":"handleUndo","metadata":{"unresolvedName":"handleUndo"}}],["symbol-name:animateRedo",{"id":"symbol-name:animateRedo","kind":"symbol","language":"jsts","symbolName":"animateRedo","metadata":{"unresolvedName":"animateRedo"}}],["symbol-name:handleRedo",{"id":"symbol-name:handleRedo","kind":"symbol","language":"jsts","symbolName":"handleRedo","metadata":{"unresolvedName":"handleRedo"}}],["external:sessions.findIndex",{"id":"external:sessions.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.findIndex"}}],["external:agents.some",{"id":"external:agents.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"agents.some"}}],["symbol-name:clearRevert",{"id":"symbol-name:clearRevert","kind":"symbol","language":"jsts","symbolName":"clearRevert","metadata":{"unresolvedName":"clearRevert"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1081,"column":41,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onPermissionAsked","symbolKind":"function","exported":false,"metadata":{"line":293,"column":26,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onPermissionReplied","symbolKind":"function","exported":false,"metadata":{"line":327,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onQuestionAsked","symbolKind":"function","exported":false,"metadata":{"line":330,"column":24,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onQuestionReplied","symbolKind":"function","exported":false,"metadata":{"line":347,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onQuestionRejected","symbolKind":"function","exported":false,"metadata":{"line":350,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onScrollRequest",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onScrollRequest","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onScrollRequest","symbolKind":"function","exported":false,"metadata":{"line":353,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onSessionIdle","symbolKind":"function","exported":false,"metadata":{"line":356,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onSessionError","symbolKind":"function","exported":false,"metadata":{"line":367,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"onReconnected","symbolKind":"function","exported":false,"metadata":{"line":378,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","symbolName":"loadChildSessionsAndPermissions","symbolKind":"function","exported":false,"metadata":{"line":488,"column":5,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","metadata":{"lineCount":26,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","symbolName":"useClickOutside","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:ref.current.contains",{"id":"external:ref.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"ref.current.contains"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":11,"column":13,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","symbolName":"handleClickOutside","symbolKind":"function","exported":false,"metadata":{"line":14,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","symbolName":"useCloseServiceDialog","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setShowCloseDialog",{"id":"symbol-name:setShowCloseDialog","kind":"symbol","language":"jsts","symbolName":"setShowCloseDialog","metadata":{"unresolvedName":"setShowCloseDialog"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":41,"column":47,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","metadata":{"lineCount":54,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":45,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","symbolName":"useDelayedRender","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":23,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","symbolName":"useDropdown","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:options.onOpen",{"id":"external:options.onOpen","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.onOpen"}}],["external:options.onClose",{"id":"external:options.onClose","kind":"external","language":"jsts","metadata":{"unresolvedName":"options.onClose"}}],["symbol-name:useClickOutside",{"id":"symbol-name:useClickOutside","kind":"symbol","language":"jsts","symbolName":"useClickOutside","metadata":{"unresolvedName":"useClickOutside"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":34,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","symbolName":"useDynamicVirtualScroll","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":23,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:estimateHeight",{"id":"symbol-name:estimateHeight","kind":"symbol","language":"jsts","symbolName":"estimateHeight","metadata":{"unresolvedName":"estimateHeight"}}],["symbol-name:getEstimatedHeight",{"id":"symbol-name:getEstimatedHeight","kind":"symbol","language":"jsts","symbolName":"getEstimatedHeight","metadata":{"unresolvedName":"getEstimatedHeight"}}],["symbol-name:findIndex",{"id":"symbol-name:findIndex","kind":"symbol","language":"jsts","symbolName":"findIndex","metadata":{"unresolvedName":"findIndex"}}],["symbol-name:setContainerWidth",{"id":"symbol-name:setContainerWidth","kind":"symbol","language":"jsts","symbolName":"setContainerWidth","metadata":{"unresolvedName":"setContainerWidth"}}],["symbol-name:setMeasuredHeights",{"id":"symbol-name:setMeasuredHeights","kind":"symbol","language":"jsts","symbolName":"setMeasuredHeights","metadata":{"unresolvedName":"setMeasuredHeights"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":173,"column":57,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","metadata":{"lineCount":196,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","metadata":{"lineCount":496,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":186,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.clearAllMocks",{"id":"external:vi.clearAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.clearAllMocks"}}],["external:listDirectory.mockResolvedValue",{"id":"external:listDirectory.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"listDirectory.mockResolvedValue"}}],["external:getFileContent.mockResolvedValue",{"id":"external:getFileContent.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getFileContent.mockResolvedValue"}}],["external:getFileStatus.mockResolvedValue",{"id":"external:getFileStatus.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getFileStatus.mockResolvedValue"}}],["external:getVcsDiff.mockResolvedValue",{"id":"external:getVcsDiff.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getVcsDiff.mockResolvedValue"}}],["external:expect(result.current.fileStatus.get('src/session.ts')?.status).toBe",{"id":"external:expect(result.current.fileStatus.get('src/session.ts')?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')?.status).toBe"}}],["external:result.current.fileStatus.get",{"id":"external:result.current.fileStatus.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.fileStatus.get"}}],["external:expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe",{"id":"external:expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe"}}],["external:expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined",{"id":"external:expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined"}}],["external:listDirectory.mockImplementation",{"id":"external:listDirectory.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"listDirectory.mockImplementation"}}],["external:expect(result.current.tree).toHaveLength",{"id":"external:expect(result.current.tree).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.tree).toHaveLength"}}],["external:result.current.toggleExpand",{"id":"external:result.current.toggleExpand","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.toggleExpand"}}],["external:expect(result.current.expandedPaths.has('src')).toBe",{"id":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}}],["external:result.current.expandedPaths.has",{"id":"external:result.current.expandedPaths.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.expandedPaths.has"}}],["external:expect(result.current.tree[0]?.children?.[0]?.path).toBe",{"id":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}}],["external:expect(result.current.tree[0]?.absolute).toBe",{"id":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}}],["external:expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined",{"id":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined"}}],["symbol-name:resolveRepoAChildren!",{"id":"symbol-name:resolveRepoAChildren!","kind":"symbol","language":"jsts","symbolName":"resolveRepoAChildren!","metadata":{"unresolvedName":"resolveRepoAChildren!"}}],["external:expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual",{"id":"external:expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual"}}],["external:result.current.tree[0]?.children?.map",{"id":"external:result.current.tree[0]?.children?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.tree[0]?.children?.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"useFileExplorer","symbolKind":"function","exported":true,"metadata":{"line":51,"column":1,"cyclomaticComplexity":54,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:sortNodes",{"id":"symbol-name:sortNodes","kind":"symbol","language":"jsts","symbolName":"sortNodes","metadata":{"unresolvedName":"sortNodes"}}],["symbol-name:setTree",{"id":"symbol-name:setTree","kind":"symbol","language":"jsts","symbolName":"setTree","metadata":{"unresolvedName":"setTree"}}],["external:sorted.map",{"id":"external:sorted.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"sorted.map"}}],["symbol-name:setFileStatus",{"id":"symbol-name:setFileStatus","kind":"symbol","language":"jsts","symbolName":"setFileStatus","metadata":{"unresolvedName":"setFileStatus"}}],["external:status.forEach",{"id":"external:status.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"status.forEach"}}],["external:statusMap.set",{"id":"external:statusMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusMap.set"}}],["external:diffs.forEach",{"id":"external:diffs.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"diffs.forEach"}}],["symbol-name:getFileStatusFromDiff",{"id":"symbol-name:getFileStatusFromDiff","kind":"symbol","language":"jsts","symbolName":"getFileStatusFromDiff","metadata":{"unresolvedName":"getFileStatusFromDiff"}}],["symbol-name:computeDirectoryStatus",{"id":"symbol-name:computeDirectoryStatus","kind":"symbol","language":"jsts","symbolName":"computeDirectoryStatus","metadata":{"unresolvedName":"computeDirectoryStatus"}}],["external:childLoadIdsRef.current.get",{"id":"external:childLoadIdsRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"childLoadIdsRef.current.get"}}],["external:childLoadIdsRef.current.set",{"id":"external:childLoadIdsRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"childLoadIdsRef.current.set"}}],["symbol-name:updateTreeNode",{"id":"symbol-name:updateTreeNode","kind":"symbol","language":"jsts","symbolName":"updateTreeNode","metadata":{"unresolvedName":"updateTreeNode"}}],["symbol-name:isCurrentLoad",{"id":"symbol-name:isCurrentLoad","kind":"symbol","language":"jsts","symbolName":"isCurrentLoad","metadata":{"unresolvedName":"isCurrentLoad"}}],["symbol-name:setExpandedPaths",{"id":"symbol-name:setExpandedPaths","kind":"symbol","language":"jsts","symbolName":"setExpandedPaths","metadata":{"unresolvedName":"setExpandedPaths"}}],["symbol-name:updater",{"id":"symbol-name:updater","kind":"symbol","language":"jsts","symbolName":"updater","metadata":{"unresolvedName":"updater"}}],["external:expandedPathsByDirectoryRef.current.set",{"id":"external:expandedPathsByDirectoryRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.set"}}],["symbol-name:updateExpandedPaths",{"id":"symbol-name:updateExpandedPaths","kind":"symbol","language":"jsts","symbolName":"updateExpandedPaths","metadata":{"unresolvedName":"updateExpandedPaths"}}],["symbol-name:findTreeNode",{"id":"symbol-name:findTreeNode","kind":"symbol","language":"jsts","symbolName":"findTreeNode","metadata":{"unresolvedName":"findTreeNode"}}],["symbol-name:loadChildren",{"id":"symbol-name:loadChildren","kind":"symbol","language":"jsts","symbolName":"loadChildren","metadata":{"unresolvedName":"loadChildren"}}],["symbol-name:setPreviewLoading",{"id":"symbol-name:setPreviewLoading","kind":"symbol","language":"jsts","symbolName":"setPreviewLoading","metadata":{"unresolvedName":"setPreviewLoading"}}],["symbol-name:setPreviewError",{"id":"symbol-name:setPreviewError","kind":"symbol","language":"jsts","symbolName":"setPreviewError","metadata":{"unresolvedName":"setPreviewError"}}],["external:previewCacheRef.current.get",{"id":"external:previewCacheRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewCacheRef.current.get"}}],["symbol-name:setPreviewContent",{"id":"symbol-name:setPreviewContent","kind":"symbol","language":"jsts","symbolName":"setPreviewContent","metadata":{"unresolvedName":"setPreviewContent"}}],["symbol-name:getFileContent",{"id":"symbol-name:getFileContent","kind":"symbol","language":"jsts","symbolName":"getFileContent","metadata":{"unresolvedName":"getFileContent"}}],["external:previewCacheRef.current.set",{"id":"external:previewCacheRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewCacheRef.current.set"}}],["external:expandedPathsByDirectoryRef.current.delete",{"id":"external:expandedPathsByDirectoryRef.current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.delete"}}],["external:previewCacheRef.current.clear",{"id":"external:previewCacheRef.current.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewCacheRef.current.clear"}}],["symbol-name:loadRoot",{"id":"symbol-name:loadRoot","kind":"symbol","language":"jsts","symbolName":"loadRoot","metadata":{"unresolvedName":"loadRoot"}}],["symbol-name:loadStatuses",{"id":"symbol-name:loadStatuses","kind":"symbol","language":"jsts","symbolName":"loadStatuses","metadata":{"unresolvedName":"loadStatuses"}}],["external:expandedPathsByDirectoryRef.current.get",{"id":"external:expandedPathsByDirectoryRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.get"}}],["symbol-name:collectPendingExpandedDirectoryPaths",{"id":"symbol-name:collectPendingExpandedDirectoryPaths","kind":"symbol","language":"jsts","symbolName":"collectPendingExpandedDirectoryPaths","metadata":{"unresolvedName":"collectPendingExpandedDirectoryPaths"}}],["external:pendingPaths.forEach",{"id":"external:pendingPaths.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingPaths.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":411,"column":19,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"sortNodes","symbolKind":"function","exported":false,"metadata":{"line":384,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:[...nodes].sort",{"id":"external:[...nodes].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...nodes].sort"}}],["external:a.name.toLowerCase().localeCompare",{"id":"external:a.name.toLowerCase().localeCompare","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.name.toLowerCase().localeCompare"}}],["external:b.name.toLowerCase",{"id":"external:b.name.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.name.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"findTreeNode","symbolKind":"function","exported":false,"metadata":{"line":395,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"updateTreeNode","symbolKind":"function","exported":false,"metadata":{"line":406,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"collectPendingExpandedDirectoryPaths","symbolKind":"function","exported":false,"metadata":{"line":425,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pending.push",{"id":"external:pending.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"pending.push"}}],["symbol-name:visit",{"id":"symbol-name:visit","kind":"symbol","language":"jsts","symbolName":"visit","metadata":{"unresolvedName":"visit"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"visit","symbolKind":"function","exported":false,"metadata":{"line":428,"column":17,"cyclomaticComplexity":7,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"normalizePath","symbolKind":"function","exported":false,"metadata":{"line":450,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:result.startsWith",{"id":"external:result.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.startsWith"}}],["external:result.slice",{"id":"external:result.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"getFileStatusFromDiff","symbolKind":"function","exported":false,"metadata":{"line":457,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","symbolName":"computeDirectoryStatus","symbolKind":"function","exported":false,"metadata":{"line":470,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:parts.slice(0, i).join",{"id":"external:parts.slice(0, i).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts.slice(0, i).join"}}],["external:dirStatuses.get",{"id":"external:dirStatuses.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"dirStatuses.get"}}],["external:dirStatuses.set",{"id":"external:dirStatuses.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"dirStatuses.set"}}],["external:statusMap.has",{"id":"external:statusMap.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusMap.has"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","metadata":{"lineCount":178,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","symbolName":"requestGitWorkspaceCatalogRefresh","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:refreshListeners.forEach",{"id":"external:refreshListeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"refreshListeners.forEach"}}],["symbol-name:listener",{"id":"symbol-name:listener","kind":"symbol","language":"jsts","symbolName":"listener","metadata":{"unresolvedName":"listener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","symbolName":"useGitWorkspaceCatalog","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":21,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:directories.filter(Boolean).map",{"id":"external:directories.filter(Boolean).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.filter(Boolean).map"}}],["external:directories.filter",{"id":"external:directories.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.filter"}}],["symbol-name:setCatalogState",{"id":"symbol-name:setCatalogState","kind":"symbol","language":"jsts","symbolName":"setCatalogState","metadata":{"unresolvedName":"setCatalogState"}}],["external:normalizedDirectories.map",{"id":"external:normalizedDirectories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedDirectories.map"}}],["external:previousWorkspacesByRoot.set",{"id":"external:previousWorkspacesByRoot.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"previousWorkspacesByRoot.set"}}],["external:normalizedDirectorySet.has",{"id":"external:normalizedDirectorySet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedDirectorySet.has"}}],["external:nextCatalog.set",{"id":"external:nextCatalog.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextCatalog.set"}}],["external:previousCatalog.get",{"id":"external:previousCatalog.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"previousCatalog.get"}}],["external:rootDirectories.add",{"id":"external:rootDirectories.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectories.add"}}],["external:directoryToRoot.set",{"id":"external:directoryToRoot.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"directoryToRoot.set"}}],["external:rootDirectoryList.map",{"id":"external:rootDirectoryList.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectoryList.map"}}],["external:rootToWorkspaces.set",{"id":"external:rootToWorkspaces.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootToWorkspaces.set"}}],["external:previousWorkspacesByRoot.get",{"id":"external:previousWorkspacesByRoot.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"previousWorkspacesByRoot.get"}}],["external:normalizedWorktrees.filter",{"id":"external:normalizedWorktrees.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedWorktrees.filter"}}],["external:worktree.toLowerCase",{"id":"external:worktree.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"worktree.toLowerCase"}}],["external:rootDirectory.toLowerCase",{"id":"external:rootDirectory.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootDirectory.toLowerCase"}}],["external:rootToWorkspaces.get",{"id":"external:rootToWorkspaces.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"rootToWorkspaces.get"}}],["external:refreshListeners.add",{"id":"external:refreshListeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"refreshListeners.add"}}],["external:refreshListeners.delete",{"id":"external:refreshListeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"refreshListeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":167,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","metadata":{"lineCount":484,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","metadata":{"lineCount":623,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:createDeferred",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:createDeferred","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","symbolName":"createDeferred","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":466,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:getSessionStatusMock.mockClear",{"id":"external:getSessionStatusMock.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionStatusMock.mockClear"}}],["external:getPendingPermissionsMock.mockClear",{"id":"external:getPendingPermissionsMock.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingPermissionsMock.mockClear"}}],["external:getPendingQuestionsMock.mockClear",{"id":"external:getPendingQuestionsMock.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingQuestionsMock.mockClear"}}],["external:replyPermissionMock.mockClear",{"id":"external:replyPermissionMock.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyPermissionMock.mockClear"}}],["external:childBelongsToSessionMock.mockReset",{"id":"external:childBelongsToSessionMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"childBelongsToSessionMock.mockReset"}}],["external:getFocusedSessionIdMock.mockReset",{"id":"external:getFocusedSessionIdMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReset"}}],["external:notificationPushMock.mockReset",{"id":"external:notificationPushMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationPushMock.mockReset"}}],["external:playNotificationSoundDedupedMock.mockReset",{"id":"external:playNotificationSoundDedupedMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"playNotificationSoundDedupedMock.mockReset"}}],["external:getSoundSnapshotMock.mockReset",{"id":"external:getSoundSnapshotMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReset"}}],["external:applyServerConnectedTimestampMock.mockReset",{"id":"external:applyServerConnectedTimestampMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"applyServerConnectedTimestampMock.mockReset"}}],["external:getActiveServerIdMock.mockReset",{"id":"external:getActiveServerIdMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveServerIdMock.mockReset"}}],["external:Object.values(activeSessionStoreMock).forEach",{"id":"external:Object.values(activeSessionStoreMock).forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values(activeSessionStoreMock).forEach"}}],["external:Object.values",{"id":"external:Object.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values"}}],["external:value.mockClear",{"id":"external:value.mockClear","kind":"external","language":"jsts","metadata":{"unresolvedName":"value.mockClear"}}],["external:getSoundSnapshotMock.mockReturnValue",{"id":"external:getSoundSnapshotMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReturnValue"}}],["external:getActiveServerIdMock.mockReturnValue",{"id":"external:getActiveServerIdMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveServerIdMock.mockReturnValue"}}],["external:activeSessionStoreMock.getSessionMeta.mockReturnValue",{"id":"external:activeSessionStoreMock.getSessionMeta.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockReturnValue"}}],["external:activeSessionStoreMock.getSnapshot.mockReturnValue",{"id":"external:activeSessionStoreMock.getSnapshot.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStoreMock.getSnapshot.mockReturnValue"}}],["external:expect(callbacks).toBeDefined",{"id":"external:expect(callbacks).toBeDefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}}],["external:callbacks!.onServerConnected",{"id":"external:callbacks!.onServerConnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks!.onServerConnected"}}],["external:expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith",{"id":"external:expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith"}}],["external:getPendingPermissionsMock.mockResolvedValue",{"id":"external:getPendingPermissionsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingPermissionsMock.mockResolvedValue"}}],["external:getPendingQuestionsMock.mockResolvedValue",{"id":"external:getPendingQuestionsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingQuestionsMock.mockResolvedValue"}}],["external:getSessionStatusMock.mockImplementation",{"id":"external:getSessionStatusMock.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionStatusMock.mockImplementation"}}],["external:statusDeferreds.set",{"id":"external:statusDeferreds.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusDeferreds.set"}}],["external:expect(getSessionStatusMock).toHaveBeenCalledWith",{"id":"external:expect(getSessionStatusMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionStatusMock).toHaveBeenCalledWith"}}],["external:statusDeferreds.get('/two')?.resolve",{"id":"external:statusDeferreds.get('/two')?.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusDeferreds.get('/two')?.resolve"}}],["external:statusDeferreds.get",{"id":"external:statusDeferreds.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusDeferreds.get"}}],["external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes",{"id":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes"}}],["external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith",{"id":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith"}}],["external:statusDeferreds.get('/one')?.resolve",{"id":"external:statusDeferreds.get('/one')?.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusDeferreds.get('/one')?.resolve"}}],["external:expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith",{"id":"external:expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith"}}],["external:callbacks!.onPermissionAsked",{"id":"external:callbacks!.onPermissionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}}],["external:statusDeferred.resolve",{"id":"external:statusDeferred.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"statusDeferred.resolve"}}],["external:expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled",{"id":"external:expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled"}}],["external:expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith",{"id":"external:expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith"}}],["external:activeSessionStoreMock.getSessionMeta.mockImplementation",{"id":"external:activeSessionStoreMock.getSessionMeta.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockImplementation"}}],["external:callbacks!.onQuestionAsked",{"id":"external:callbacks!.onQuestionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks!.onQuestionAsked"}}],["external:expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes",{"id":"external:expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes"}}],["external:activeSessionStoreMock.addPendingRequest.mock.calls.filter",{"id":"external:activeSessionStoreMock.addPendingRequest.mock.calls.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStoreMock.addPendingRequest.mock.calls.filter"}}],["external:getFocusedSessionIdMock.mockReturnValue",{"id":"external:getFocusedSessionIdMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}}],["external:childBelongsToSessionMock.mockImplementation",{"id":"external:childBelongsToSessionMock.mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"childBelongsToSessionMock.mockImplementation"}}],["external:expect(notificationPushMock).not.toHaveBeenCalled",{"id":"external:expect(notificationPushMock).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(notificationPushMock).not.toHaveBeenCalled"}}],["external:expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled",{"id":"external:expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled"}}],["external:expect(consumerAskedMock).not.toHaveBeenCalled",{"id":"external:expect(consumerAskedMock).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(consumerAskedMock).not.toHaveBeenCalled"}}],["external:callbacks!.onQuestionReplied",{"id":"external:callbacks!.onQuestionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks!.onQuestionReplied"}}],["external:callbacks!.onSessionCreated",{"id":"external:callbacks!.onSessionCreated","kind":"external","language":"jsts","metadata":{"unresolvedName":"callbacks!.onSessionCreated"}}],["external:expect(consumerAskedMock).toHaveBeenCalledTimes",{"id":"external:expect(consumerAskedMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledTimes"}}],["external:expect(consumerAskedMock).toHaveBeenCalledWith",{"id":"external:expect(consumerAskedMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledWith"}}],["symbol-name:unregister",{"id":"symbol-name:unregister","kind":"symbol","language":"jsts","symbolName":"unregister","metadata":{"unresolvedName":"unregister"}}],["external:expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith",{"id":"external:expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith"}}],["symbol-name:beforeTrigger",{"id":"symbol-name:beforeTrigger","kind":"symbol","language":"jsts","symbolName":"beforeTrigger","metadata":{"unresolvedName":"beforeTrigger"}}],["symbol-name:callbacks![trigger as keyof typeof callbacks]",{"id":"symbol-name:callbacks![trigger as keyof typeof callbacks]","kind":"symbol","language":"jsts","symbolName":"callbacks![trigger as keyof typeof callbacks]","metadata":{"unresolvedName":"callbacks![trigger as keyof typeof callbacks]"}}],["external:expect(notificationPushMock).toHaveBeenCalledTimes",{"id":"external:expect(notificationPushMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(notificationPushMock).toHaveBeenCalledTimes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","symbolName":"beforeTrigger","symbolKind":"function","exported":false,"metadata":{"line":452,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"registerSessionConsumer","symbolKind":"function","exported":true,"metadata":{"line":58,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:sessionConsumers.set",{"id":"external:sessionConsumers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionConsumers.set"}}],["external:sessionConsumers.delete",{"id":"external:sessionConsumers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionConsumers.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":614,"column":19,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"updateConsumerSessionId","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:sessionConsumers.get",{"id":"external:sessionConsumers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionConsumers.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"dispatchToConsumers","symbolKind":"function","exported":false,"metadata":{"line":76,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:sessionConsumers.values",{"id":"external:sessionConsumers.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionConsumers.values"}}],["external:childSessionStore.belongsToSession",{"id":"external:childSessionStore.belongsToSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.belongsToSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"hasConsumerForSession","symbolKind":"function","exported":false,"metadata":{"line":89,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"hasOtherConsumerForSession","symbolKind":"function","exported":true,"metadata":{"line":99,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:sessionConsumers.entries",{"id":"external:sessionConsumers.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionConsumers.entries"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"cleanupExpired","symbolKind":"function","exported":false,"metadata":{"line":124,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:arr.filter",{"id":"external:arr.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"arr.filter"}}],["external:map.delete",{"id":"external:map.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"map.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"addPending","symbolKind":"function","exported":false,"metadata":{"line":136,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"drainPending","symbolKind":"function","exported":false,"metadata":{"line":142,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:arr.map",{"id":"external:arr.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"arr.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"getScopeKey","symbolKind":"function","exported":false,"metadata":{"line":149,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:directories.join",{"id":"external:directories.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"removePendingByRequestId","symbolKind":"function","exported":false,"metadata":{"line":154,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"fetchActiveScopeData","symbolKind":"function","exported":false,"metadata":{"line":170,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:scopes.map",{"id":"external:scopes.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"scopes.map"}}],["external:getSessionStatus(directory).catch",{"id":"external:getSessionStatus(directory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionStatus(directory).catch"}}],["symbol-name:getSessionStatus",{"id":"symbol-name:getSessionStatus","kind":"symbol","language":"jsts","symbolName":"getSessionStatus","metadata":{"unresolvedName":"getSessionStatus"}}],["external:getPendingPermissions(undefined, directory).catch",{"id":"external:getPendingPermissions(undefined, directory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingPermissions(undefined, directory).catch"}}],["external:getPendingQuestions(undefined, directory).catch",{"id":"external:getPendingQuestions(undefined, directory).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPendingQuestions(undefined, directory).catch"}}],["external:results.forEach",{"id":"external:results.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"results.forEach"}}],["external:Object.keys(statusMap).forEach",{"id":"external:Object.keys(statusMap).forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.keys(statusMap).forEach"}}],["external:sessionMetaEntries.push",{"id":"external:sessionMetaEntries.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionMetaEntries.push"}}],["external:permissions.forEach",{"id":"external:permissions.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"permissions.forEach"}}],["external:permissionMap.set",{"id":"external:permissionMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"permissionMap.set"}}],["external:questions.forEach",{"id":"external:questions.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"questions.forEach"}}],["external:questionMap.set",{"id":"external:questionMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"questionMap.set"}}],["external:permissionMap.values",{"id":"external:permissionMap.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"permissionMap.values"}}],["external:questionMap.values",{"id":"external:questionMap.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"questionMap.values"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"belongsToCurrentSession","symbolKind":"function","exported":false,"metadata":{"line":227,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:hasConsumerForSession",{"id":"symbol-name:hasConsumerForSession","kind":"symbol","language":"jsts","symbolName":"hasConsumerForSession","metadata":{"unresolvedName":"hasConsumerForSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"isSessionDirectlyOpen","symbolKind":"function","exported":false,"metadata":{"line":252,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"useGlobalEvents","symbolKind":"function","exported":true,"metadata":{"line":263,"column":1,"cyclomaticComplexity":66,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:pendingScrollSessionIds.add",{"id":"external:pendingScrollSessionIds.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingScrollSessionIds.add"}}],["symbol-name:dispatchToConsumers",{"id":"symbol-name:dispatchToConsumers","kind":"symbol","language":"jsts","symbolName":"dispatchToConsumers","metadata":{"unresolvedName":"dispatchToConsumers"}}],["external:cb.onScrollRequest",{"id":"external:cb.onScrollRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onScrollRequest"}}],["external:pendingScrollSessionIds.clear",{"id":"external:pendingScrollSessionIds.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingScrollSessionIds.clear"}}],["external:fetchActiveScopeData(directoriesRef.current)\n .then",{"id":"external:fetchActiveScopeData(directoriesRef.current)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetchActiveScopeData(directoriesRef.current)\n .then"}}],["symbol-name:fetchActiveScopeData",{"id":"symbol-name:fetchActiveScopeData","kind":"symbol","language":"jsts","symbolName":"fetchActiveScopeData","metadata":{"unresolvedName":"fetchActiveScopeData"}}],["external:activeSessionStore.mergeStatusRefresh",{"id":"external:activeSessionStore.mergeStatusRefresh","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}}],["external:activeSessionStore.mergePendingRequests",{"id":"external:activeSessionStore.mergePendingRequests","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}}],["external:activeSessionStore.initialize",{"id":"external:activeSessionStore.initialize","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.initialize"}}],["external:activeSessionStore.initializePendingRequests",{"id":"external:activeSessionStore.initializePendingRequests","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}}],["symbol-name:getScopeKey",{"id":"symbol-name:getScopeKey","kind":"symbol","language":"jsts","symbolName":"getScopeKey","metadata":{"unresolvedName":"getScopeKey"}}],["external:latePendingRequests.values",{"id":"external:latePendingRequests.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"latePendingRequests.values"}}],["external:currentDirectories.includes",{"id":"external:currentDirectories.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentDirectories.includes"}}],["external:activeSessionStore.addPendingRequest",{"id":"external:activeSessionStore.addPendingRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}}],["external:activeSessionStore.setSessionMetaBulk",{"id":"external:activeSessionStore.setSessionMetaBulk","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.setSessionMetaBulk"}}],["symbol-name:scheduleScroll",{"id":"symbol-name:scheduleScroll","kind":"symbol","language":"jsts","symbolName":"scheduleScroll","metadata":{"unresolvedName":"scheduleScroll"}}],["external:messageStore.handlePartDelta",{"id":"external:messageStore.handlePartDelta","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handlePartDelta"}}],["external:messageStore.handlePartRemoved",{"id":"external:messageStore.handlePartRemoved","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}}],["symbol-name:belongsToCurrentSession",{"id":"symbol-name:belongsToCurrentSession","kind":"symbol","language":"jsts","symbolName":"belongsToCurrentSession","metadata":{"unresolvedName":"belongsToCurrentSession"}}],["symbol-name:drainPending",{"id":"symbol-name:drainPending","kind":"symbol","language":"jsts","symbolName":"drainPending","metadata":{"unresolvedName":"drainPending"}}],["external:cb.onPermissionAsked",{"id":"external:cb.onPermissionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onPermissionAsked"}}],["external:cb.onQuestionAsked",{"id":"external:cb.onQuestionAsked","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onQuestionAsked"}}],["external:activeSessionStore.setSessionMeta",{"id":"external:activeSessionStore.setSessionMeta","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.setSessionMeta"}}],["symbol-name:cleanupExpired",{"id":"symbol-name:cleanupExpired","kind":"symbol","language":"jsts","symbolName":"cleanupExpired","metadata":{"unresolvedName":"cleanupExpired"}}],["external:childSessionStore.markIdle",{"id":"external:childSessionStore.markIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.markIdle"}}],["external:cb.onSessionIdle",{"id":"external:cb.onSessionIdle","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onSessionIdle"}}],["external:messageStore.handleSessionError",{"id":"external:messageStore.handleSessionError","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.handleSessionError"}}],["external:childSessionStore.markError",{"id":"external:childSessionStore.markError","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.markError"}}],["external:activeSessionStore.updateStatus",{"id":"external:activeSessionStore.updateStatus","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.updateStatus"}}],["external:activeSessionStore.getSessionMeta",{"id":"external:activeSessionStore.getSessionMeta","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}}],["external:error.sessionID.slice",{"id":"external:error.sessionID.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"error.sessionID.slice"}}],["external:notificationStore.push",{"id":"external:notificationStore.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.push"}}],["symbol-name:isSessionDirectlyOpen",{"id":"symbol-name:isSessionDirectlyOpen","kind":"symbol","language":"jsts","symbolName":"isSessionDirectlyOpen","metadata":{"unresolvedName":"isSessionDirectlyOpen"}}],["external:soundStore.getSnapshot",{"id":"external:soundStore.getSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.getSnapshot"}}],["symbol-name:playNotificationSoundDeduped",{"id":"symbol-name:playNotificationSoundDeduped","kind":"symbol","language":"jsts","symbolName":"playNotificationSoundDeduped","metadata":{"unresolvedName":"playNotificationSoundDeduped"}}],["external:cb.onSessionError",{"id":"external:cb.onSessionError","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onSessionError"}}],["external:serverStore.applyServerConnectedTimestamp",{"id":"external:serverStore.applyServerConnectedTimestamp","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}}],["external:replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch",{"id":"external:replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch"}}],["symbol-name:replyPermission",{"id":"symbol-name:replyPermission","kind":"symbol","language":"jsts","symbolName":"replyPermission","metadata":{"unresolvedName":"replyPermission"}}],["external:request.sessionID.slice",{"id":"external:request.sessionID.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"request.sessionID.slice"}}],["external:latePendingRequests.set",{"id":"external:latePendingRequests.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"latePendingRequests.set"}}],["symbol-name:addPending",{"id":"symbol-name:addPending","kind":"symbol","language":"jsts","symbolName":"addPending","metadata":{"unresolvedName":"addPending"}}],["symbol-name:removePendingByRequestId",{"id":"symbol-name:removePendingByRequestId","kind":"symbol","language":"jsts","symbolName":"removePendingByRequestId","metadata":{"unresolvedName":"removePendingByRequestId"}}],["external:latePendingRequests.delete",{"id":"external:latePendingRequests.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"latePendingRequests.delete"}}],["external:activeSessionStore.resolvePendingRequest",{"id":"external:activeSessionStore.resolvePendingRequest","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}}],["external:cb.onPermissionReplied",{"id":"external:cb.onPermissionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onPermissionReplied"}}],["external:cb.onQuestionReplied",{"id":"external:cb.onQuestionReplied","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onQuestionReplied"}}],["external:cb.onQuestionRejected",{"id":"external:cb.onQuestionRejected","kind":"external","language":"jsts","metadata":{"unresolvedName":"cb.onQuestionRejected"}}],["external:activeSessionStore.getSnapshot",{"id":"external:activeSessionStore.getSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.getSnapshot"}}],["external:data.sessionID.slice",{"id":"external:data.sessionID.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.sessionID.slice"}}],["symbol-name:fetchAndInitialize",{"id":"symbol-name:fetchAndInitialize","kind":"symbol","language":"jsts","symbolName":"fetchAndInitialize","metadata":{"unresolvedName":"fetchAndInitialize"}}],["external:consumer.callbacks.onReconnected",{"id":"external:consumer.callbacks.onReconnected","kind":"external","language":"jsts","metadata":{"unresolvedName":"consumer.callbacks.onReconnected"}}],["external:refreshRef.current",{"id":"external:refreshRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"refreshRef.current"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"scheduleScroll","symbolKind":"function","exported":false,"metadata":{"line":287,"column":28,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"fetchAndInitialize","symbolKind":"function","exported":false,"metadata":{"line":306,"column":32,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onMessageUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onMessageUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onMessageUpdated","symbolKind":"function","exported":false,"metadata":{"line":352,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onPartUpdated","symbolKind":"function","exported":false,"metadata":{"line":356,"column":22,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onPartDelta","symbolKind":"function","exported":false,"metadata":{"line":364,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartRemoved",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartRemoved","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onPartRemoved","symbolKind":"function","exported":false,"metadata":{"line":369,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onSessionCreated","symbolKind":"function","exported":false,"metadata":{"line":377,"column":25,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onSessionIdle","symbolKind":"function","exported":false,"metadata":{"line":401,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onSessionError","symbolKind":"function","exported":false,"metadata":{"line":407,"column":23,"cyclomaticComplexity":11,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onSessionUpdated","symbolKind":"function","exported":false,"metadata":{"line":432,"column":25,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onServerConnected","symbolKind":"function","exported":false,"metadata":{"line":445,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onPermissionAsked","symbolKind":"function","exported":false,"metadata":{"line":455,"column":26,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onPermissionReplied","symbolKind":"function","exported":false,"metadata":{"line":495,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onQuestionAsked","symbolKind":"function","exported":false,"metadata":{"line":509,"column":24,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onQuestionReplied","symbolKind":"function","exported":false,"metadata":{"line":541,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onQuestionRejected","symbolKind":"function","exported":false,"metadata":{"line":551,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onSessionStatus","symbolKind":"function","exported":false,"metadata":{"line":565,"column":24,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","symbolName":"onReconnected","symbolKind":"function","exported":false,"metadata":{"line":590,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","symbolName":"getMatchMediaMatches","symbolKind":"function","exported":false,"metadata":{"line":13,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","symbolName":"getInputCapabilities","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getMatchMediaMatches",{"id":"symbol-name:getMatchMediaMatches","kind":"symbol","language":"jsts","symbolName":"getMatchMediaMatches","metadata":{"unresolvedName":"getMatchMediaMatches"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","symbolName":"useInputCapabilities","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setCapabilities",{"id":"symbol-name:setCapabilities","kind":"symbol","language":"jsts","symbolName":"setCapabilities","metadata":{"unresolvedName":"setCapabilities"}}],["symbol-name:getInputCapabilities",{"id":"symbol-name:getInputCapabilities","kind":"symbol","language":"jsts","symbolName":"getInputCapabilities","metadata":{"unresolvedName":"getInputCapabilities"}}],["external:canHoverMediaQuery.addEventListener",{"id":"external:canHoverMediaQuery.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"canHoverMediaQuery.addEventListener"}}],["external:coarsePointerMediaQuery.addEventListener",{"id":"external:coarsePointerMediaQuery.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"coarsePointerMediaQuery.addEventListener"}}],["external:canHoverMediaQuery.addListener",{"id":"external:canHoverMediaQuery.addListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"canHoverMediaQuery.addListener"}}],["external:coarsePointerMediaQuery.addListener",{"id":"external:coarsePointerMediaQuery.addListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"coarsePointerMediaQuery.addListener"}}],["external:canHoverMediaQuery.removeEventListener",{"id":"external:canHoverMediaQuery.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"canHoverMediaQuery.removeEventListener"}}],["external:coarsePointerMediaQuery.removeEventListener",{"id":"external:coarsePointerMediaQuery.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeEventListener"}}],["external:canHoverMediaQuery.removeListener",{"id":"external:canHoverMediaQuery.removeListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"canHoverMediaQuery.removeListener"}}],["external:coarsePointerMediaQuery.removeListener",{"id":"external:coarsePointerMediaQuery.removeListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":59,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","symbolName":"handleChange","symbolKind":"function","exported":false,"metadata":{"line":43,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","metadata":{"lineCount":55,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:observe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:observe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","symbolName":"observe","symbolKind":"function","exported":false,"metadata":{"line":14,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:unobserve",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:unobserve","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","symbolName":"unobserve","symbolKind":"function","exported":false,"metadata":{"line":15,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:disconnect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:disconnect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","symbolName":"disconnect","symbolKind":"function","exported":false,"metadata":{"line":16,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","symbolName":"InViewHarness","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":45,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:IntersectionObserverMock.instance?.callback",{"id":"external:IntersectionObserverMock.instance?.callback","kind":"external","language":"jsts","metadata":{"unresolvedName":"IntersectionObserverMock.instance?.callback"}}],["external:expect(screen.getByTestId('state')).toHaveTextContent",{"id":"external:expect(screen.getByTestId('state')).toHaveTextContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByTestId('state')).toHaveTextContent"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","symbolName":"useInView","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setInView",{"id":"symbol-name:setInView","kind":"symbol","language":"jsts","symbolName":"setInView","metadata":{"unresolvedName":"setInView"}}],["symbol-name:setHasTriggered",{"id":"symbol-name:setHasTriggered","kind":"symbol","language":"jsts","symbolName":"setHasTriggered","metadata":{"unresolvedName":"setHasTriggered"}}],["external:observer.unobserve",{"id":"external:observer.unobserve","kind":"external","language":"jsts","metadata":{"unresolvedName":"observer.unobserve"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":35,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","symbolName":"useIsMobile","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setIsMobile",{"id":"symbol-name:setIsMobile","kind":"symbol","language":"jsts","symbolName":"setIsMobile","metadata":{"unresolvedName":"setIsMobile"}}],["symbol-name:checkMobile",{"id":"symbol-name:checkMobile","kind":"symbol","language":"jsts","symbolName":"checkMobile","metadata":{"unresolvedName":"checkMobile"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":8,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","symbolName":"checkMobile","symbolKind":"function","exported":false,"metadata":{"line":9,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","symbolName":"useKeybindingStore","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:keybindingStore.subscribe.bind",{"id":"external:keybindingStore.subscribe.bind","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.subscribe.bind"}}],["external:keybindingStore.getAll",{"id":"external:keybindingStore.getAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.getAll"}}],["external:keybindingStore.setKeybinding",{"id":"external:keybindingStore.setKeybinding","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.setKeybinding"}}],["external:keybindingStore.resetKeybinding",{"id":"external:keybindingStore.resetKeybinding","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.resetKeybinding"}}],["external:keybindingStore.resetAll",{"id":"external:keybindingStore.resetAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.resetAll"}}],["external:keybindingStore.isKeyUsed",{"id":"external:keybindingStore.isKeyUsed","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.isKeyUsed"}}],["external:keybindingStore.getByCategory",{"id":"external:keybindingStore.getByCategory","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindingStore.getByCategory"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":130,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","symbolName":"useGlobalKeybindings","symbolKind":"function","exported":true,"metadata":{"line":69,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:target.closest",{"id":"external:target.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"target.closest"}}],["external:['cancelMessage', 'sendMessage'].includes",{"id":"external:['cancelMessage', 'sendMessage'].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"['cancelMessage', 'sendMessage'].includes"}}],["symbol-name:handler",{"id":"symbol-name:handler","kind":"symbol","language":"jsts","symbolName":"handler","metadata":{"unresolvedName":"handler"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":73,"column":27,"cyclomaticComplexity":19,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","symbolName":"useKeybindingLabel","symbolKind":"function","exported":true,"metadata":{"line":139,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:keybindings.find",{"id":"external:keybindings.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"keybindings.find"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","metadata":{"lineCount":119,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","symbolName":"useMessageAnimation","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:timeouts.forEach",{"id":"external:timeouts.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"timeouts.forEach"}}],["external:timeouts.clear",{"id":"external:timeouts.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"timeouts.clear"}}],["external:timeoutsRef.current.delete",{"id":"external:timeoutsRef.current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"timeoutsRef.current.delete"}}],["external:timeoutsRef.current.add",{"id":"external:timeoutsRef.current.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"timeoutsRef.current.add"}}],["external:refs.current.messageRefs.set",{"id":"external:refs.current.messageRefs.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.messageRefs.set"}}],["external:refs.current.messageRefs.delete",{"id":"external:refs.current.messageRefs.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.messageRefs.delete"}}],["external:messageIds.forEach",{"id":"external:messageIds.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageIds.forEach"}}],["external:refs.current.messageRefs.get",{"id":"external:refs.current.messageRefs.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"refs.current.messageRefs.get"}}],["symbol-name:safeTimeout",{"id":"symbol-name:safeTimeout","kind":"symbol","language":"jsts","symbolName":"safeTimeout","metadata":{"unresolvedName":"safeTimeout"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":102,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","symbolName":"useModalAnimation","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":31,"column":13,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:handleKeyDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:handleKeyDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":32,"column":27,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","metadata":{"lineCount":118,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","metadata":{"lineCount":96,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:onServerChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:onServerChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","symbolName":"onServerChange","symbolKind":"function","exported":false,"metadata":{"line":12,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:onServerChangeCallbacks.push",{"id":"external:onServerChangeCallbacks.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"onServerChangeCallbacks.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":108,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:getActiveModelsMock.mockReset",{"id":"external:getActiveModelsMock.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveModelsMock.mockReset"}}],["external:getActiveModelsMock.mockResolvedValue",{"id":"external:getActiveModelsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveModelsMock.mockResolvedValue"}}],["external:onServerChangeCallbacks.forEach",{"id":"external:onServerChangeCallbacks.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"onServerChangeCallbacks.forEach"}}],["external:getActiveModelsMock.mockReturnValue",{"id":"external:getActiveModelsMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getActiveModelsMock.mockReturnValue"}}],["external:expect(result.current.isLoading).toBe",{"id":"external:expect(result.current.isLoading).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.isLoading).toBe"}}],["external:expect(result.current.models).toEqual",{"id":"external:expect(result.current.models).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.models).toEqual"}}],["symbol-name:resolvePromise",{"id":"symbol-name:resolvePromise","kind":"symbol","language":"jsts","symbolName":"resolvePromise","metadata":{"unresolvedName":"resolvePromise"}}],["external:expect(result.current.models).toHaveLength",{"id":"external:expect(result.current.models).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.models).toHaveLength"}}],["external:result.current.refetch",{"id":"external:result.current.refetch","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.refetch"}}],["external:expect(result.current.models[1].id).toBe",{"id":"external:expect(result.current.models[1].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.models[1].id).toBe"}}],["external:expect(result.current.models[0].id).toBe",{"id":"external:expect(result.current.models[0].id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.models[0].id).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"_notify","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"_setState","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:_notify",{"id":"symbol-name:_notify","kind":"symbol","language":"jsts","symbolName":"_notify","metadata":{"unresolvedName":"_notify"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"_fetchModels","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:_setState",{"id":"symbol-name:_setState","kind":"symbol","language":"jsts","symbolName":"_setState","metadata":{"unresolvedName":"_setState"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":82,"column":13,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:_fetchModels",{"id":"symbol-name:_fetchModels","kind":"symbol","language":"jsts","symbolName":"_fetchModels","metadata":{"unresolvedName":"_fetchModels"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"_subscribe","symbolKind":"function","exported":false,"metadata":{"line":57,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:_listeners.add",{"id":"external:_listeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"_listeners.add"}}],["external:_listeners.delete",{"id":"external:_listeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"_listeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"_getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","symbolName":"useModels","symbolKind":"function","exported":true,"metadata":{"line":77,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","metadata":{"lineCount":197,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","metadata":{"lineCount":176,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:set",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:set","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","symbolName":"set","symbolKind":"function","exported":false,"metadata":{"line":15,"column":10,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:storage.set",{"id":"external:storage.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"storage.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:remove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:remove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","symbolName":"remove","symbolKind":"function","exported":false,"metadata":{"line":18,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:storage.delete",{"id":"external:storage.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"storage.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveModelVariantPref",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveModelVariantPref","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","symbolName":"saveModelVariantPref","symbolKind":"function","exported":false,"metadata":{"line":27,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:variantPrefs.set",{"id":"external:variantPrefs.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantPrefs.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveSessionModelSelection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveSessionModelSelection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","symbolName":"saveSessionModelSelection","symbolKind":"function","exported":false,"metadata":{"line":32,"column":30,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:sessionSelections.set",{"id":"external:sessionSelections.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSelections.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":183,"column":75,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:storage.clear",{"id":"external:storage.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"storage.clear"}}],["external:variantPrefs.clear",{"id":"external:variantPrefs.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantPrefs.clear"}}],["external:sessionSelections.clear",{"id":"external:sessionSelections.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSelections.clear"}}],["external:expect(result.current.selectedModelKey).toBe",{"id":"external:expect(result.current.selectedModelKey).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}}],["external:expect(result.current.currentModel?.name).toBe",{"id":"external:expect(result.current.currentModel?.name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.currentModel?.name).toBe"}}],["external:expect(result.current.selectedVariant).toBe",{"id":"external:expect(result.current.selectedVariant).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.selectedVariant).toBe"}}],["external:result.current.handleVariantChange",{"id":"external:result.current.handleVariantChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.handleVariantChange"}}],["external:result.current.handleModelChange",{"id":"external:result.current.handleModelChange","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.handleModelChange"}}],["external:expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe",{"id":"external:expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe"}}],["external:storage.get",{"id":"external:storage.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"storage.get"}}],["external:expect(variantPrefs.get('openai:gpt-4.1')).toBe",{"id":"external:expect(variantPrefs.get('openai:gpt-4.1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4.1')).toBe"}}],["external:variantPrefs.get",{"id":"external:variantPrefs.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"variantPrefs.get"}}],["external:expect(variantPrefs.get('openai:gpt-4o-mini')).toBe",{"id":"external:expect(variantPrefs.get('openai:gpt-4o-mini')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4o-mini')).toBe"}}],["external:result.current.restoreFromMessage",{"id":"external:result.current.restoreFromMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.restoreFromMessage"}}],["external:expect(sessionSelections.get('session-1')).toEqual",{"id":"external:expect(sessionSelections.get('session-1')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionSelections.get('session-1')).toEqual"}}],["external:sessionSelections.get",{"id":"external:sessionSelections.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSelections.get"}}],["external:expect(sessionSelections.get('session-2')).toEqual",{"id":"external:expect(sessionSelections.get('session-2')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionSelections.get('session-2')).toEqual"}}],["external:expect(result.current.selectedModelKey).toBeNull",{"id":"external:expect(result.current.selectedModelKey).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBeNull"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","symbolName":"useModelSelection","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":35,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:getSessionModelSelection",{"id":"symbol-name:getSessionModelSelection","kind":"symbol","language":"jsts","symbolName":"getSessionModelSelection","metadata":{"unresolvedName":"getSessionModelSelection"}}],["symbol-name:getModelVariantPref",{"id":"symbol-name:getModelVariantPref","kind":"symbol","language":"jsts","symbolName":"getModelVariantPref","metadata":{"unresolvedName":"getModelVariantPref"}}],["symbol-name:setSelection",{"id":"symbol-name:setSelection","kind":"symbol","language":"jsts","symbolName":"setSelection","metadata":{"unresolvedName":"setSelection"}}],["symbol-name:saveSessionModelSelection",{"id":"symbol-name:saveSessionModelSelection","kind":"symbol","language":"jsts","symbolName":"saveSessionModelSelection","metadata":{"unresolvedName":"saveSessionModelSelection"}}],["external:serverStorage.remove",{"id":"external:serverStorage.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStorage.remove"}}],["symbol-name:saveModelVariantPref",{"id":"symbol-name:saveModelVariantPref","kind":"symbol","language":"jsts","symbolName":"saveModelVariantPref","metadata":{"unresolvedName":"saveModelVariantPref"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":151,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"ensureServiceWorker","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:navigator.serviceWorker.register",{"id":"external:navigator.serviceWorker.register","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.serviceWorker.register"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"sendTauriNotification","symbolKind":"function","exported":false,"metadata":{"line":53,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isPermissionGranted",{"id":"symbol-name:isPermissionGranted","kind":"symbol","language":"jsts","symbolName":"isPermissionGranted","metadata":{"unresolvedName":"isPermissionGranted"}}],["symbol-name:requestPermission",{"id":"symbol-name:requestPermission","kind":"symbol","language":"jsts","symbolName":"requestPermission","metadata":{"unresolvedName":"requestPermission"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"checkTauriPermission","symbolKind":"function","exported":false,"metadata":{"line":73,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"requestTauriPermission","symbolKind":"function","exported":false,"metadata":{"line":83,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"useNotification","symbolKind":"function","exported":true,"metadata":{"line":97,"column":1,"cyclomaticComplexity":33,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:checkTauriPermission().then",{"id":"external:checkTauriPermission().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"checkTauriPermission().then"}}],["symbol-name:checkTauriPermission",{"id":"symbol-name:checkTauriPermission","kind":"symbol","language":"jsts","symbolName":"checkTauriPermission","metadata":{"unresolvedName":"checkTauriPermission"}}],["symbol-name:ensureServiceWorker",{"id":"symbol-name:ensureServiceWorker","kind":"symbol","language":"jsts","symbolName":"ensureServiceWorker","metadata":{"unresolvedName":"ensureServiceWorker"}}],["external:window.focus",{"id":"external:window.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.focus"}}],["external:navigator.serviceWorker.addEventListener",{"id":"external:navigator.serviceWorker.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.serviceWorker.addEventListener"}}],["external:navigator.serviceWorker.removeEventListener",{"id":"external:navigator.serviceWorker.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.serviceWorker.removeEventListener"}}],["symbol-name:requestTauriPermission",{"id":"symbol-name:requestTauriPermission","kind":"symbol","language":"jsts","symbolName":"requestTauriPermission","metadata":{"unresolvedName":"requestTauriPermission"}}],["symbol-name:setPermission",{"id":"symbol-name:setPermission","kind":"symbol","language":"jsts","symbolName":"setPermission","metadata":{"unresolvedName":"setPermission"}}],["external:Notification.requestPermission",{"id":"external:Notification.requestPermission","kind":"external","language":"jsts","metadata":{"unresolvedName":"Notification.requestPermission"}}],["symbol-name:setEnabledState",{"id":"symbol-name:setEnabledState","kind":"symbol","language":"jsts","symbolName":"setEnabledState","metadata":{"unresolvedName":"setEnabledState"}}],["external:localStorage.removeItem",{"id":"external:localStorage.removeItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.removeItem"}}],["symbol-name:sendTauriNotification",{"id":"symbol-name:sendTauriNotification","kind":"symbol","language":"jsts","symbolName":"sendTauriNotification","metadata":{"unresolvedName":"sendTauriNotification"}}],["external:reg.showNotification",{"id":"external:reg.showNotification","kind":"external","language":"jsts","metadata":{"unresolvedName":"reg.showNotification"}}],["external:notification.close",{"id":"external:notification.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"notification.close"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":218,"column":30,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:handler",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:handler","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","symbolName":"handler","symbolKind":"function","exported":false,"metadata":{"line":137,"column":21,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","symbolName":"useNow","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setNow",{"id":"symbol-name:setNow","kind":"symbol","language":"jsts","symbolName":"setNow","metadata":{"unresolvedName":"setNow"}}],["external:window.setInterval",{"id":"external:window.setInterval","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.setInterval"}}],["external:window.clearInterval",{"id":"external:window.clearInterval","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.clearInterval"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":11,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","metadata":{"lineCount":22,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","symbolName":"usePanelResizeStatus","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:flushSync",{"id":"symbol-name:flushSync","kind":"symbol","language":"jsts","symbolName":"flushSync","metadata":{"unresolvedName":"flushSync"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":14,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","metadata":{"lineCount":62,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","symbolName":"usePathMode","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:subscribePathMode",{"id":"symbol-name:subscribePathMode","kind":"symbol","language":"jsts","symbolName":"subscribePathMode","metadata":{"unresolvedName":"subscribePathMode"}}],["symbol-name:setPathModeState",{"id":"symbol-name:setPathModeState","kind":"symbol","language":"jsts","symbolName":"setPathModeState","metadata":{"unresolvedName":"setPathModeState"}}],["symbol-name:setEffectiveStyle",{"id":"symbol-name:setEffectiveStyle","kind":"symbol","language":"jsts","symbolName":"setEffectiveStyle","metadata":{"unresolvedName":"setEffectiveStyle"}}],["symbol-name:setDetectedStyle",{"id":"symbol-name:setDetectedStyle","kind":"symbol","language":"jsts","symbolName":"setDetectedStyle","metadata":{"unresolvedName":"setDetectedStyle"}}],["symbol-name:getDetectedPathStyle",{"id":"symbol-name:getDetectedPathStyle","kind":"symbol","language":"jsts","symbolName":"getDetectedPathStyle","metadata":{"unresolvedName":"getDetectedPathStyle"}}],["symbol-name:setPathModeUtil",{"id":"symbol-name:setPathModeUtil","kind":"symbol","language":"jsts","symbolName":"setPathModeUtil","metadata":{"unresolvedName":"setPathModeUtil"}}],["symbol-name:getEffectivePathStyle",{"id":"symbol-name:getEffectivePathStyle","kind":"symbol","language":"jsts","symbolName":"getEffectivePathStyle","metadata":{"unresolvedName":"getEffectivePathStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":47,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","metadata":{"lineCount":214,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","symbolName":"withRetry","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","symbolName":"usePermissionHandler","symbolKind":"function","exported":true,"metadata":{"line":66,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:replyingIdsRef.current.has",{"id":"external:replyingIdsRef.current.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyingIdsRef.current.has"}}],["external:replyingIdsRef.current.add",{"id":"external:replyingIdsRef.current.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyingIdsRef.current.add"}}],["symbol-name:setIsReplying",{"id":"symbol-name:setIsReplying","kind":"symbol","language":"jsts","symbolName":"setIsReplying","metadata":{"unresolvedName":"setIsReplying"}}],["symbol-name:withRetry",{"id":"symbol-name:withRetry","kind":"symbol","language":"jsts","symbolName":"withRetry","metadata":{"unresolvedName":"withRetry"}}],["symbol-name:permissionErrorHandler",{"id":"symbol-name:permissionErrorHandler","kind":"symbol","language":"jsts","symbolName":"permissionErrorHandler","metadata":{"unresolvedName":"permissionErrorHandler"}}],["external:replyingIdsRef.current.delete",{"id":"external:replyingIdsRef.current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyingIdsRef.current.delete"}}],["symbol-name:replyQuestion",{"id":"symbol-name:replyQuestion","kind":"symbol","language":"jsts","symbolName":"replyQuestion","metadata":{"unresolvedName":"replyQuestion"}}],["symbol-name:rejectQuestion",{"id":"symbol-name:rejectQuestion","kind":"symbol","language":"jsts","symbolName":"rejectQuestion","metadata":{"unresolvedName":"rejectQuestion"}}],["external:allPermissions.filter",{"id":"external:allPermissions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"allPermissions.filter"}}],["external:familySet.has",{"id":"external:familySet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"familySet.has"}}],["external:nextPermissions.map",{"id":"external:nextPermissions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextPermissions.map"}}],["external:replyingIdsRef.current.clear",{"id":"external:replyingIdsRef.current.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"replyingIdsRef.current.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":195,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","metadata":{"lineCount":51,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types"}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","symbolName":"usePermissions","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:sessionApprovedTools.has",{"id":"external:sessionApprovedTools.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionApprovedTools.has"}}],["symbol-name:setSessionApprovedTools",{"id":"symbol-name:setSessionApprovedTools","kind":"symbol","language":"jsts","symbolName":"setSessionApprovedTools","metadata":{"unresolvedName":"setSessionApprovedTools"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":40,"column":40,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","metadata":{"lineCount":70,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","symbolName":"usePresence","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:stringifyStyle",{"id":"symbol-name:stringifyStyle","kind":"symbol","language":"jsts","symbolName":"stringifyStyle","metadata":{"unresolvedName":"stringifyStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":19,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","symbolName":"stringifyStyle","symbolKind":"function","exported":false,"metadata":{"line":63,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","metadata":{"lineCount":93,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","symbolName":"useProject","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getProjects",{"id":"symbol-name:getProjects","kind":"symbol","language":"jsts","symbolName":"getProjects","metadata":{"unresolvedName":"getProjects"}}],["symbol-name:setProjects",{"id":"symbol-name:setProjects","kind":"symbol","language":"jsts","symbolName":"setProjects","metadata":{"unresolvedName":"setProjects"}}],["external:all.find",{"id":"external:all.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"all.find"}}],["symbol-name:setCurrentProject",{"id":"symbol-name:setCurrentProject","kind":"symbol","language":"jsts","symbolName":"setCurrentProject","metadata":{"unresolvedName":"setCurrentProject"}}],["symbol-name:loadProjects",{"id":"symbol-name:loadProjects","kind":"symbol","language":"jsts","symbolName":"loadProjects","metadata":{"unresolvedName":"loadProjects"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":74,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":14,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:listeners.forEach",{"id":"external:listeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"listeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:listeners.add",{"id":"external:listeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"listeners.add"}}],["external:listeners.delete",{"id":"external:listeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"listeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","symbolName":"getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getServerSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getServerSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","symbolName":"getServerSnapshot","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","symbolName":"useResponsiveMaxHeight","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","metadata":{"lineCount":229,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","symbolName":"useRevertState","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:messages.some",{"id":"external:messages.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.some"}}],["symbol-name:revertErrorHandler",{"id":"symbol-name:revertErrorHandler","kind":"symbol","language":"jsts","symbolName":"revertErrorHandler","metadata":{"unresolvedName":"revertErrorHandler"}}],["external:messages.slice(targetUIIndex).map",{"id":"external:messages.slice(targetUIIndex).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"messages.slice(targetUIIndex).map"}}],["external:apiMessages.findIndex",{"id":"external:apiMessages.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages.findIndex"}}],["symbol-name:revertMessage",{"id":"symbol-name:revertMessage","kind":"symbol","language":"jsts","symbolName":"revertMessage","metadata":{"unresolvedName":"revertMessage"}}],["symbol-name:setSessionRevertState",{"id":"symbol-name:setSessionRevertState","kind":"symbol","language":"jsts","symbolName":"setSessionRevertState","metadata":{"unresolvedName":"setSessionRevertState"}}],["external:apiMessages.slice(targetIndex).filter",{"id":"external:apiMessages.slice(targetIndex).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages.slice(targetIndex).filter"}}],["external:apiMessages.slice",{"id":"external:apiMessages.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages.slice"}}],["external:revertedUserMessages.map",{"id":"external:revertedUserMessages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"revertedUserMessages.map"}}],["symbol-name:setRevertHistory",{"id":"symbol-name:setRevertHistory","kind":"symbol","language":"jsts","symbolName":"setRevertHistory","metadata":{"unresolvedName":"setRevertHistory"}}],["symbol-name:setRevertedMessage",{"id":"symbol-name:setRevertedMessage","kind":"symbol","language":"jsts","symbolName":"setRevertedMessage","metadata":{"unresolvedName":"setRevertedMessage"}}],["symbol-name:setMessages",{"id":"symbol-name:setMessages","kind":"symbol","language":"jsts","symbolName":"setMessages","metadata":{"unresolvedName":"setMessages"}}],["external:filteredApiMessages.map",{"id":"external:filteredApiMessages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"filteredApiMessages.map"}}],["symbol-name:scrollToEnd",{"id":"symbol-name:scrollToEnd","kind":"symbol","language":"jsts","symbolName":"scrollToEnd","metadata":{"unresolvedName":"scrollToEnd"}}],["external:revertHistory.slice",{"id":"external:revertHistory.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"revertHistory.slice"}}],["symbol-name:unrevertSession",{"id":"symbol-name:unrevertSession","kind":"symbol","language":"jsts","symbolName":"unrevertSession","metadata":{"unresolvedName":"unrevertSession"}}],["external:apiMessages.map",{"id":"external:apiMessages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":205,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"decodeDirectoryParam","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"parseHash","symbolKind":"function","exported":false,"metadata":{"line":34,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:hash.split",{"id":"external:hash.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"hash.split"}}],["external:queryString.match",{"id":"external:queryString.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"queryString.match"}}],["symbol-name:decodeDirectoryParam",{"id":"symbol-name:decodeDirectoryParam","kind":"symbol","language":"jsts","symbolName":"decodeDirectoryParam","metadata":{"unresolvedName":"decodeDirectoryParam"}}],["external:path.match",{"id":"external:path.match","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.match"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"buildHash","symbolKind":"function","exported":false,"metadata":{"line":59,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:isSameRoute",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:isSameRoute","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"isSameRoute","symbolKind":"function","exported":false,"metadata":{"line":67,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"ensureSnapshot","symbolKind":"function","exported":false,"metadata":{"line":71,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:parseHash",{"id":"symbol-name:parseHash","kind":"symbol","language":"jsts","symbolName":"parseHash","metadata":{"unresolvedName":"parseHash"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"emitRoute","symbolKind":"function","exported":false,"metadata":{"line":81,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:ensureSnapshot",{"id":"symbol-name:ensureSnapshot","kind":"symbol","language":"jsts","symbolName":"ensureSnapshot","metadata":{"unresolvedName":"ensureSnapshot"}}],["symbol-name:isSameRoute",{"id":"symbol-name:isSameRoute","kind":"symbol","language":"jsts","symbolName":"isSameRoute","metadata":{"unresolvedName":"isSameRoute"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"syncRouteFromHash","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:emitRoute",{"id":"symbol-name:emitRoute","kind":"symbol","language":"jsts","symbolName":"emitRoute","metadata":{"unresolvedName":"emitRoute"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"ensureWindowListener","symbolKind":"function","exported":false,"metadata":{"line":92,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":99,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:ensureWindowListener",{"id":"symbol-name:ensureWindowListener","kind":"symbol","language":"jsts","symbolName":"ensureWindowListener","metadata":{"unresolvedName":"ensureWindowListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":170,"column":40,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":107,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","symbolName":"useRouter","symbolKind":"function","exported":true,"metadata":{"line":112,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getSnapshot",{"id":"symbol-name:getSnapshot","kind":"symbol","language":"jsts","symbolName":"getSnapshot","metadata":{"unresolvedName":"getSnapshot"}}],["symbol-name:buildHash",{"id":"symbol-name:buildHash","kind":"symbol","language":"jsts","symbolName":"buildHash","metadata":{"unresolvedName":"buildHash"}}],["external:window.history.replaceState",{"id":"external:window.history.replaceState","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.history.replaceState"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","metadata":{"lineCount":75,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","symbolName":"useServerStore","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:serverStore.subscribe.bind",{"id":"external:serverStore.subscribe.bind","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.subscribe.bind"}}],["external:serverStore.getServers",{"id":"external:serverStore.getServers","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getServers"}}],["external:serverStore.getActiveServer",{"id":"external:serverStore.getActiveServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getActiveServer"}}],["external:serverStore.getAllHealth",{"id":"external:serverStore.getAllHealth","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getAllHealth"}}],["external:serverStore.addServer",{"id":"external:serverStore.addServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.addServer"}}],["external:serverStore.updateServer",{"id":"external:serverStore.updateServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.updateServer"}}],["external:serverStore.removeServer",{"id":"external:serverStore.removeServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.removeServer"}}],["external:serverStore.setActiveServer",{"id":"external:serverStore.setActiveServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.setActiveServer"}}],["external:serverStore.checkHealth",{"id":"external:serverStore.checkHealth","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.checkHealth"}}],["external:serverStore.checkAllHealth",{"id":"external:serverStore.checkAllHealth","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.checkAllHealth"}}],["external:healthMap.get",{"id":"external:healthMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"healthMap.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":56,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","metadata":{"lineCount":33,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","symbolName":"useSessionContextUsage","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:setUsage",{"id":"symbol-name:setUsage","kind":"symbol","language":"jsts","symbolName":"setUsage","metadata":{"unresolvedName":"setUsage"}}],["external:getSessionContextUsage(sessionId)\n .then",{"id":"external:getSessionContextUsage(sessionId)\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionContextUsage(sessionId)\n .then"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":26,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","metadata":{"lineCount":386,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","symbolName":"mergeWithLocalStreamingMessages","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:localState.messages.filter(m => !apiIds.has(m.info.id)).map",{"id":"external:localState.messages.filter(m => !apiIds.has(m.info.id)).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"localState.messages.filter(m => !apiIds.has(m.info.id)).map"}}],["external:localState.messages.filter",{"id":"external:localState.messages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"localState.messages.filter"}}],["external:apiIds.has",{"id":"external:apiIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiIds.has"}}],["external:[...apiMessages, ...localOnly].sort",{"id":"external:[...apiMessages, ...localOnly].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...apiMessages, ...localOnly].sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":345,"column":13,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","symbolName":"useSessionManager","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":58,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:loadSequenceRef.current.get",{"id":"external:loadSequenceRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadSequenceRef.current.get"}}],["external:loadSequenceRef.current.set",{"id":"external:loadSequenceRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadSequenceRef.current.set"}}],["external:getSession(sid, dir).catch",{"id":"external:getSession(sid, dir).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSession(sid, dir).catch"}}],["external:getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then",{"id":"external:getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then"}}],["symbol-name:isStale",{"id":"symbol-name:isStale","kind":"symbol","language":"jsts","symbolName":"isStale","metadata":{"unresolvedName":"isStale"}}],["external:cursorRef.current.set",{"id":"external:cursorRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"cursorRef.current.set"}}],["symbol-name:onLoadComplete",{"id":"symbol-name:onLoadComplete","kind":"symbol","language":"jsts","symbolName":"onLoadComplete","metadata":{"unresolvedName":"onLoadComplete"}}],["symbol-name:mergeWithLocalStreamingMessages",{"id":"symbol-name:mergeWithLocalStreamingMessages","kind":"symbol","language":"jsts","symbolName":"mergeWithLocalStreamingMessages","metadata":{"unresolvedName":"mergeWithLocalStreamingMessages"}}],["external:cursorRef.current.get",{"id":"external:cursorRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"cursorRef.current.get"}}],["external:latestState.messages.map",{"id":"external:latestState.messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestState.messages.map"}}],["external:apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort",{"id":"external:apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort"}}],["external:apiMessages\r\n .filter",{"id":"external:apiMessages\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages\r\n .filter"}}],["external:messageStore.prependMessages",{"id":"external:messageStore.prependMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.prependMessages"}}],["external:state.messages.findIndex",{"id":"external:state.messages.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.findIndex"}}],["external:state.messages.slice(revertIndex).filter",{"id":"external:state.messages.slice(revertIndex).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.slice(revertIndex).filter"}}],["external:state.messages.slice",{"id":"external:state.messages.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.slice"}}],["external:messageStore.setRevertState",{"id":"external:messageStore.setRevertState","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.setRevertState"}}],["external:history.slice",{"id":"external:history.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"history.slice"}}],["external:loadSessionRef.current",{"id":"external:loadSessionRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadSessionRef.current"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","metadata":{"lineCount":164,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","metadata":{"lineCount":296,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:createDeferred",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:createDeferred","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","symbolName":"createDeferred","symbolKind":"function","exported":false,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":157,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","symbolName":"makeSession","symbolKind":"function","exported":false,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:getSessionsMock.mockResolvedValue",{"id":"external:getSessionsMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsMock.mockResolvedValue"}}],["symbol-name:makeSession",{"id":"symbol-name:makeSession","kind":"symbol","language":"jsts","symbolName":"makeSession","metadata":{"unresolvedName":"makeSession"}}],["external:deleteSessionMock.mockResolvedValue",{"id":"external:deleteSessionMock.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"deleteSessionMock.mockResolvedValue"}}],["external:expect(getSessionsMock).not.toHaveBeenCalled",{"id":"external:expect(getSessionsMock).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsMock).not.toHaveBeenCalled"}}],["external:expect(getSessionsMock).toHaveBeenCalledWith",{"id":"external:expect(getSessionsMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledWith"}}],["external:expect(result.current.sessions).toHaveLength",{"id":"external:expect(result.current.sessions).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.sessions).toHaveLength"}}],["external:result.current.remove",{"id":"external:result.current.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.remove"}}],["external:expect(deleteSessionMock).toHaveBeenCalledWith",{"id":"external:expect(deleteSessionMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteSessionMock).toHaveBeenCalledWith"}}],["external:latestEventCallbacks.onSessionCreated",{"id":"external:latestEventCallbacks.onSessionCreated","kind":"external","language":"jsts","metadata":{"unresolvedName":"latestEventCallbacks.onSessionCreated"}}],["external:expect(result.current.sessions.map(session => session.id)).toEqual",{"id":"external:expect(result.current.sessions.map(session => session.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.sessions.map(session => session.id)).toEqual"}}],["external:result.current.sessions.map",{"id":"external:result.current.sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.sessions.map"}}],["external:getSessionsMock\r\n .mockImplementationOnce",{"id":"external:getSessionsMock\r\n .mockImplementationOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"getSessionsMock\r\n .mockImplementationOnce"}}],["external:result.current.setSearch",{"id":"external:result.current.setSearch","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.setSearch"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"useSessions","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":43,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:directory.replace(/\\\\/g, '/').replace",{"id":"external:directory.replace(/\\\\/g, '/').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').replace"}}],["symbol-name:matchesDirectory",{"id":"symbol-name:matchesDirectory","kind":"symbol","language":"jsts","symbolName":"matchesDirectory","metadata":{"unresolvedName":"matchesDirectory"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":276,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"onSessionCreated","symbolKind":"function","exported":false,"metadata":{"line":168,"column":25,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"onSessionUpdated","symbolKind":"function","exported":false,"metadata":{"line":182,"column":25,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"onSessionDeleted","symbolKind":"function","exported":false,"metadata":{"line":209,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","symbolName":"onReconnected","symbolKind":"function","exported":false,"metadata":{"line":212,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","metadata":{"lineCount":34,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":28,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:expect(formatTokens(999)).toBe",{"id":"external:expect(formatTokens(999)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatTokens(999)).toBe"}}],["external:expect(formatTokens(1200)).toBe",{"id":"external:expect(formatTokens(1200)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatTokens(1200)).toBe"}}],["external:expect(formatTokens(15000)).toBe",{"id":"external:expect(formatTokens(15000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatTokens(15000)).toBe"}}],["external:expect(formatTokens(1500000)).toBe",{"id":"external:expect(formatTokens(1500000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatTokens(1500000)).toBe"}}],["external:expect(formatCost(0)).toBe",{"id":"external:expect(formatCost(0)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCost(0)).toBe"}}],["external:expect(formatCost(0.0004)).toBe",{"id":"external:expect(formatCost(0.0004)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCost(0.0004)).toBe"}}],["external:expect(formatCost(0.009)).toBe",{"id":"external:expect(formatCost(0.009)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCost(0.009)).toBe"}}],["external:expect(formatCost(0.5)).toBe",{"id":"external:expect(formatCost(0.5)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCost(0.5)).toBe"}}],["external:expect(formatCost(2.345)).toBe",{"id":"external:expect(formatCost(2.345)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCost(2.345)).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","metadata":{"lineCount":149,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","metadata":{"lineCount":271,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":123,"column":72,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:useMessageStoreMock.mockReturnValue",{"id":"external:useMessageStoreMock.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}}],["external:expect(result.current.contextEstimated).toBe",{"id":"external:expect(result.current.contextEstimated).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextEstimated).toBe"}}],["external:expect(result.current.contextUsed).toBeLessThan",{"id":"external:expect(result.current.contextUsed).toBeLessThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeLessThan"}}],["external:expect(result.current.contextUsed).toBeGreaterThan",{"id":"external:expect(result.current.contextUsed).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeGreaterThan"}}],["external:expect(result.current.contextUsed).toBe",{"id":"external:expect(result.current.contextUsed).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBe"}}],["external:expect(result.current.contextLimit).toBe",{"id":"external:expect(result.current.contextLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextLimit).toBe"}}],["external:expect(result.current.contextPercent).toBe",{"id":"external:expect(result.current.contextPercent).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextPercent).toBe"}}],["external:expect(result.current.contextKnown).toBe",{"id":"external:expect(result.current.contextKnown).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextKnown).toBe"}}],["external:expect(result.current.contextSource).toBe",{"id":"external:expect(result.current.contextSource).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextSource).toBe"}}],["external:expect(result.current.providerID).toBe",{"id":"external:expect(result.current.providerID).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.providerID).toBe"}}],["external:expect(result.current.modelID).toBe",{"id":"external:expect(result.current.modelID).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.modelID).toBe"}}],["external:expect(result.current.modelName).toBe",{"id":"external:expect(result.current.modelName).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.modelName).toBe"}}],["external:expect(result.current.outputLimit).toBe",{"id":"external:expect(result.current.outputLimit).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.outputLimit).toBe"}}],["external:expect(result.current.contextStatus).toBe",{"id":"external:expect(result.current.contextStatus).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextStatus).toBe"}}],["external:expect(result.current.contextNotice).toBe",{"id":"external:expect(result.current.contextNotice).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.contextNotice).toBe"}}],["external:expect(warning.result.current.contextStatus).toBe",{"id":"external:expect(warning.result.current.contextStatus).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(warning.result.current.contextStatus).toBe"}}],["external:expect(warning.result.current.contextNotice).toBe",{"id":"external:expect(warning.result.current.contextNotice).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(warning.result.current.contextNotice).toBe"}}],["external:expect(danger.result.current.contextStatus).toBe",{"id":"external:expect(danger.result.current.contextStatus).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(danger.result.current.contextStatus).toBe"}}],["external:expect(danger.result.current.contextNotice).toBe",{"id":"external:expect(danger.result.current.contextNotice).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(danger.result.current.contextNotice).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"estimateTokens","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromUserPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromUserPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"charsFromUserPart","symbolKind":"function","exported":false,"metadata":{"line":50,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"charsFromAssistantPart","symbolKind":"function","exported":false,"metadata":{"line":59,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"estimateCurrentContext","symbolKind":"function","exported":false,"metadata":{"line":77,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:((system.info as { system?: string }).system ?? '').trim",{"id":"external:((system.info as { system?: string }).system ?? '').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"((system.info as { system?: string }).system ?? '').trim"}}],["symbol-name:charsFromUserPart",{"id":"symbol-name:charsFromUserPart","kind":"symbol","language":"jsts","symbolName":"charsFromUserPart","metadata":{"unresolvedName":"charsFromUserPart"}}],["symbol-name:charsFromAssistantPart",{"id":"symbol-name:charsFromAssistantPart","kind":"symbol","language":"jsts","symbolName":"charsFromAssistantPart","metadata":{"unresolvedName":"charsFromAssistantPart"}}],["symbol-name:estimateTokens",{"id":"symbol-name:estimateTokens","kind":"symbol","language":"jsts","symbolName":"estimateTokens","metadata":{"unresolvedName":"estimateTokens"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":144,"column":18,"cyclomaticComplexity":38,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"shouldUseEstimatedContext","symbolKind":"function","exported":false,"metadata":{"line":106,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"getContextStatus","symbolKind":"function","exported":false,"metadata":{"line":124,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"useSessionStats","symbolKind":"function","exported":true,"metadata":{"line":138,"column":1,"cyclomaticComplexity":38,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["symbol-name:getContextStatus",{"id":"symbol-name:getContextStatus","kind":"symbol","language":"jsts","symbolName":"getContextStatus","metadata":{"unresolvedName":"getContextStatus"}}],["symbol-name:estimateCurrentContext",{"id":"symbol-name:estimateCurrentContext","kind":"symbol","language":"jsts","symbolName":"estimateCurrentContext","metadata":{"unresolvedName":"estimateCurrentContext"}}],["symbol-name:shouldUseEstimatedContext",{"id":"symbol-name:shouldUseEstimatedContext","kind":"symbol","language":"jsts","symbolName":"shouldUseEstimatedContext","metadata":{"unresolvedName":"shouldUseEstimatedContext"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:tokenTotal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:tokenTotal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","symbolName":"tokenTotal","symbolKind":"function","exported":false,"metadata":{"line":145,"column":24,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","metadata":{"lineCount":15,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":10,"column":65,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(getShikiTheme(true).theme).toBe",{"id":"external:expect(getShikiTheme(true).theme).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getShikiTheme(true).theme).toBe"}}],["symbol-name:getShikiTheme",{"id":"symbol-name:getShikiTheme","kind":"symbol","language":"jsts","symbolName":"getShikiTheme","metadata":{"unresolvedName":"getShikiTheme"}}],["external:expect(getShikiTheme(false).theme).toBe",{"id":"external:expect(getShikiTheme(false).theme).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getShikiTheme(false).theme).toBe"}}],["external:expect(getShikiTheme(true).key).toBe",{"id":"external:expect(getShikiTheme(true).key).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getShikiTheme(true).key).toBe"}}],["external:expect(getShikiTheme(false).key).toBe",{"id":"external:expect(getShikiTheme(false).key).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getShikiTheme(false).key).toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","metadata":{"lineCount":122,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":32,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.cache.get",{"id":"external:this.cache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.cache.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"set","symbolKind":"function","exported":false,"metadata":{"line":42,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.cache.has",{"id":"external:this.cache.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.cache.has"}}],["external:this.cache.delete",{"id":"external:this.cache.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.cache.delete"}}],["external:this.cache.set",{"id":"external:this.cache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.cache.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clear",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clear","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"clear","symbolKind":"function","exported":false,"metadata":{"line":66,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.cache.clear",{"id":"external:this.cache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.cache.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"scheduleQueuedHighlight","symbolKind":"function","exported":false,"metadata":{"line":83,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:highlightQueue.push",{"id":"external:highlightQueue.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"highlightQueue.push"}}],["symbol-name:task",{"id":"symbol-name:task","kind":"symbol","language":"jsts","symbolName":"task","metadata":{"unresolvedName":"task"}}],["symbol-name:runHighlightQueue",{"id":"symbol-name:runHighlightQueue","kind":"symbol","language":"jsts","symbolName":"runHighlightQueue","metadata":{"unresolvedName":"runHighlightQueue"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":502,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"runHighlightQueue","symbolKind":"function","exported":false,"metadata":{"line":95,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:highlightQueue.shift",{"id":"external:highlightQueue.shift","kind":"external","language":"jsts","metadata":{"unresolvedName":"highlightQueue.shift"}}],["symbol-name:yieldToMainThread",{"id":"symbol-name:yieldToMainThread","kind":"symbol","language":"jsts","symbolName":"yieldToMainThread","metadata":{"unresolvedName":"yieldToMainThread"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"yieldToMainThread","symbolKind":"function","exported":false,"metadata":{"line":110,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"getCacheKey","symbolKind":"function","exported":false,"metadata":{"line":117,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:simpleHash",{"id":"symbol-name:simpleHash","kind":"symbol","language":"jsts","symbolName":"simpleHash","metadata":{"unresolvedName":"simpleHash"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"simpleHash","symbolKind":"function","exported":false,"metadata":{"line":124,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:str.charCodeAt",{"id":"external:str.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"str.charCodeAt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"highlightWithCache","symbolKind":"function","exported":false,"metadata":{"line":135,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getCacheKey",{"id":"symbol-name:getCacheKey","kind":"symbol","language":"jsts","symbolName":"getCacheKey","metadata":{"unresolvedName":"getCacheKey"}}],["external:htmlCache.get",{"id":"external:htmlCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"htmlCache.get"}}],["symbol-name:codeToHtml",{"id":"symbol-name:codeToHtml","kind":"symbol","language":"jsts","symbolName":"codeToHtml","metadata":{"unresolvedName":"codeToHtml"}}],["external:htmlCache.set",{"id":"external:htmlCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"htmlCache.set"}}],["external:tokensCache.get",{"id":"external:tokensCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokensCache.get"}}],["symbol-name:codeToTokens",{"id":"symbol-name:codeToTokens","kind":"symbol","language":"jsts","symbolName":"codeToTokens","metadata":{"unresolvedName":"codeToTokens"}}],["external:tokensCache.set",{"id":"external:tokensCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokensCache.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getHighlightCacheStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getHighlightCacheStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"getHighlightCacheStats","symbolKind":"function","exported":true,"metadata":{"line":175,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"clearHighlightCache","symbolKind":"function","exported":true,"metadata":{"line":183,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:htmlCache.clear",{"id":"external:htmlCache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"htmlCache.clear"}}],["external:tokensCache.clear",{"id":"external:tokensCache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"tokensCache.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"getShikiTheme","symbolKind":"function","exported":true,"metadata":{"line":191,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"detectTheme","symbolKind":"function","exported":false,"metadata":{"line":214,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"setupListeners","symbolKind":"function","exported":false,"metadata":{"line":222,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.detectTheme",{"id":"external:this.detectTheme","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.detectTheme"}}],["external:this.notify",{"id":"external:this.notify","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.notify"}}],["external:this.observer.observe",{"id":"external:this.observer.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.observer.observe"}}],["external:this.mediaQuery.addEventListener",{"id":"external:this.mediaQuery.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.mediaQuery.addEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"handleChange","symbolKind":"function","exported":false,"metadata":{"line":241,"column":26,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":254,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.subscribers.forEach",{"id":"external:this.subscribers.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.subscribers.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getIsDark",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getIsDark","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"getIsDark","symbolKind":"function","exported":false,"metadata":{"line":258,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":262,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.subscribers.add",{"id":"external:this.subscribers.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.subscribers.add"}}],["external:this.subscribers.delete",{"id":"external:this.subscribers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.subscribers.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getThemeStateManager",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getThemeStateManager","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"getThemeStateManager","symbolKind":"function","exported":false,"metadata":{"line":271,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"useIsDarkMode","symbolKind":"function","exported":false,"metadata":{"line":279,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getThemeStateManager",{"id":"symbol-name:getThemeStateManager","kind":"symbol","language":"jsts","symbolName":"getThemeStateManager","metadata":{"unresolvedName":"getThemeStateManager"}}],["external:manager.getIsDark",{"id":"external:manager.getIsDark","kind":"external","language":"jsts","metadata":{"unresolvedName":"manager.getIsDark"}}],["external:manager.subscribe",{"id":"external:manager.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"manager.subscribe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"useSyntaxHighlight","symbolKind":"function","exported":true,"metadata":{"line":307,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:normalizeLanguage",{"id":"symbol-name:normalizeLanguage","kind":"symbol","language":"jsts","symbolName":"normalizeLanguage","metadata":{"unresolvedName":"normalizeLanguage"}}],["symbol-name:useIsDarkMode",{"id":"symbol-name:useIsDarkMode","kind":"symbol","language":"jsts","symbolName":"useIsDarkMode","metadata":{"unresolvedName":"useIsDarkMode"}}],["symbol-name:setOutput",{"id":"symbol-name:setOutput","kind":"symbol","language":"jsts","symbolName":"setOutput","metadata":{"unresolvedName":"setOutput"}}],["symbol-name:highlightWithCache",{"id":"symbol-name:highlightWithCache","kind":"symbol","language":"jsts","symbolName":"highlightWithCache","metadata":{"unresolvedName":"highlightWithCache"}}],["external:idleWindow.requestIdleCallback",{"id":"external:idleWindow.requestIdleCallback","kind":"external","language":"jsts","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}}],["symbol-name:highlight",{"id":"symbol-name:highlight","kind":"symbol","language":"jsts","symbolName":"highlight","metadata":{"unresolvedName":"highlight"}}],["external:idleWindow.cancelIdleCallback",{"id":"external:idleWindow.cancelIdleCallback","kind":"external","language":"jsts","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}}],["symbol-name:scheduleQueuedHighlight",{"id":"symbol-name:scheduleQueuedHighlight","kind":"symbol","language":"jsts","symbolName":"scheduleQueuedHighlight","metadata":{"unresolvedName":"scheduleQueuedHighlight"}}],["symbol-name:schedule",{"id":"symbol-name:schedule","kind":"symbol","language":"jsts","symbolName":"schedule","metadata":{"unresolvedName":"schedule"}}],["symbol-name:cancelSchedule",{"id":"symbol-name:cancelSchedule","kind":"symbol","language":"jsts","symbolName":"cancelSchedule","metadata":{"unresolvedName":"cancelSchedule"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"highlight","symbolKind":"function","exported":false,"metadata":{"line":464,"column":5,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"schedule","symbolKind":"function","exported":false,"metadata":{"line":482,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","symbolName":"useSyntaxHighlightRef","symbolKind":"function","exported":true,"metadata":{"line":417,"column":1,"cyclomaticComplexity":14,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:setVersion",{"id":"symbol-name:setVersion","kind":"symbol","language":"jsts","symbolName":"setVersion","metadata":{"unresolvedName":"setVersion"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","symbolName":"useTheme","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:themeStore.getResolvedMode",{"id":"external:themeStore.getResolvedMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.getResolvedMode"}}],["external:themeStore.setColorMode",{"id":"external:themeStore.setColorMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setColorMode"}}],["external:Math.hypot",{"id":"external:Math.hypot","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.hypot"}}],["external:root.setAttribute",{"id":"external:root.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.setAttribute"}}],["external:document.startViewTransition",{"id":"external:document.startViewTransition","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.startViewTransition"}}],["external:transition.ready\r\n .then",{"id":"external:transition.ready\r\n .then","kind":"external","language":"jsts","metadata":{"unresolvedName":"transition.ready\r\n .then"}}],["external:document.documentElement.animate",{"id":"external:document.documentElement.animate","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.animate"}}],["external:root.removeAttribute",{"id":"external:root.removeAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.removeAttribute"}}],["external:themeStore.setPreset",{"id":"external:themeStore.setPreset","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setPreset"}}],["external:themeStore.setCustomCSS",{"id":"external:themeStore.setCustomCSS","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCustomCSS"}}],["external:themeStore.saveCustomCSSSnippet",{"id":"external:themeStore.saveCustomCSSSnippet","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.saveCustomCSSSnippet"}}],["external:themeStore.updateCustomCSSSnippet",{"id":"external:themeStore.updateCustomCSSSnippet","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.updateCustomCSSSnippet"}}],["external:themeStore.deleteCustomCSSSnippet",{"id":"external:themeStore.deleteCustomCSSSnippet","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.deleteCustomCSSSnippet"}}],["external:themeStore.applyCustomCSSSnippet",{"id":"external:themeStore.applyCustomCSSSnippet","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.applyCustomCSSSnippet"}}],["external:themeStore.clearActiveCustomCSSSnippet",{"id":"external:themeStore.clearActiveCustomCSSSnippet","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.clearActiveCustomCSSSnippet"}}],["external:themeStore.setDiffStyle",{"id":"external:themeStore.setDiffStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setDiffStyle"}}],["external:themeStore.setCodeWordWrap",{"id":"external:themeStore.setCodeWordWrap","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCodeWordWrap"}}],["external:themeStore.setUIFontScale",{"id":"external:themeStore.setUIFontScale","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setUIFontScale"}}],["external:themeStore.setCodeFontScale",{"id":"external:themeStore.setCodeFontScale","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setCodeFontScale"}}],["external:themeStore.setManualTerminalTitles",{"id":"external:themeStore.setManualTerminalTitles","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setManualTerminalTitles"}}],["external:themeStore.getAvailablePresets",{"id":"external:themeStore.getAvailablePresets","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.getAvailablePresets"}}],["external:themeStore.toggleWideMode.bind",{"id":"external:themeStore.toggleWideMode.bind","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.toggleWideMode.bind"}}],["external:themeStore.setGlassEffect",{"id":"external:themeStore.setGlassEffect","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.setGlassEffect"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":302,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","metadata":{"lineCount":79,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","symbolName":"useVcsInfo","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:fetchVcs",{"id":"symbol-name:fetchVcs","kind":"symbol","language":"jsts","symbolName":"fetchVcs","metadata":{"unresolvedName":"fetchVcs"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":70,"column":13,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"useVerticalSplitResize","symbolKind":"function","exported":true,"metadata":{"line":29,"column":1,"cyclomaticComplexity":16,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:primaryRef.current.style.setProperty",{"id":"external:primaryRef.current.style.setProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"primaryRef.current.style.setProperty"}}],["symbol-name:setSplitHeight",{"id":"symbol-name:setSplitHeight","kind":"symbol","language":"jsts","symbolName":"setSplitHeight","metadata":{"unresolvedName":"setSplitHeight"}}],["external:primaryEl.style.setProperty",{"id":"external:primaryEl.style.setProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"primaryEl.style.setProperty"}}],["symbol-name:applyHeight",{"id":"symbol-name:applyHeight","kind":"symbol","language":"jsts","symbolName":"applyHeight","metadata":{"unresolvedName":"applyHeight"}}],["symbol-name:finishResize",{"id":"symbol-name:finishResize","kind":"symbol","language":"jsts","symbolName":"finishResize","metadata":{"unresolvedName":"finishResize"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":146,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"handleMouseMove","symbolKind":"function","exported":false,"metadata":{"line":105,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"handleMouseUp","symbolKind":"function","exported":false,"metadata":{"line":115,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"handleTouchMove","symbolKind":"function","exported":false,"metadata":{"line":140,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","symbolName":"handleTouchEnd","symbolKind":"function","exported":false,"metadata":{"line":151,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"useViewportHeight","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:root.classList.contains",{"id":"external:root.classList.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.classList.contains"}}],["external:root.style.setProperty",{"id":"external:root.style.setProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"root.style.setProperty"}}],["symbol-name:updateAppHeight",{"id":"symbol-name:updateAppHeight","kind":"symbol","language":"jsts","symbolName":"updateAppHeight","metadata":{"unresolvedName":"updateAppHeight"}}],["external:document.body.appendChild",{"id":"external:document.body.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.appendChild"}}],["external:document.body.removeChild",{"id":"external:document.body.removeChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.body.removeChild"}}],["symbol-name:measureSafeAreaBottom",{"id":"symbol-name:measureSafeAreaBottom","kind":"symbol","language":"jsts","symbolName":"measureSafeAreaBottom","metadata":{"unresolvedName":"measureSafeAreaBottom"}}],["symbol-name:updateViewport",{"id":"symbol-name:updateViewport","kind":"symbol","language":"jsts","symbolName":"updateViewport","metadata":{"unresolvedName":"updateViewport"}}],["external:window.visualViewport.addEventListener",{"id":"external:window.visualViewport.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.visualViewport.addEventListener"}}],["external:window.visualViewport.removeEventListener",{"id":"external:window.visualViewport.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.visualViewport.removeEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":69,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"updateAppHeight","symbolKind":"function","exported":false,"metadata":{"line":16,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"measureSafeAreaBottom","symbolKind":"function","exported":false,"metadata":{"line":34,"column":35,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"updateViewport","symbolKind":"function","exported":false,"metadata":{"line":46,"column":28,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","symbolName":"handleWindowResize","symbolKind":"function","exported":false,"metadata":{"line":58,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","metadata":{"lineCount":163,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:start",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:start","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","symbolName":"start","symbolKind":"function","exported":false,"metadata":{"line":17,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","symbolName":"stop","symbolKind":"function","exported":false,"metadata":{"line":21,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:this.ondataavailable",{"id":"external:this.ondataavailable","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.ondataavailable"}}],["external:Promise.resolve().then",{"id":"external:Promise.resolve().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.resolve().then"}}],["external:this.onstop",{"id":"external:this.onstop","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.onstop"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":155,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:vi.mocked(transcribeAudio).mockReset",{"id":"external:vi.mocked(transcribeAudio).mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockReset"}}],["external:vi.mocked(transcribeAudio).mockResolvedValue",{"id":"external:vi.mocked(transcribeAudio).mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockResolvedValue"}}],["external:expect(result.current.settings?.enabled).toBe",{"id":"external:expect(result.current.settings?.enabled).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.settings?.enabled).toBe"}}],["external:result.current.startRecording",{"id":"external:result.current.startRecording","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.startRecording"}}],["external:expect(result.current.state).toBe",{"id":"external:expect(result.current.state).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state).toBe"}}],["external:result.current.stopRecording",{"id":"external:result.current.stopRecording","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.stopRecording"}}],["external:expect(onTranscription).toHaveBeenCalledWith",{"id":"external:expect(onTranscription).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onTranscription).toHaveBeenCalledWith"}}],["external:expect(result.current.isAvailable).toBe",{"id":"external:expect(result.current.isAvailable).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.isAvailable).toBe"}}],["external:expect(result.current.error).toBe",{"id":"external:expect(result.current.error).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.error).toBe"}}],["external:vi.mocked(getSttSettings).mockResolvedValueOnce",{"id":"external:vi.mocked(getSttSettings).mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValueOnce"}}],["external:expect(result.current.settings?.apiKeyRequired).toBe",{"id":"external:expect(result.current.settings?.apiKeyRequired).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.settings?.apiKeyRequired).toBe"}}],["external:expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith",{"id":"external:expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith"}}],["external:vi.mocked(getSttSettings).mockRejectedValueOnce",{"id":"external:vi.mocked(getSttSettings).mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockRejectedValueOnce"}}],["external:expect(result.current.error).toBeNull",{"id":"external:expect(result.current.error).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.error).toBeNull"}}],["external:expect(getSttSettings).toHaveBeenCalledTimes",{"id":"external:expect(getSttSettings).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(getSttSettings).toHaveBeenCalledTimes"}}],["external:vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce",{"id":"external:vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","symbolName":"isRecordingSupported","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","symbolName":"useVoiceTranscription","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:streamRef.current?.getTracks().forEach",{"id":"external:streamRef.current?.getTracks().forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"streamRef.current?.getTracks().forEach"}}],["external:streamRef.current?.getTracks",{"id":"external:streamRef.current?.getTracks","kind":"external","language":"jsts","metadata":{"unresolvedName":"streamRef.current?.getTracks"}}],["external:track.stop",{"id":"external:track.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"track.stop"}}],["symbol-name:setState",{"id":"symbol-name:setState","kind":"symbol","language":"jsts","symbolName":"setState","metadata":{"unresolvedName":"setState"}}],["symbol-name:loadSettings",{"id":"symbol-name:loadSettings","kind":"symbol","language":"jsts","symbolName":"loadSettings","metadata":{"unresolvedName":"loadSettings"}}],["symbol-name:isRecordingSupported",{"id":"symbol-name:isRecordingSupported","kind":"symbol","language":"jsts","symbolName":"isRecordingSupported","metadata":{"unresolvedName":"isRecordingSupported"}}],["external:navigator.mediaDevices.getUserMedia",{"id":"external:navigator.mediaDevices.getUserMedia","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.mediaDevices.getUserMedia"}}],["external:MediaRecorder.isTypeSupported",{"id":"external:MediaRecorder.isTypeSupported","kind":"external","language":"jsts","metadata":{"unresolvedName":"MediaRecorder.isTypeSupported"}}],["external:chunksRef.current.push",{"id":"external:chunksRef.current.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"chunksRef.current.push"}}],["symbol-name:cleanupStream",{"id":"symbol-name:cleanupStream","kind":"symbol","language":"jsts","symbolName":"cleanupStream","metadata":{"unresolvedName":"cleanupStream"}}],["external:result.text.trim",{"id":"external:result.text.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.text.trim"}}],["symbol-name:onTranscription",{"id":"symbol-name:onTranscription","kind":"symbol","language":"jsts","symbolName":"onTranscription","metadata":{"unresolvedName":"onTranscription"}}],["external:recorder.start",{"id":"external:recorder.start","kind":"external","language":"jsts","metadata":{"unresolvedName":"recorder.start"}}],["external:recorder.stop",{"id":"external:recorder.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"recorder.stop"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":123,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","symbolName":"useWakeLock","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:navigator.wakeLock.request",{"id":"external:navigator.wakeLock.request","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.wakeLock.request"}}],["symbol-name:request",{"id":"symbol-name:request","kind":"symbol","language":"jsts","symbolName":"request","metadata":{"unresolvedName":"request"}}],["external:wakeLockRef.current?.release().catch",{"id":"external:wakeLockRef.current?.release().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"wakeLockRef.current?.release().catch"}}],["external:wakeLockRef.current?.release",{"id":"external:wakeLockRef.current?.release","kind":"external","language":"jsts","metadata":{"unresolvedName":"wakeLockRef.current?.release"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":44,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","symbolName":"request","symbolKind":"function","exported":false,"metadata":{"line":17,"column":21,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:onVisibilityChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:onVisibilityChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","symbolName":"onVisibilityChange","symbolKind":"function","exported":false,"metadata":{"line":30,"column":32,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:i18next",{"id":"external:i18next","kind":"external","language":"jsts","metadata":{"source":"i18next"}}],["external:i18next-browser-languagedetector",{"id":"external:i18next-browser-languagedetector","kind":"external","language":"jsts","metadata":{"source":"i18next-browser-languagedetector"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","metadata":{"lineCount":409,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"wantsNoScrollbar","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"isScrollableY","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:wantsNoScrollbar",{"id":"symbol-name:wantsNoScrollbar","kind":"symbol","language":"jsts","symbolName":"wantsNoScrollbar","metadata":{"unresolvedName":"wantsNoScrollbar"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"isScrollableX","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"isScrollable","symbolKind":"function","exported":false,"metadata":{"line":57,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isScrollableY",{"id":"symbol-name:isScrollableY","kind":"symbol","language":"jsts","symbolName":"isScrollableY","metadata":{"unresolvedName":"isScrollableY"}}],["symbol-name:isScrollableX",{"id":"symbol-name:isScrollableX","kind":"symbol","language":"jsts","symbolName":"isScrollableX","metadata":{"unresolvedName":"isScrollableX"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"createAxisThumb","symbolKind":"function","exported":false,"metadata":{"line":76,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:parent.appendChild",{"id":"external:parent.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"parent.appendChild"}}],["external:thumb.classList.remove",{"id":"external:thumb.classList.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.classList.remove"}}],["external:thumb.classList.add",{"id":"external:thumb.classList.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.classList.add"}}],["symbol-name:scheduleFade",{"id":"symbol-name:scheduleFade","kind":"symbol","language":"jsts","symbolName":"scheduleFade","metadata":{"unresolvedName":"scheduleFade"}}],["external:vp.getBoundingClientRect",{"id":"external:vp.getBoundingClientRect","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.getBoundingClientRect"}}],["external:thumb.setPointerCapture",{"id":"external:thumb.setPointerCapture","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.setPointerCapture"}}],["external:thumb.releasePointerCapture",{"id":"external:thumb.releasePointerCapture","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.releasePointerCapture"}}],["external:thumb.removeEventListener",{"id":"external:thumb.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.removeEventListener"}}],["external:thumb.addEventListener",{"id":"external:thumb.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.addEventListener"}}],["external:thumb.remove",{"id":"external:thumb.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"thumb.remove"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"scheduleFade","symbolKind":"function","exported":false,"metadata":{"line":84,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":400,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"reveal","symbolKind":"function","exported":false,"metadata":{"line":91,"column":18,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"update","symbolKind":"function","exported":false,"metadata":{"line":238,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onThumbDown","symbolKind":"function","exported":false,"metadata":{"line":147,"column":23,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onMove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onMove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onMove","symbolKind":"function","exported":false,"metadata":{"line":157,"column":20,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onUp","symbolKind":"function","exported":false,"metadata":{"line":169,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbEnter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbEnter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onThumbEnter","symbolKind":"function","exported":false,"metadata":{"line":183,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbLeave",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbLeave","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onThumbLeave","symbolKind":"function","exported":false,"metadata":{"line":186,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"destroy","symbolKind":"function","exported":false,"metadata":{"line":194,"column":19,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"ensurePositioned","symbolKind":"function","exported":false,"metadata":{"line":219,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"attach","symbolKind":"function","exported":false,"metadata":{"line":224,"column":1,"cyclomaticComplexity":23,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:entries.has",{"id":"external:entries.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.has"}}],["symbol-name:ensurePositioned",{"id":"symbol-name:ensurePositioned","kind":"symbol","language":"jsts","symbolName":"ensurePositioned","metadata":{"unresolvedName":"ensurePositioned"}}],["symbol-name:createAxisThumb",{"id":"symbol-name:createAxisThumb","kind":"symbol","language":"jsts","symbolName":"createAxisThumb","metadata":{"unresolvedName":"createAxisThumb"}}],["external:vp.setAttribute",{"id":"external:vp.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.setAttribute"}}],["external:v?.update",{"id":"external:v?.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"v?.update"}}],["external:h?.update",{"id":"external:h?.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"h?.update"}}],["external:v?.reveal",{"id":"external:v?.reveal","kind":"external","language":"jsts","metadata":{"unresolvedName":"v?.reveal"}}],["external:h?.reveal",{"id":"external:h?.reveal","kind":"external","language":"jsts","metadata":{"unresolvedName":"h?.reveal"}}],["external:e.v.update",{"id":"external:e.v.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.v.update"}}],["external:e.v.thumb.classList.add",{"id":"external:e.v.thumb.classList.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.v.thumb.classList.add"}}],["external:e.h.update",{"id":"external:e.h.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.h.update"}}],["external:e.h.thumb.classList.add",{"id":"external:e.h.thumb.classList.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.h.thumb.classList.add"}}],["external:e.v!.thumb.classList.remove",{"id":"external:e.v!.thumb.classList.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.v!.thumb.classList.remove"}}],["external:e.h!.thumb.classList.remove",{"id":"external:e.h!.thumb.classList.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.h!.thumb.classList.remove"}}],["external:entries.values",{"id":"external:entries.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.values"}}],["external:vp.contains",{"id":"external:vp.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.contains"}}],["symbol-name:revealEntry",{"id":"symbol-name:revealEntry","kind":"symbol","language":"jsts","symbolName":"revealEntry","metadata":{"unresolvedName":"revealEntry"}}],["symbol-name:fadeEntry",{"id":"symbol-name:fadeEntry","kind":"symbol","language":"jsts","symbolName":"fadeEntry","metadata":{"unresolvedName":"fadeEntry"}}],["external:vp.addEventListener",{"id":"external:vp.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.addEventListener"}}],["external:entries.set",{"id":"external:entries.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onScroll","symbolKind":"function","exported":false,"metadata":{"line":243,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"revealEntry","symbolKind":"function","exported":false,"metadata":{"line":250,"column":23,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"fadeEntry","symbolKind":"function","exported":false,"metadata":{"line":263,"column":21,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onEnter","symbolKind":"function","exported":false,"metadata":{"line":274,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"onLeave","symbolKind":"function","exported":false,"metadata":{"line":281,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"detach","symbolKind":"function","exported":false,"metadata":{"line":301,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:entries.get",{"id":"external:entries.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.get"}}],["external:vp.removeEventListener",{"id":"external:vp.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.removeEventListener"}}],["external:e.v?.destroy",{"id":"external:e.v?.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.v?.destroy"}}],["external:e.h?.destroy",{"id":"external:e.h?.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.h?.destroy"}}],["external:e.ro.disconnect",{"id":"external:e.ro.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.ro.disconnect"}}],["external:vp.removeAttribute",{"id":"external:vp.removeAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"vp.removeAttribute"}}],["external:entries.delete",{"id":"external:entries.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"reconcile","symbolKind":"function","exported":false,"metadata":{"line":317,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:entry.v!.destroy",{"id":"external:entry.v!.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.v!.destroy"}}],["external:entry.h!.destroy",{"id":"external:entry.h!.destroy","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.h!.destroy"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"scan","symbolKind":"function","exported":false,"metadata":{"line":342,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isScrollable",{"id":"symbol-name:isScrollable","kind":"symbol","language":"jsts","symbolName":"isScrollable","metadata":{"unresolvedName":"isScrollable"}}],["symbol-name:detach",{"id":"symbol-name:detach","kind":"symbol","language":"jsts","symbolName":"detach","metadata":{"unresolvedName":"detach"}}],["symbol-name:reconcile",{"id":"symbol-name:reconcile","kind":"symbol","language":"jsts","symbolName":"reconcile","metadata":{"unresolvedName":"reconcile"}}],["external:document.createTreeWalker",{"id":"external:document.createTreeWalker","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createTreeWalker"}}],["external:el.hasAttribute",{"id":"external:el.hasAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.hasAttribute"}}],["symbol-name:attach",{"id":"symbol-name:attach","kind":"symbol","language":"jsts","symbolName":"attach","metadata":{"unresolvedName":"attach"}}],["external:walker.nextNode",{"id":"external:walker.nextNode","kind":"external","language":"jsts","metadata":{"unresolvedName":"walker.nextNode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"initOverlayScrollbars","symbolKind":"function","exported":true,"metadata":{"line":374,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:scan",{"id":"symbol-name:scan","kind":"symbol","language":"jsts","symbolName":"scan","metadata":{"unresolvedName":"scan"}}],["external:new MutationObserver(debounceScan).observe",{"id":"external:new MutationObserver(debounceScan).observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"new MutationObserver(debounceScan).observe"}}],["external:e.v?.update",{"id":"external:e.v?.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.v?.update"}}],["external:e.h?.update",{"id":"external:e.h?.update","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.h?.update"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","symbolName":"debounceScan","symbolKind":"function","exported":false,"metadata":{"line":381,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:shiki/core",{"id":"external:shiki/core","kind":"external","language":"jsts","metadata":{"source":"shiki/core"}}],["external:shiki/engine/oniguruma",{"id":"external:shiki/engine/oniguruma","kind":"external","language":"jsts","metadata":{"source":"shiki/engine/oniguruma"}}],["external:shiki/onig.wasm?url",{"id":"external:shiki/onig.wasm?url","kind":"external","language":"jsts","metadata":{"source":"shiki/onig.wasm?url"}}],["external:shiki/langs",{"id":"external:shiki/langs","kind":"external","language":"jsts","metadata":{"source":"shiki/langs"}}],["external:shiki/themes",{"id":"external:shiki/themes","kind":"external","language":"jsts","metadata":{"source":"shiki/themes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"loadOnigWasm","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fetch(onigWasmUrl).then",{"id":"external:fetch(onigWasmUrl).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"fetch(onigWasmUrl).then"}}],["external:response.arrayBuffer",{"id":"external:response.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.arrayBuffer"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":84,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"getHighlighter","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:createHighlighterCore",{"id":"symbol-name:createHighlighterCore","kind":"symbol","language":"jsts","symbolName":"createHighlighterCore","metadata":{"unresolvedName":"createHighlighterCore"}}],["symbol-name:createOnigurumaEngine",{"id":"symbol-name:createOnigurumaEngine","kind":"symbol","language":"jsts","symbolName":"createOnigurumaEngine","metadata":{"unresolvedName":"createOnigurumaEngine"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"ensureLang","symbolKind":"function","exported":true,"metadata":{"line":59,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getHighlighter",{"id":"symbol-name:getHighlighter","kind":"symbol","language":"jsts","symbolName":"getHighlighter","metadata":{"unresolvedName":"getHighlighter"}}],["external:h.getLoadedLanguages",{"id":"external:h.getLoadedLanguages","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.getLoadedLanguages"}}],["external:loaded.includes",{"id":"external:loaded.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"loaded.includes"}}],["external:loadingLangs.get",{"id":"external:loadingLangs.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadingLangs.get"}}],["external:h.loadLanguage(loader as Parameters[0]).then",{"id":"external:h.loadLanguage(loader as Parameters[0]).then","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.loadLanguage(loader as Parameters[0]).then"}}],["external:h.loadLanguage",{"id":"external:h.loadLanguage","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.loadLanguage"}}],["external:loadingLangs.delete",{"id":"external:loadingLangs.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadingLangs.delete"}}],["external:loadingLangs.set",{"id":"external:loadingLangs.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"loadingLangs.set"}}],["external:h.getLoadedLanguages().includes",{"id":"external:h.getLoadedLanguages().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.getLoadedLanguages().includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"codeToHtml","symbolKind":"function","exported":true,"metadata":{"line":99,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:ensureLang",{"id":"symbol-name:ensureLang","kind":"symbol","language":"jsts","symbolName":"ensureLang","metadata":{"unresolvedName":"ensureLang"}}],["external:h.codeToHtml",{"id":"external:h.codeToHtml","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.codeToHtml"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"codeToTokens","symbolKind":"function","exported":true,"metadata":{"line":107,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:h.codeToTokens",{"id":"external:h.codeToTokens","kind":"external","language":"jsts","metadata":{"unresolvedName":"h.codeToTokens"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:isSupportedLanguage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:isSupportedLanguage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","symbolName":"isSupportedLanguage","symbolKind":"function","exported":true,"metadata":{"line":119,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:supportedLangs.has",{"id":"external:supportedLangs.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"supportedLangs.has"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","metadata":{"lineCount":49,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:node:url",{"id":"external:node:url","kind":"external","language":"jsts","metadata":{"source":"node:url"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","symbolName":"readLocaleFile","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:readFileSync",{"id":"symbol-name:readFileSync","kind":"symbol","language":"jsts","symbolName":"readFileSync","metadata":{"unresolvedName":"readFileSync"}}],["symbol-name:join",{"id":"symbol-name:join","kind":"symbol","language":"jsts","symbolName":"join","metadata":{"unresolvedName":"join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","symbolName":"flattenKeys","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:Object.entries(value).flatMap",{"id":"external:Object.entries(value).flatMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(value).flatMap"}}],["symbol-name:flattenKeys",{"id":"symbol-name:flattenKeys","kind":"symbol","language":"jsts","symbolName":"flattenKeys","metadata":{"unresolvedName":"flattenKeys"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":33,"column":61,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:readdirSync(join(LOCALES_DIR, BASE_LOCALE))\n .filter",{"id":"external:readdirSync(join(LOCALES_DIR, BASE_LOCALE))\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"readdirSync(join(LOCALES_DIR, BASE_LOCALE))\n .filter"}}],["symbol-name:readdirSync",{"id":"symbol-name:readdirSync","kind":"symbol","language":"jsts","symbolName":"readdirSync","metadata":{"unresolvedName":"readdirSync"}}],["external:readdirSync(LOCALES_DIR)\n .filter",{"id":"external:readdirSync(LOCALES_DIR)\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"readdirSync(LOCALES_DIR)\n .filter"}}],["external:entry.endsWith",{"id":"external:entry.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.endsWith"}}],["external:expect(locales).toEqual",{"id":"external:expect(locales).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(locales).toEqual"}}],["external:[...EXPECTED_LOCALES].sort",{"id":"external:[...EXPECTED_LOCALES].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...EXPECTED_LOCALES].sort"}}],["external:readdirSync(join(LOCALES_DIR, locale))\n .filter",{"id":"external:readdirSync(join(LOCALES_DIR, locale))\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"readdirSync(join(LOCALES_DIR, locale))\n .filter"}}],["external:expect(localeNamespaces).toEqual",{"id":"external:expect(localeNamespaces).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localeNamespaces).toEqual"}}],["external:expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual",{"id":"external:expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual"}}],["external:flattenKeys(readLocaleFile(locale, namespace)).sort",{"id":"external:flattenKeys(readLocaleFile(locale, namespace)).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(locale, namespace)).sort"}}],["symbol-name:readLocaleFile",{"id":"symbol-name:readLocaleFile","kind":"symbol","language":"jsts","symbolName":"readLocaleFile","metadata":{"unresolvedName":"readLocaleFile"}}],["external:flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort",{"id":"external:flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","metadata":{"lineCount":165,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:react-dom/client",{"id":"external:react-dom/client","kind":"external","language":"jsts","metadata":{"source":"react-dom/client"}}],["external:katex/dist/katex.min.css",{"id":"external:katex/dist/katex.min.css","kind":"external","language":"jsts","metadata":{"source":"katex/dist/katex.min.css"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/index.css",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/index.css","kind":"file","language":"css","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/index.css"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts"}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","metadata":{"lineCount":856,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","metadata":{"lineCount":91,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","symbolName":"ensureRandomUUID","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:cryptoObj.getRandomValues",{"id":"external:cryptoObj.getRandomValues","kind":"external","language":"jsts","metadata":{"unresolvedName":"cryptoObj.getRandomValues"}}],["external:b.toString(16).padStart",{"id":"external:b.toString(16).padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.toString(16).padStart"}}],["external:b.toString",{"id":"external:b.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.toString"}}],["external:hex.slice(0, 4).join",{"id":"external:hex.slice(0, 4).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice(0, 4).join"}}],["external:hex.slice",{"id":"external:hex.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice"}}],["external:hex.slice(4, 6).join",{"id":"external:hex.slice(4, 6).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice(4, 6).join"}}],["external:hex.slice(6, 8).join",{"id":"external:hex.slice(6, 8).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice(6, 8).join"}}],["external:hex.slice(8, 10).join",{"id":"external:hex.slice(8, 10).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice(8, 10).join"}}],["external:hex.slice(10).join",{"id":"external:hex.slice(10).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"hex.slice(10).join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":125,"column":47,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:messageStore.clearAll",{"id":"external:messageStore.clearAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.clearAll"}}],["external:childSessionStore.clearAll",{"id":"external:childSessionStore.clearAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.clearAll"}}],["external:todoStore.clearAll",{"id":"external:todoStore.clearAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.clearAll"}}],["symbol-name:resetPathModeCache",{"id":"symbol-name:resetPathModeCache","kind":"symbol","language":"jsts","symbolName":"resetPathModeCache","metadata":{"unresolvedName":"resetPathModeCache"}}],["external:autoApproveStore.reloadFromStorage",{"id":"external:autoApproveStore.reloadFromStorage","kind":"external","language":"jsts","metadata":{"unresolvedName":"autoApproveStore.reloadFromStorage"}}],["external:console.info",{"id":"external:console.info","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.info"}}],["symbol-name:globalErrorHandler",{"id":"symbol-name:globalErrorHandler","kind":"symbol","language":"jsts","symbolName":"globalErrorHandler","metadata":{"unresolvedName":"globalErrorHandler"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","symbolName":"bootstrap","symbolKind":"function","exported":false,"metadata":{"line":130,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:createRoot(document.getElementById('root')!).render",{"id":"external:createRoot(document.getElementById('root')!).render","kind":"external","language":"jsts","metadata":{"unresolvedName":"createRoot(document.getElementById('root')!).render"}}],["symbol-name:createRoot",{"id":"symbol-name:createRoot","kind":"symbol","language":"jsts","symbolName":"createRoot","metadata":{"unresolvedName":"createRoot"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":36,"column":84,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:activeSessionStore.getBusySessions().map",{"id":"external:activeSessionStore.getBusySessions().map","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().map"}}],["external:activeSessionStore.getBusySessions",{"id":"external:activeSessionStore.getBusySessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}}],["external:expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual",{"id":"external:expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":92,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":82,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.recomputeDerived",{"id":"external:this.recomputeDerived","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.recomputeDerived"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"recomputeDerived","symbolKind":"function","exported":false,"metadata":{"line":89,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:Object.entries(this.state.statusMap)\r\n .filter",{"id":"external:Object.entries(this.state.statusMap)\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(this.state.statusMap)\r\n .filter"}}],["external:this.sessionMeta.get",{"id":"external:this.sessionMeta.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionMeta.get"}}],["external:this.findPendingForSession",{"id":"external:this.findPendingForSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.findPendingForSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:findPendingForSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:findPendingForSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"findPendingForSession","symbolKind":"function","exported":false,"metadata":{"line":108,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.pendingRequests.values",{"id":"external:this.pendingRequests.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingRequests.values"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:hasPendingForSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:hasPendingForSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"hasPendingForSession","symbolKind":"function","exported":false,"metadata":{"line":115,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyStatusSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyStatusSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"applyStatusSnapshot","symbolKind":"function","exported":false,"metadata":{"line":126,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"initialize","symbolKind":"function","exported":false,"metadata":{"line":145,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.applyStatusSnapshot",{"id":"external:this.applyStatusSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyStatusSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"mergeStatusRefresh","symbolKind":"function","exported":false,"metadata":{"line":157,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initializePendingRequests",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initializePendingRequests","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"initializePendingRequests","symbolKind":"function","exported":false,"metadata":{"line":169,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.applyPendingSnapshot",{"id":"external:this.applyPendingSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyPendingSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergePendingRequests",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergePendingRequests","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"mergePendingRequests","symbolKind":"function","exported":false,"metadata":{"line":180,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"applyPendingSnapshot","symbolKind":"function","exported":false,"metadata":{"line":187,"column":3,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:pendingRequests.set",{"id":"external:pendingRequests.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingRequests.set"}}],["external:deferredIdleSessions.add",{"id":"external:deferredIdleSessions.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"deferredIdleSessions.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"addPendingRequest","symbolKind":"function","exported":false,"metadata":{"line":239,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.pendingRequests.set",{"id":"external:this.pendingRequests.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingRequests.set"}}],["external:this.deferredIdleSessions.add",{"id":"external:this.deferredIdleSessions.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.deferredIdleSessions.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"resolvePendingRequest","symbolKind":"function","exported":false,"metadata":{"line":254,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.pendingRequests.get",{"id":"external:this.pendingRequests.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingRequests.get"}}],["external:this.pendingRequests.delete",{"id":"external:this.pendingRequests.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pendingRequests.delete"}}],["external:this.deferredIdleSessions.has",{"id":"external:this.deferredIdleSessions.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.deferredIdleSessions.has"}}],["external:this.hasPendingForSession",{"id":"external:this.hasPendingForSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.hasPendingForSession"}}],["external:this.deferredIdleSessions.delete",{"id":"external:this.deferredIdleSessions.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.deferredIdleSessions.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"updateStatus","symbolKind":"function","exported":false,"metadata":{"line":273,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"setSessionMeta","symbolKind":"function","exported":false,"metadata":{"line":299,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.sessionMeta.set",{"id":"external:this.sessionMeta.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionMeta.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"setSessionMetaBulk","symbolKind":"function","exported":false,"metadata":{"line":309,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getSessionMeta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getSessionMeta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"getSessionMeta","symbolKind":"function","exported":false,"metadata":{"line":328,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getBusySessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getBusySessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"getBusySessions","symbolKind":"function","exported":false,"metadata":{"line":332,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"useActiveSessionStore","symbolKind":"function","exported":true,"metadata":{"line":347,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"useBusySessions","symbolKind":"function","exported":true,"metadata":{"line":351,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"useBusyCount","symbolKind":"function","exported":true,"metadata":{"line":355,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","symbolName":"useSessionActiveEntry","symbolKind":"function","exported":true,"metadata":{"line":360,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:activeSessionStore.getBusySessions().find",{"id":"external:activeSessionStore.getBusySessions().find","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"wildcardMatch","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:pattern\r\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&') // 转义特殊字符\r\n .replace",{"id":"external:pattern\r\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&') // 转义特殊字符\r\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern\r\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&') // 转义特殊字符\r\n .replace"}}],["external:pattern\r\n .replace",{"id":"external:pattern\r\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"pattern\r\n .replace"}}],["external:regex.test",{"id":"external:regex.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"regex.test"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"reloadFromStorage","symbolKind":"function","exported":false,"metadata":{"line":73,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.rulesMap.clear",{"id":"external:this.rulesMap.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rulesMap.clear"}}],["external:this._paneFullAutoModes.clear",{"id":"external:this._paneFullAutoModes.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._paneFullAutoModes.clear"}}],["external:this._fullAutoListeners.forEach",{"id":"external:this._fullAutoListeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._fullAutoListeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"setEnabled","symbolKind":"function","exported":false,"metadata":{"line":99,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"setFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":127,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getPaneFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getPaneFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"getPaneFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":135,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._paneFullAutoModes.get",{"id":"external:this._paneFullAutoModes.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._paneFullAutoModes.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"setPaneFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":141,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._paneFullAutoModes.delete",{"id":"external:this._paneFullAutoModes.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._paneFullAutoModes.delete"}}],["external:this.setFullAutoMode",{"id":"external:this.setFullAutoMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setFullAutoMode"}}],["external:this._paneFullAutoModes.set",{"id":"external:this._paneFullAutoModes.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._paneFullAutoModes.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearPaneFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearPaneFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"clearPaneFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":152,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"cyclePaneFullAutoMode","symbolKind":"function","exported":false,"metadata":{"line":157,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getPaneFullAutoMode",{"id":"external:this.getPaneFullAutoMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getPaneFullAutoMode"}}],["external:this.setPaneFullAutoMode",{"id":"external:this.setPaneFullAutoMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setPaneFullAutoMode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAuto",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAuto","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"setFullAuto","symbolKind":"function","exported":false,"metadata":{"line":179,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"onFullAutoChange","symbolKind":"function","exported":false,"metadata":{"line":186,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._fullAutoListeners.add",{"id":"external:this._fullAutoListeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._fullAutoListeners.add"}}],["external:this._fullAutoListeners.delete",{"id":"external:this._fullAutoListeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._fullAutoListeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":257,"column":25,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"addRules","symbolKind":"function","exported":false,"metadata":{"line":199,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.rulesMap.get",{"id":"external:this.rulesMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rulesMap.get"}}],["external:uniqueRules.some",{"id":"external:uniqueRules.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"uniqueRules.some"}}],["external:uniqueRules.push",{"id":"external:uniqueRules.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"uniqueRules.push"}}],["external:this.rulesMap.set",{"id":"external:this.rulesMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rulesMap.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getRules",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getRules","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"getRules","symbolKind":"function","exported":false,"metadata":{"line":223,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearRules",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearRules","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"clearRules","symbolKind":"function","exported":false,"metadata":{"line":230,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.rulesMap.delete",{"id":"external:this.rulesMap.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rulesMap.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearAllRules",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearAllRules","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"clearAllRules","symbolKind":"function","exported":false,"metadata":{"line":237,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"shouldAutoApprove","symbolKind":"function","exported":false,"metadata":{"line":248,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getRules",{"id":"external:this.getRules","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getRules"}}],["external:requestPatterns.every",{"id":"external:requestPatterns.every","kind":"external","language":"jsts","metadata":{"unresolvedName":"requestPatterns.every"}}],["external:rules.some",{"id":"external:rules.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"rules.some"}}],["symbol-name:wildcardMatch",{"id":"symbol-name:wildcardMatch","kind":"symbol","language":"jsts","symbolName":"wildcardMatch","metadata":{"unresolvedName":"wildcardMatch"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","symbolName":"getDebugInfo","symbolKind":"function","exported":false,"metadata":{"line":272,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:Array.from(this.rulesMap.entries()).map",{"id":"external:Array.from(this.rulesMap.entries()).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(this.rulesMap.entries()).map"}}],["external:this.rulesMap.entries",{"id":"external:this.rulesMap.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rulesMap.entries"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":11,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:getMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:getMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"getMode","symbolKind":"function","exported":false,"metadata":{"line":16,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.modes.get",{"id":"external:this.modes.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.modes.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"setMode","symbolKind":"function","exported":false,"metadata":{"line":21,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.modes.set",{"id":"external:this.modes.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.modes.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"clearSession","symbolKind":"function","exported":false,"metadata":{"line":28,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.modes.delete",{"id":"external:this.modes.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.modes.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"clearAll","symbolKind":"function","exported":false,"metadata":{"line":34,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.modes.clear",{"id":"external:this.modes.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.modes.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","symbolName":"useSessionChangeScope","symbolKind":"function","exported":true,"metadata":{"line":43,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":44,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":49,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"registerChildSession","symbolKind":"function","exported":false,"metadata":{"line":61,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.childrenByParent.get",{"id":"external:this.childrenByParent.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.childrenByParent.get"}}],["external:this.childrenByParent.set",{"id":"external:this.childrenByParent.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.childrenByParent.set"}}],["external:children.add",{"id":"external:children.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"children.add"}}],["external:this.sessionInfo.set",{"id":"external:this.sessionInfo.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionInfo.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"updateChildSession","symbolKind":"function","exported":false,"metadata":{"line":87,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.sessionInfo.get",{"id":"external:this.sessionInfo.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionInfo.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markIdle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markIdle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"markIdle","symbolKind":"function","exported":false,"metadata":{"line":98,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.updateChildSession",{"id":"external:this.updateChildSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.updateChildSession"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"markError","symbolKind":"function","exported":false,"metadata":{"line":105,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getChildSessionIds","symbolKind":"function","exported":false,"metadata":{"line":116,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getChildSessions","symbolKind":"function","exported":false,"metadata":{"line":124,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.getChildSessionIds",{"id":"external:this.getChildSessionIds","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getChildSessionIds"}}],["external:childIds.map(id => this.sessionInfo.get(id)).filter",{"id":"external:childIds.map(id => this.sessionInfo.get(id)).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"childIds.map(id => this.sessionInfo.get(id)).filter"}}],["external:childIds.map",{"id":"external:childIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"childIds.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getSessionInfo","symbolKind":"function","exported":false,"metadata":{"line":132,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"isChildOf","symbolKind":"function","exported":false,"metadata":{"line":141,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.isChildOf",{"id":"external:this.isChildOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.isChildOf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getSessionAndDescendants","symbolKind":"function","exported":false,"metadata":{"line":158,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.getSessionAndDescendants",{"id":"external:this.getSessionAndDescendants","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getSessionAndDescendants"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:belongsToSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:belongsToSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"belongsToSession","symbolKind":"function","exported":false,"metadata":{"line":172,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"clearAll","symbolKind":"function","exported":false,"metadata":{"line":184,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.childrenByParent.clear",{"id":"external:this.childrenByParent.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.childrenByParent.clear"}}],["external:this.sessionInfo.clear",{"id":"external:this.sessionInfo.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionInfo.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"clearChildren","symbolKind":"function","exported":false,"metadata":{"line":193,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.sessionInfo.delete",{"id":"external:this.sessionInfo.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionInfo.delete"}}],["external:this.clearChildren",{"id":"external:this.clearChildren","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.clearChildren"}}],["external:this.childrenByParent.delete",{"id":"external:this.childrenByParent.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.childrenByParent.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":223,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:childSessionsCache.clear",{"id":"external:childSessionsCache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionsCache.clear"}}],["external:sessionFamilyCache.clear",{"id":"external:sessionFamilyCache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionFamilyCache.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getChildSessionsSnapshot","symbolKind":"function","exported":false,"metadata":{"line":228,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:childSessionsCache.has",{"id":"external:childSessionsCache.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionsCache.has"}}],["external:childSessionsCache.set",{"id":"external:childSessionsCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionsCache.set"}}],["external:childSessionsCache.get",{"id":"external:childSessionsCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionsCache.get"}}],["external:childSessionStore.getChildSessions",{"id":"external:childSessionStore.getChildSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.getChildSessions"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"getSessionFamilySnapshot","symbolKind":"function","exported":false,"metadata":{"line":243,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:sessionFamilyCache.has",{"id":"external:sessionFamilyCache.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionFamilyCache.has"}}],["external:sessionFamilyCache.set",{"id":"external:sessionFamilyCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionFamilyCache.set"}}],["external:sessionFamilyCache.get",{"id":"external:sessionFamilyCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionFamilyCache.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"useChildSessions","symbolKind":"function","exported":true,"metadata":{"line":266,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:childSessionStore.subscribe",{"id":"external:childSessionStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"childSessionStore.subscribe"}}],["symbol-name:getChildSessionsSnapshot",{"id":"symbol-name:getChildSessionsSnapshot","kind":"symbol","language":"jsts","symbolName":"getChildSessionsSnapshot","metadata":{"unresolvedName":"getChildSessionsSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","symbolName":"useSessionFamily","symbolKind":"function","exported":true,"metadata":{"line":277,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["symbol-name:getSessionFamilySnapshot",{"id":"symbol-name:getSessionFamilySnapshot","kind":"symbol","language":"jsts","symbolName":"getSessionFamilySnapshot","metadata":{"unresolvedName":"getSessionFamilySnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"cloneAttachments","symbolKind":"function","exported":false,"metadata":{"line":28,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":56,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.listeners.add",{"id":"external:this.listeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.listeners.add"}}],["external:this.listeners.delete",{"id":"external:this.listeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.listeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"emit","symbolKind":"function","exported":false,"metadata":{"line":63,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.listeners.forEach",{"id":"external:this.listeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.listeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:setState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:setState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"setState","symbolKind":"function","exported":false,"metadata":{"line":67,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.emit",{"id":"external:this.emit","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.emit"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"enqueue","symbolKind":"function","exported":false,"metadata":{"line":72,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:crypto.randomUUID().replace",{"id":"external:crypto.randomUUID().replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"crypto.randomUUID().replace"}}],["symbol-name:cloneAttachments",{"id":"symbol-name:cloneAttachments","kind":"symbol","language":"jsts","symbolName":"cloneAttachments","metadata":{"unresolvedName":"cloneAttachments"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"remove","symbolKind":"function","exported":false,"metadata":{"line":95,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:current.filter",{"id":"external:current.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:markFailed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:markFailed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"markFailed","symbolKind":"function","exported":false,"metadata":{"line":117,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearFailed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearFailed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"clearFailed","symbolKind":"function","exported":false,"metadata":{"line":128,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:startSending",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:startSending","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"startSending","symbolKind":"function","exported":false,"metadata":{"line":139,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:finishSending",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:finishSending","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"finishSending","symbolKind":"function","exported":false,"metadata":{"line":153,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"getItems","symbolKind":"function","exported":false,"metadata":{"line":165,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"getItem","symbolKind":"function","exported":false,"metadata":{"line":170,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getItems(sessionId).find",{"id":"external:this.getItems(sessionId).find","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getItems(sessionId).find"}}],["external:this.getItems",{"id":"external:this.getItems","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getItems"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"clearSession","symbolKind":"function","exported":false,"metadata":{"line":174,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getSessionIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getSessionIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"getSessionIds","symbolKind":"function","exported":false,"metadata":{"line":194,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:reset",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:reset","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"reset","symbolKind":"function","exported":false,"metadata":{"line":198,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","symbolName":"useFollowupQueue","symbolKind":"function","exported":true,"metadata":{"line":209,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/index.ts","metadata":{"lineCount":102,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","metadata":{"lineCount":22,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","symbolName":"keyboardEvent","symbolKind":"function","exported":false,"metadata":{"line":4,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":17,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:keyboardEvent",{"id":"symbol-name:keyboardEvent","kind":"symbol","language":"jsts","symbolName":"keyboardEvent","metadata":{"unresolvedName":"keyboardEvent"}}],["external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe",{"id":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe"}}],["external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe",{"id":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"normalizeKeyName","symbolKind":"function","exported":false,"metadata":{"line":333,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:key.toLowerCase",{"id":"external:key.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"key.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"parseKeybinding","symbolKind":"function","exported":true,"metadata":{"line":379,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":5,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:remaining.includes",{"id":"external:remaining.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"remaining.includes"}}],["external:remaining.indexOf",{"id":"external:remaining.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"remaining.indexOf"}}],["external:remaining.substring",{"id":"external:remaining.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"remaining.substring"}}],["external:modifiers.includes",{"id":"external:modifiers.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"modifiers.includes"}}],["external:remaining.substring(1).split('+')[0].toLowerCase",{"id":"external:remaining.substring(1).split('+')[0].toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"remaining.substring(1).split('+')[0].toLowerCase"}}],["external:remaining.substring(1).split",{"id":"external:remaining.substring(1).split","kind":"external","language":"jsts","metadata":{"unresolvedName":"remaining.substring(1).split"}}],["external:part.toLowerCase",{"id":"external:part.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.toLowerCase"}}],["symbol-name:normalizeKeyName",{"id":"symbol-name:normalizeKeyName","kind":"symbol","language":"jsts","symbolName":"normalizeKeyName","metadata":{"unresolvedName":"normalizeKeyName"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"normalizeKeybindingString","symbolKind":"function","exported":true,"metadata":{"line":441,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:keybindingToNormalizedString",{"id":"symbol-name:keybindingToNormalizedString","kind":"symbol","language":"jsts","symbolName":"keybindingToNormalizedString","metadata":{"unresolvedName":"keybindingToNormalizedString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"keybindingToNormalizedString","symbolKind":"function","exported":false,"metadata":{"line":449,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"formatKeybinding","symbolKind":"function","exported":true,"metadata":{"line":462,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:keyDisplay.toUpperCase",{"id":"external:keyDisplay.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"keyDisplay.toUpperCase"}}],["external:keyDisplay.startsWith",{"id":"external:keyDisplay.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"keyDisplay.startsWith"}}],["external:/^f\\d{1,2}$/.test",{"id":"external:/^f\\d{1,2}$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^f\\d{1,2}$/.test"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"formatKeybindingCompact","symbolKind":"function","exported":true,"metadata":{"line":517,"column":1,"cyclomaticComplexity":18,"maxNestingDepth":12,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:keyStr.toUpperCase",{"id":"external:keyStr.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"keyStr.toUpperCase"}}],["external:keyStr.startsWith",{"id":"external:keyStr.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"keyStr.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"keyEventToString","symbolKind":"function","exported":true,"metadata":{"line":548,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:formatKeybindingCompact",{"id":"symbol-name:formatKeybindingCompact","kind":"symbol","language":"jsts","symbolName":"formatKeybindingCompact","metadata":{"unresolvedName":"formatKeybindingCompact"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"matchesKeybinding","symbolKind":"function","exported":true,"metadata":{"line":565,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingsEqual",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingsEqual","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"keybindingsEqual","symbolKind":"function","exported":true,"metadata":{"line":581,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeKeybindingString",{"id":"symbol-name:normalizeKeybindingString","kind":"symbol","language":"jsts","symbolName":"normalizeKeybindingString","metadata":{"unresolvedName":"normalizeKeybindingString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"loadFromStorage","symbolKind":"function","exported":false,"metadata":{"line":608,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:DEFAULT_KEYBINDINGS.map",{"id":"external:DEFAULT_KEYBINDINGS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"DEFAULT_KEYBINDINGS.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"saveToStorage","symbolKind":"function","exported":false,"metadata":{"line":628,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":647,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":652,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.updateSnapshot",{"id":"external:this.updateSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.updateSnapshot"}}],["symbol-name:l",{"id":"symbol-name:l","kind":"symbol","language":"jsts","symbolName":"l","metadata":{"unresolvedName":"l"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:updateSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:updateSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"updateSnapshot","symbolKind":"function","exported":false,"metadata":{"line":657,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.keybindings.map",{"id":"external:this.keybindings.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.keybindings.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"getAll","symbolKind":"function","exported":false,"metadata":{"line":668,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getByCategory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getByCategory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"getByCategory","symbolKind":"function","exported":false,"metadata":{"line":675,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.keybindings.filter",{"id":"external:this.keybindings.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.keybindings.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"getKeybinding","symbolKind":"function","exported":false,"metadata":{"line":682,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.keybindings.find",{"id":"external:this.keybindings.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.keybindings.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"getKey","symbolKind":"function","exported":false,"metadata":{"line":689,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getKeybinding",{"id":"external:this.getKeybinding","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getKeybinding"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"isKeyUsed","symbolKind":"function","exported":false,"metadata":{"line":696,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.keybindings.some",{"id":"external:this.keybindings.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.keybindings.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"findActionByKey","symbolKind":"function","exported":false,"metadata":{"line":709,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"findMatchingAction","symbolKind":"function","exported":false,"metadata":{"line":717,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"setKeybinding","symbolKind":"function","exported":false,"metadata":{"line":729,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.saveToStorage",{"id":"external:this.saveToStorage","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.saveToStorage"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"resetKeybinding","symbolKind":"function","exported":false,"metadata":{"line":742,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"resetAll","symbolKind":"function","exported":false,"metadata":{"line":755,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"exportKeybindingBackup","symbolKind":"function","exported":true,"metadata":{"line":767,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","symbolName":"importKeybindingBackup","symbolKind":"function","exported":true,"metadata":{"line":777,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:customKey.trim",{"id":"external:customKey.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"customKey.trim"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","metadata":{"lineCount":163,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":149,"column":61,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:store.addMcpTab",{"id":"external:store.addMcpTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.addMcpTab"}}],["external:store.addTerminalTab",{"id":"external:store.addTerminalTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.addTerminalTab"}}],["external:store.openRightPanel",{"id":"external:store.openRightPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.openRightPanel"}}],["external:expect(persisted).toMatchObject",{"id":"external:expect(persisted).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(persisted).toMatchObject"}}],["external:expect(persisted.panelTabs).toEqual",{"id":"external:expect(persisted.panelTabs).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(persisted.panelTabs).toEqual"}}],["external:persisted.panelTabs.some",{"id":"external:persisted.panelTabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"persisted.panelTabs.some"}}],["external:new LayoutStore().getState",{"id":"external:new LayoutStore().getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"new LayoutStore().getState"}}],["external:expect(restored.rightPanelOpen).toBe",{"id":"external:expect(restored.rightPanelOpen).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(restored.rightPanelOpen).toBe"}}],["external:expect(restored.bottomPanelOpen).toBe",{"id":"external:expect(restored.bottomPanelOpen).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(restored.bottomPanelOpen).toBe"}}],["external:restored.panelTabs.some",{"id":"external:restored.panelTabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"restored.panelTabs.some"}}],["external:expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe",{"id":"external:expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe"}}],["external:store.openBottomPanel",{"id":"external:store.openBottomPanel","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.openBottomPanel"}}],["external:store.syncTerminalSessions",{"id":"external:store.syncTerminalSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.syncTerminalSessions"}}],["external:expect(store.getState().bottomPanelOpen).toBe",{"id":"external:expect(store.getState().bottomPanelOpen).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getState().bottomPanelOpen).toBe"}}],["external:store.getState",{"id":"external:store.getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getState"}}],["external:expect(store.getState().rightPanelOpen).toBe",{"id":"external:expect(store.getState().rightPanelOpen).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getState().rightPanelOpen).toBe"}}],["external:expect(store.getTerminalTabs('bottom')).toEqual",{"id":"external:expect(store.getTerminalTabs('bottom')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom')).toEqual"}}],["external:store.getTerminalTabs",{"id":"external:store.getTerminalTabs","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getTerminalTabs"}}],["external:expect(store.getTerminalTabs('right')).toEqual",{"id":"external:expect(store.getTerminalTabs('right')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right')).toEqual"}}],["external:store.moveTab",{"id":"external:store.moveTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.moveTab"}}],["external:expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual",{"id":"external:expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual"}}],["external:store.getTerminalTabs('bottom').map",{"id":"external:store.getTerminalTabs('bottom').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getTerminalTabs('bottom').map"}}],["external:expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual",{"id":"external:expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual"}}],["external:store.getTerminalTabs('right').map",{"id":"external:store.getTerminalTabs('right').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getTerminalTabs('right').map"}}],["external:expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe",{"id":"external:expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe"}}],["external:store.getState().panelTabs.some",{"id":"external:store.getState().panelTabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getState().panelTabs.some"}}],["external:store.updateTerminalSnapshot",{"id":"external:store.updateTerminalSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.updateTerminalSnapshot"}}],["external:store.subscribe",{"id":"external:store.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.subscribe"}}],["external:expect(notifications).toBe",{"id":"external:expect(notifications).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(notifications).toBe"}}],["external:store.setActiveTab",{"id":"external:store.setActiveTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.setActiveTab"}}],["external:expect(store.getState().activeTabId.right).toBe",{"id":"external:expect(store.getState().activeTabId.right).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getState().activeTabId.right).toBe"}}],["external:expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject",{"id":"external:expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject"}}],["external:restored.syncTerminalSessions",{"id":"external:restored.syncTerminalSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"restored.syncTerminalSessions"}}],["external:restored.getState().panelTabs.find",{"id":"external:restored.getState().panelTabs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"restored.getState().panelTabs.find"}}],["external:restored.getState",{"id":"external:restored.getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"restored.getState"}}],["external:store.setTerminalCopyOnSelect",{"id":"external:store.setTerminalCopyOnSelect","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.setTerminalCopyOnSelect"}}],["external:store.setTerminalRightClickPaste",{"id":"external:store.setTerminalRightClickPaste","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.setTerminalRightClickPaste"}}],["external:expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe",{"id":"external:expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe"}}],["external:expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe",{"id":"external:expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe"}}],["external:expect(restored.terminalCopyOnSelect).toBe",{"id":"external:expect(restored.terminalCopyOnSelect).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(restored.terminalCopyOnSelect).toBe"}}],["external:expect(restored.terminalRightClickPaste).toBe",{"id":"external:expect(restored.terminalRightClickPaste).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(restored.terminalRightClickPaste).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getResolvedTerminalTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getResolvedTerminalTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getResolvedTerminalTitle","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"buildTerminalPanelTab","symbolKind":"function","exported":false,"metadata":{"line":58,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"isPanelPosition","symbolKind":"function","exported":false,"metadata":{"line":168,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:PANEL_POSITIONS.includes",{"id":"external:PANEL_POSITIONS.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"PANEL_POSITIONS.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"isPersistedPanelTabType","symbolKind":"function","exported":false,"metadata":{"line":172,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:PERSISTED_PANEL_TAB_TYPES.includes",{"id":"external:PERSISTED_PANEL_TAB_TYPES.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"PERSISTED_PANEL_TAB_TYPES.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:normalizePersistedPanelTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:normalizePersistedPanelTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"normalizePersistedPanelTab","symbolKind":"function","exported":false,"metadata":{"line":176,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"sanitizePersistedPanelLayout","symbolKind":"function","exported":false,"metadata":{"line":196,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:isPersistedPanelTabType",{"id":"symbol-name:isPersistedPanelTabType","kind":"symbol","language":"jsts","symbolName":"isPersistedPanelTabType","metadata":{"unresolvedName":"isPersistedPanelTabType"}}],["symbol-name:isPanelPosition",{"id":"symbol-name:isPanelPosition","kind":"symbol","language":"jsts","symbolName":"isPanelPosition","metadata":{"unresolvedName":"isPanelPosition"}}],["external:panelTabs.push",{"id":"external:panelTabs.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"panelTabs.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"sanitizePersistedTerminalLayoutMap","symbolKind":"function","exported":false,"metadata":{"line":233,"column":1,"cyclomaticComplexity":34,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:rawOrder.bottom.filter",{"id":"external:rawOrder.bottom.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawOrder.bottom.filter"}}],["external:rawOrder.right.filter",{"id":"external:rawOrder.right.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"rawOrder.right.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"persistPanelLayout","symbolKind":"function","exported":false,"metadata":{"line":319,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.panelTabs\n .filter",{"id":"external:this.state.panelTabs\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"readTerminalLayoutMap","symbolKind":"function","exported":false,"metadata":{"line":341,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:sanitizePersistedTerminalLayoutMap",{"id":"symbol-name:sanitizePersistedTerminalLayoutMap","kind":"symbol","language":"jsts","symbolName":"sanitizePersistedTerminalLayoutMap","metadata":{"unresolvedName":"sanitizePersistedTerminalLayoutMap"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"persistTerminalLayout","symbolKind":"function","exported":false,"metadata":{"line":349,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.readTerminalLayoutMap",{"id":"external:this.readTerminalLayoutMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.readTerminalLayoutMap"}}],["external:this.getTabsForPosition('bottom').map",{"id":"external:this.getTabsForPosition('bottom').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTabsForPosition('bottom').map"}}],["external:this.getTabsForPosition",{"id":"external:this.getTabsForPosition","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTabsForPosition"}}],["external:this.getTabsForPosition('right').map",{"id":"external:this.getTabsForPosition('right').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTabsForPosition('right').map"}}],["external:Object.fromEntries",{"id":"external:Object.fromEntries","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.fromEntries"}}],["external:this.state.panelTabs\n .filter",{"id":"external:this.state.panelTabs\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":460,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":465,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.persistPanelLayout",{"id":"external:this.persistPanelLayout","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.persistPanelLayout"}}],["external:this.persistTerminalLayout",{"id":"external:this.persistTerminalLayout","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.persistTerminalLayout"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSidebarExpanded",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSidebarExpanded","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getSidebarExpanded","symbolKind":"function","exported":false,"metadata":{"line":475,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setSidebarExpanded","symbolKind":"function","exported":false,"metadata":{"line":479,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setSidebarFolderRecents","symbolKind":"function","exported":false,"metadata":{"line":490,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setSidebarFolderRecentsShowDiff","symbolKind":"function","exported":false,"metadata":{"line":501,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setSidebarShowChildSessions","symbolKind":"function","exported":false,"metadata":{"line":512,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setWakeLock","symbolKind":"function","exported":false,"metadata":{"line":523,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setTerminalCopyOnSelect","symbolKind":"function","exported":false,"metadata":{"line":534,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setTerminalRightClickPaste","symbolKind":"function","exported":false,"metadata":{"line":545,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleSidebar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleSidebar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"toggleSidebar","symbolKind":"function","exported":false,"metadata":{"line":556,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.setSidebarExpanded",{"id":"external:this.setSidebarExpanded","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setSidebarExpanded"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setPanelOpen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setPanelOpen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setPanelOpen","symbolKind":"function","exported":false,"metadata":{"line":565,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTabsForPosition",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTabsForPosition","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getTabsForPosition","symbolKind":"function","exported":false,"metadata":{"line":578,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.panelTabs.filter",{"id":"external:this.state.panelTabs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getActiveTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getActiveTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getActiveTab","symbolKind":"function","exported":false,"metadata":{"line":583,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.panelTabs.find",{"id":"external:this.state.panelTabs.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setActiveTab","symbolKind":"function","exported":false,"metadata":{"line":590,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addTab","symbolKind":"function","exported":false,"metadata":{"line":599,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.panelTabs.push",{"id":"external:this.state.panelTabs.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.push"}}],["external:this.setPanelOpen",{"id":"external:this.setPanelOpen","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setPanelOpen"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addSingletonTab","symbolKind":"function","exported":false,"metadata":{"line":616,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.setActiveTab",{"id":"external:this.setActiveTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setActiveTab"}}],["external:this.addTab",{"id":"external:this.addTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.addTab"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addFilesTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addFilesTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addFilesTab","symbolKind":"function","exported":false,"metadata":{"line":628,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addChangesTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addChangesTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addChangesTab","symbolKind":"function","exported":false,"metadata":{"line":633,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addMcpTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addMcpTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addMcpTab","symbolKind":"function","exported":false,"metadata":{"line":638,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.addSingletonTab",{"id":"external:this.addSingletonTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.addSingletonTab"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSkillTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSkillTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addSkillTab","symbolKind":"function","exported":false,"metadata":{"line":643,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addWorktreeTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addWorktreeTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addWorktreeTab","symbolKind":"function","exported":false,"metadata":{"line":648,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addExtensionTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addExtensionTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addExtensionTab","symbolKind":"function","exported":false,"metadata":{"line":653,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"removeTab","symbolKind":"function","exported":false,"metadata":{"line":658,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.panelTabs.findIndex",{"id":"external:this.state.panelTabs.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.findIndex"}}],["external:this.state.panelTabs.splice",{"id":"external:this.state.panelTabs.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.splice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"updateTab","symbolKind":"function","exported":false,"metadata":{"line":682,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"moveTab","symbolKind":"function","exported":false,"metadata":{"line":691,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"reorderTabs","symbolKind":"function","exported":false,"metadata":{"line":730,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:tabs.findIndex",{"id":"external:tabs.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.findIndex"}}],["external:tabs.splice",{"id":"external:tabs.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.splice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"toggleRightPanel","symbolKind":"function","exported":false,"metadata":{"line":758,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.setRightPanelView",{"id":"external:this.setRightPanelView","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setRightPanelView"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openRightPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openRightPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"openRightPanel","symbolKind":"function","exported":false,"metadata":{"line":775,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeRightPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeRightPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"closeRightPanel","symbolKind":"function","exported":false,"metadata":{"line":780,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setRightPanelView","symbolKind":"function","exported":false,"metadata":{"line":785,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setRightPanelWidth","symbolKind":"function","exported":false,"metadata":{"line":794,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.rightPanelWidth.toString",{"id":"external:this.state.rightPanelWidth.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.rightPanelWidth.toString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"openFilePreview","symbolKind":"function","exported":false,"metadata":{"line":808,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getTargetFilesTab",{"id":"external:this.getTargetFilesTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTargetFilesTab"}}],["external:previewFiles.findIndex",{"id":"external:previewFiles.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewFiles.findIndex"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"activateFilePreview","symbolKind":"function","exported":false,"metadata":{"line":824,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:tab?.previewFiles?.find",{"id":"external:tab?.previewFiles?.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"tab?.previewFiles?.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"closeFilePreview","symbolKind":"function","exported":false,"metadata":{"line":832,"column":3,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:previewFiles.filter",{"id":"external:previewFiles.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"previewFiles.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"closeAllFilePreviews","symbolKind":"function","exported":false,"metadata":{"line":856,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"reorderFilePreviews","symbolKind":"function","exported":false,"metadata":{"line":864,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:nextPreviewFiles.splice",{"id":"external:nextPreviewFiles.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextPreviewFiles.splice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getTargetFilesTab","symbolKind":"function","exported":false,"metadata":{"line":881,"column":3,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.addFilesTab",{"id":"external:this.addFilesTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.addFilesTab"}}],["external:(['right', 'bottom'] as const)\n .map",{"id":"external:(['right', 'bottom'] as const)\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(['right', 'bottom'] as const)\n .map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleBottomPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleBottomPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"toggleBottomPanel","symbolKind":"function","exported":false,"metadata":{"line":912,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openBottomPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openBottomPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"openBottomPanel","symbolKind":"function","exported":false,"metadata":{"line":917,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeBottomPanel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeBottomPanel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"closeBottomPanel","symbolKind":"function","exported":false,"metadata":{"line":922,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setBottomPanelHeight","symbolKind":"function","exported":false,"metadata":{"line":927,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:height.toString",{"id":"external:height.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"height.toString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setCurrentTerminalDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setCurrentTerminalDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setCurrentTerminalDirectory","symbolKind":"function","exported":false,"metadata":{"line":941,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"syncTerminalSessions","symbolKind":"function","exported":false,"metadata":{"line":945,"column":3,"cyclomaticComplexity":25,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.state.panelTabs.filter(tab => tab.type === 'terminal').map",{"id":"external:this.state.panelTabs.filter(tab => tab.type === 'terminal').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.filter(tab => tab.type === 'terminal').map"}}],["symbol-name:buildTerminalPanelTab",{"id":"symbol-name:buildTerminalPanelTab","kind":"symbol","language":"jsts","symbolName":"buildTerminalPanelTab","metadata":{"unresolvedName":"buildTerminalPanelTab"}}],["external:existingTerminalById.get",{"id":"external:existingTerminalById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"existingTerminalById.get"}}],["external:nonTerminalTabs.map",{"id":"external:nonTerminalTabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"nonTerminalTabs.map"}}],["external:nonTerminalTabs.filter(tab => tab.position === position).map",{"id":"external:nonTerminalTabs.filter(tab => tab.position === position).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"nonTerminalTabs.filter(tab => tab.position === position).map"}}],["external:nonTerminalTabs.filter",{"id":"external:nonTerminalTabs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"nonTerminalTabs.filter"}}],["external:orderByPosition[position].includes",{"id":"external:orderByPosition[position].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"orderByPosition[position].includes"}}],["external:orderByPosition[position].push",{"id":"external:orderByPosition[position].push","kind":"external","language":"jsts","metadata":{"unresolvedName":"orderByPosition[position].push"}}],["external:nonTerminalById.get",{"id":"external:nonTerminalById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"nonTerminalById.get"}}],["external:tabsByPosition[position].push",{"id":"external:tabsByPosition[position].push","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabsByPosition[position].push"}}],["external:sessionById.get",{"id":"external:sessionById.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionById.get"}}],["external:assignedTerminalIds.has",{"id":"external:assignedTerminalIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"assignedTerminalIds.has"}}],["external:assignedTerminalIds.add",{"id":"external:assignedTerminalIds.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"assignedTerminalIds.add"}}],["external:tabsByPosition.bottom.push",{"id":"external:tabsByPosition.bottom.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabsByPosition.bottom.push"}}],["external:this.state.panelTabs.some",{"id":"external:this.state.panelTabs.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.panelTabs.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"addTerminalTab","symbolKind":"function","exported":false,"metadata":{"line":1045,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTerminalTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTerminalTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"removeTerminalTab","symbolKind":"function","exported":false,"metadata":{"line":1065,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.removeTab",{"id":"external:this.removeTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.removeTab"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTerminal",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTerminal","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"setActiveTerminal","symbolKind":"function","exported":false,"metadata":{"line":1069,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalTab",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalTab","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"updateTerminalTab","symbolKind":"function","exported":false,"metadata":{"line":1073,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.updateTab",{"id":"external:this.updateTab","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.updateTab"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"updateTerminalShellTitle","symbolKind":"function","exported":false,"metadata":{"line":1077,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"updateTerminalCustomTitle","symbolKind":"function","exported":false,"metadata":{"line":1087,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"updateTerminalSnapshot","symbolKind":"function","exported":false,"metadata":{"line":1095,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"syncTerminalTitleMode","symbolKind":"function","exported":false,"metadata":{"line":1115,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:getResolvedTerminalTitle",{"id":"symbol-name:getResolvedTerminalTitle","kind":"symbol","language":"jsts","symbolName":"getResolvedTerminalTitle","metadata":{"unresolvedName":"getResolvedTerminalTitle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTerminalTabs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTerminalTabs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"reorderTerminalTabs","symbolKind":"function","exported":false,"metadata":{"line":1130,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.reorderTabs",{"id":"external:this.reorderTabs","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.reorderTabs"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getTerminalTabs","symbolKind":"function","exported":false,"metadata":{"line":1134,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getTabsForPosition(position)\n .filter",{"id":"external:this.getTabsForPosition(position)\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTabsForPosition(position)\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getState","symbolKind":"function","exported":false,"metadata":{"line":1153,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"buildPersistedPanelLayout","symbolKind":"function","exported":false,"metadata":{"line":1173,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:state.panelTabs\n .filter",{"id":"external:state.panelTabs\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.panelTabs\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"exportLayoutBackup","symbolKind":"function","exported":true,"metadata":{"line":1190,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:layoutStore.getState",{"id":"external:layoutStore.getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.getState"}}],["external:Number.parseInt",{"id":"external:Number.parseInt","kind":"external","language":"jsts","metadata":{"unresolvedName":"Number.parseInt"}}],["symbol-name:buildPersistedPanelLayout",{"id":"symbol-name:buildPersistedPanelLayout","kind":"symbol","language":"jsts","symbolName":"buildPersistedPanelLayout","metadata":{"unresolvedName":"buildPersistedPanelLayout"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"importLayoutBackup","symbolKind":"function","exported":true,"metadata":{"line":1218,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:sanitizePersistedPanelLayout",{"id":"symbol-name:sanitizePersistedPanelLayout","kind":"symbol","language":"jsts","symbolName":"sanitizePersistedPanelLayout","metadata":{"unresolvedName":"sanitizePersistedPanelLayout"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":1272,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:layoutStore.getTerminalTabs",{"id":"external:layoutStore.getTerminalTabs","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.getTerminalTabs"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":1287,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","symbolName":"useLayoutStore","symbolKind":"function","exported":true,"metadata":{"line":1291,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:layoutStore.subscribe",{"id":"external:layoutStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"layoutStore.subscribe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","metadata":{"lineCount":332,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createAssistantMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createAssistantMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","symbolName":"createAssistantMessage","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","symbolName":"createUserMessage","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createTextPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createTextPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","symbolName":"createTextPart","symbolKind":"function","exported":false,"metadata":{"line":47,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","symbolName":"createMessageWithParts","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:createTextPart",{"id":"symbol-name:createTextPart","kind":"symbol","language":"jsts","symbolName":"createTextPart","metadata":{"unresolvedName":"createTextPart"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":290,"column":66,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(state?.messages).toHaveLength",{"id":"external:expect(state?.messages).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}}],["external:expect(state?.messages[0].parts).toHaveLength",{"id":"external:expect(state?.messages[0].parts).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}}],["external:expect(state?.messages[0].parts[0]).toMatchObject",{"id":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}}],["external:expect(state?.messages[0].info).toMatchObject",{"id":"external:expect(state?.messages[0].info).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages[0].info).toMatchObject"}}],["external:expect(state?.isStreaming).toBe",{"id":"external:expect(state?.isStreaming).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.isStreaming).toBe"}}],["external:expect(state?.messages[0].info.id).toBe",{"id":"external:expect(state?.messages[0].info.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}}],["external:expect(state?.messages.map(message => message.info.id)).toEqual",{"id":"external:expect(state?.messages.map(message => message.info.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages.map(message => message.info.id)).toEqual"}}],["external:state?.messages.map",{"id":"external:state?.messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"state?.messages.map"}}],["external:expect(state?.messages ?? []).toEqual",{"id":"external:expect(state?.messages ?? []).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages ?? []).toEqual"}}],["symbol-name:createMessageWithParts",{"id":"symbol-name:createMessageWithParts","kind":"symbol","language":"jsts","symbolName":"createMessageWithParts","metadata":{"unresolvedName":"createMessageWithParts"}}],["external:expect(messageStore.isSessionStale('session-1')).toBe",{"id":"external:expect(messageStore.isSessionStale('session-1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(messageStore.isSessionStale('session-1')).toBe"}}],["external:messageStore.isSessionStale",{"id":"external:messageStore.isSessionStale","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.isSessionStale"}}],["external:expect(state?.revertState).toBeNull",{"id":"external:expect(state?.revertState).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.revertState).toBeNull"}}],["external:expect(state?.messages[1].info.id).toBe",{"id":"external:expect(state?.messages[1].info.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(state?.messages[1].info.id).toBe"}}],["external:rafCallbacks.push",{"id":"external:rafCallbacks.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"rafCallbacks.push"}}],["symbol-name:scheduledFrame",{"id":"symbol-name:scheduledFrame","kind":"symbol","language":"jsts","symbolName":"scheduledFrame","metadata":{"unresolvedName":"scheduledFrame"}}],["external:expect(afterMessage1?.parts[0]).toMatchObject",{"id":"external:expect(afterMessage1?.parts[0]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(afterMessage1?.parts[0]).toMatchObject"}}],["external:expect(afterMessage2?.parts[0]).toMatchObject",{"id":"external:expect(afterMessage2?.parts[0]).toMatchObject","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(afterMessage2?.parts[0]).toMatchObject"}}],["external:expect(afterMessage1).not.toBe",{"id":"external:expect(afterMessage1).not.toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(afterMessage1).not.toBe"}}],["external:expect(afterMessage2).not.toBe",{"id":"external:expect(afterMessage2).not.toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(afterMessage2).not.toBe"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","metadata":{"lineCount":81,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isVisibleChatRole",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isVisibleChatRole","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"isVisibleChatRole","symbolKind":"function","exported":false,"metadata":{"line":24,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":43,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":48,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.flushDirtyMessages",{"id":"external:this.flushDirtyMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.flushDirtyMessages"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":679,"column":43,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"flushDirtyMessages","symbolKind":"function","exported":false,"metadata":{"line":70,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.sessions.get",{"id":"external:this.sessions.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.get"}}],["external:state.messages.map",{"id":"external:state.messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.map"}}],["external:dirtyMessages.has",{"id":"external:dirtyMessages.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"dirtyMessages.has"}}],["external:m.parts.map",{"id":"external:m.parts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.parts.map"}}],["external:this.dirtyMessagesBySession.clear",{"id":"external:this.dirtyMessagesBySession.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dirtyMessagesBySession.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"notifyImmediate","symbolKind":"function","exported":false,"metadata":{"line":95,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getSessionState","symbolKind":"function","exported":false,"metadata":{"line":109,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getVisibleMessages","symbolKind":"function","exported":false,"metadata":{"line":113,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getIsStreaming",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getIsStreaming","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getIsStreaming","symbolKind":"function","exported":false,"metadata":{"line":125,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRevertState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRevertState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getRevertState","symbolKind":"function","exported":false,"metadata":{"line":130,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getPrependedCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getPrependedCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getPrependedCount","symbolKind":"function","exported":false,"metadata":{"line":135,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getHasMoreHistory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getHasMoreHistory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getHasMoreHistory","symbolKind":"function","exported":false,"metadata":{"line":139,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getSessionDirectory","symbolKind":"function","exported":false,"metadata":{"line":144,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getSessionTitle","symbolKind":"function","exported":false,"metadata":{"line":149,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getShareUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getShareUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getShareUrl","symbolKind":"function","exported":false,"metadata":{"line":154,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLoadState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLoadState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getLoadState","symbolKind":"function","exported":false,"metadata":{"line":159,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSessionStale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSessionStale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"isSessionStale","symbolKind":"function","exported":false,"metadata":{"line":164,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"ensureSession","symbolKind":"function","exported":false,"metadata":{"line":172,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.sessionAccessTime.set",{"id":"external:this.sessionAccessTime.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionAccessTime.set"}}],["external:this.evictOldSessions",{"id":"external:this.evictOldSessions","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.evictOldSessions"}}],["external:this.sessions.set",{"id":"external:this.sessions.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"evictOldSessions","symbolKind":"function","exported":false,"metadata":{"line":194,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.protectedSessions.has",{"id":"external:this.protectedSessions.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.protectedSessions.has"}}],["external:this.sessions.delete",{"id":"external:this.sessions.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.delete"}}],["external:this.sessionAccessTime.delete",{"id":"external:this.sessionAccessTime.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionAccessTime.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:protectSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:protectSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"protectSession","symbolKind":"function","exported":false,"metadata":{"line":218,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.protectedSessions.add",{"id":"external:this.protectedSessions.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.protectedSessions.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:unprotectSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:unprotectSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"unprotectSession","symbolKind":"function","exported":false,"metadata":{"line":223,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.protectedSessions.delete",{"id":"external:this.protectedSessions.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.protectedSessions.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"updateSessionMetadata","symbolKind":"function","exported":false,"metadata":{"line":227,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"upsertLocalMessage","symbolKind":"function","exported":false,"metadata":{"line":249,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.ensureSession",{"id":"external:this.ensureSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.ensureSession"}}],["external:[...state.messages, message].sort",{"id":"external:[...state.messages, message].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...state.messages, message].sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"removeMessage","symbolKind":"function","exported":false,"metadata":{"line":266,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:state.messages.filter",{"id":"external:state.messages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.messages.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"markAllSessionsStale","symbolKind":"function","exported":false,"metadata":{"line":275,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.sessions.values",{"id":"external:this.sessions.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.values"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"setLoadState","symbolKind":"function","exported":false,"metadata":{"line":285,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"dedupeSyntheticUserMessages","symbolKind":"function","exported":false,"metadata":{"line":295,"column":3,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:result.findIndex",{"id":"external:result.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.findIndex"}}],["external:this.isSyntheticLiveMessageId",{"id":"external:this.isSyntheticLiveMessageId","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.isSyntheticLiveMessageId"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"setMessages","symbolKind":"function","exported":false,"metadata":{"line":322,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:apiMessages\n .filter",{"id":"external:apiMessages\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiMessages\n .filter"}}],["symbol-name:toUIMessage",{"id":"symbol-name:toUIMessage","kind":"symbol","language":"jsts","symbolName":"toUIMessage","metadata":{"unresolvedName":"toUIMessage"}}],["external:this.dedupeSyntheticUserMessages",{"id":"external:this.dedupeSyntheticUserMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dedupeSyntheticUserMessages"}}],["external:this.extractUserText",{"id":"external:this.extractUserText","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.extractUserText"}}],["external:this.extractUserAttachments",{"id":"external:this.extractUserAttachments","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.extractUserAttachments"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"prependMessages","symbolKind":"function","exported":false,"metadata":{"line":386,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:newMessages.filter",{"id":"external:newMessages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"newMessages.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"clearAll","symbolKind":"function","exported":false,"metadata":{"line":404,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.sessions.clear",{"id":"external:this.sessions.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.clear"}}],["external:this.sessionAccessTime.clear",{"id":"external:this.sessionAccessTime.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessionAccessTime.clear"}}],["external:this.notifyImmediate",{"id":"external:this.notifyImmediate","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.notifyImmediate"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"clearSession","symbolKind":"function","exported":false,"metadata":{"line":416,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"setShareUrl","symbolKind":"function","exported":false,"metadata":{"line":422,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"createStreamingPlaceholderMessage","symbolKind":"function","exported":false,"metadata":{"line":433,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:toUIMessageInfo",{"id":"symbol-name:toUIMessageInfo","kind":"symbol","language":"jsts","symbolName":"toUIMessageInfo","metadata":{"unresolvedName":"toUIMessageInfo"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"ensureMessageForPart","symbolKind":"function","exported":false,"metadata":{"line":446,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.createStreamingPlaceholderMessage",{"id":"external:this.createStreamingPlaceholderMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.createStreamingPlaceholderMessage"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"withTextPartFromMessage","symbolKind":"function","exported":false,"metadata":{"line":458,"column":3,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:message.parts.findIndex",{"id":"external:message.parts.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.parts.findIndex"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSyntheticLiveMessageId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSyntheticLiveMessageId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"isSyntheticLiveMessageId","symbolKind":"function","exported":false,"metadata":{"line":491,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:id.startsWith",{"id":"external:id.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"findDuplicateLiveUserMessageIndex","symbolKind":"function","exported":false,"metadata":{"line":495,"column":3,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"remapMessageIdentity","symbolKind":"function","exported":false,"metadata":{"line":513,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:message.parts.map",{"id":"external:message.parts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.parts.map"}}],["external:part.id.startsWith",{"id":"external:part.id.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.id.startsWith"}}],["external:part.id.slice",{"id":"external:part.id.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"part.id.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:sortMessagesByCreated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:sortMessagesByCreated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"sortMessagesByCreated","symbolKind":"function","exported":false,"metadata":{"line":527,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:[...messages].sort",{"id":"external:[...messages].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...messages].sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handleMessageUpdated","symbolKind":"function","exported":false,"metadata":{"line":535,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:logger.warn",{"id":"external:logger.warn","kind":"external","language":"jsts","metadata":{"unresolvedName":"logger.warn"}}],["external:this.findDuplicateLiveUserMessageIndex",{"id":"external:this.findDuplicateLiveUserMessageIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.findDuplicateLiveUserMessageIndex"}}],["external:this.remapMessageIdentity",{"id":"external:this.remapMessageIdentity","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.remapMessageIdentity"}}],["external:this.withTextPartFromMessage",{"id":"external:this.withTextPartFromMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.withTextPartFromMessage"}}],["external:this.sortMessagesByCreated",{"id":"external:this.sortMessagesByCreated","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sortMessagesByCreated"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handlePartUpdated","symbolKind":"function","exported":false,"metadata":{"line":572,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.ensureMessageForPart",{"id":"external:this.ensureMessageForPart","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.ensureMessageForPart"}}],["external:newParts.findIndex",{"id":"external:newParts.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"newParts.findIndex"}}],["symbol-name:toUIPart",{"id":"symbol-name:toUIPart","kind":"symbol","language":"jsts","symbolName":"toUIPart","metadata":{"unresolvedName":"toUIPart"}}],["external:newParts.push",{"id":"external:newParts.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"newParts.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handlePartDelta","symbolKind":"function","exported":false,"metadata":{"line":596,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:msg.parts.find",{"id":"external:msg.parts.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"msg.parts.find"}}],["external:this.dirtyMessagesBySession.get",{"id":"external:this.dirtyMessagesBySession.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dirtyMessagesBySession.get"}}],["external:this.dirtyMessagesBySession.set",{"id":"external:this.dirtyMessagesBySession.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dirtyMessagesBySession.set"}}],["external:dirtyMessages.add",{"id":"external:dirtyMessages.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"dirtyMessages.add"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handlePartRemoved","symbolKind":"function","exported":false,"metadata":{"line":630,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:oldMessage.parts.some",{"id":"external:oldMessage.parts.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"oldMessage.parts.some"}}],["external:oldMessage.parts.filter",{"id":"external:oldMessage.parts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"oldMessage.parts.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handleSessionIdle","symbolKind":"function","exported":false,"metadata":{"line":645,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"handleSessionError","symbolKind":"function","exported":false,"metadata":{"line":671,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"truncateAfterRevert","symbolKind":"function","exported":false,"metadata":{"line":701,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"createSendRollbackSnapshot","symbolKind":"function","exported":false,"metadata":{"line":713,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:state.revertState.history.map",{"id":"external:state.revertState.history.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.revertState.history.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"restoreSendRollback","symbolKind":"function","exported":false,"metadata":{"line":726,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:snapshot.messages.map",{"id":"external:snapshot.messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"snapshot.messages.map"}}],["external:snapshot.revertState.history.map",{"id":"external:snapshot.revertState.history.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"snapshot.revertState.history.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"setRevertState","symbolKind":"function","exported":false,"metadata":{"line":741,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLastUserMessageId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLastUserMessageId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getLastUserMessageId","symbolKind":"function","exported":false,"metadata":{"line":748,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getVisibleMessages",{"id":"external:this.getVisibleMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getVisibleMessages"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"canUndo","symbolKind":"function","exported":false,"metadata":{"line":756,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getVisibleMessages(sessionId).some",{"id":"external:this.getVisibleMessages(sessionId).some","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getVisibleMessages(sessionId).some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canRedo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canRedo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"canRedo","symbolKind":"function","exported":false,"metadata":{"line":763,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRedoSteps",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRedoSteps","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getRedoSteps","symbolKind":"function","exported":false,"metadata":{"line":770,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getCurrentRevertedContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getCurrentRevertedContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"getCurrentRevertedContent","symbolKind":"function","exported":false,"metadata":{"line":776,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"setStreaming","symbolKind":"function","exported":false,"metadata":{"line":788,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"extractUserText","symbolKind":"function","exported":false,"metadata":{"line":798,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:message.parts\n .filter",{"id":"external:message.parts\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.parts\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","symbolName":"extractUserAttachments","symbolKind":"function","exported":false,"metadata":{"line":805,"column":3,"cyclomaticComplexity":15,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","metadata":{"lineCount":81,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","symbolName":"createUserMessage","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createTextPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createTextPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","symbolName":"createTextPart","symbolKind":"function","exported":false,"metadata":{"line":25,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","symbolName":"createMessageWithParts","symbolKind":"function","exported":false,"metadata":{"line":39,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":68,"column":60,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(result.current?.messages.map(message => message.info.id)).toEqual",{"id":"external:expect(result.current?.messages.map(message => message.info.id)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current?.messages.map(message => message.info.id)).toEqual"}}],["external:result.current?.messages.map",{"id":"external:result.current?.messages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current?.messages.map"}}],["external:expect(result.current?.canUndo).toBe",{"id":"external:expect(result.current?.canUndo).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current?.canUndo).toBe"}}],["external:expect(result.current?.messages).toEqual",{"id":"external:expect(result.current?.messages).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current?.messages).toEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"createSnapshot","symbolKind":"function","exported":false,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:messageStore.getVisibleMessages",{"id":"external:messageStore.getVisibleMessages","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getVisibleMessages"}}],["external:messageStore.getIsStreaming",{"id":"external:messageStore.getIsStreaming","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getIsStreaming"}}],["external:messageStore.getRevertState",{"id":"external:messageStore.getRevertState","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getRevertState"}}],["external:messageStore.getHasMoreHistory",{"id":"external:messageStore.getHasMoreHistory","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getHasMoreHistory"}}],["external:messageStore.getSessionDirectory",{"id":"external:messageStore.getSessionDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getSessionDirectory"}}],["external:messageStore.getSessionTitle",{"id":"external:messageStore.getSessionTitle","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getSessionTitle"}}],["external:messageStore.getShareUrl",{"id":"external:messageStore.getShareUrl","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getShareUrl"}}],["external:messageStore.canUndo",{"id":"external:messageStore.canUndo","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.canUndo"}}],["external:messageStore.canRedo",{"id":"external:messageStore.canRedo","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.canRedo"}}],["external:messageStore.getRedoSteps",{"id":"external:messageStore.getRedoSteps","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getRedoSteps"}}],["external:messageStore.getCurrentRevertedContent",{"id":"external:messageStore.getCurrentRevertedContent","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getCurrentRevertedContent"}}],["external:messageStore.getLoadState",{"id":"external:messageStore.getLoadState","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.getLoadState"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:createSnapshot",{"id":"symbol-name:createSnapshot","kind":"symbol","language":"jsts","symbolName":"createSnapshot","metadata":{"unresolvedName":"createSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":132,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"subscribeFocusedSnapshot","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:messageStore.subscribe",{"id":"external:messageStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"messageStore.subscribe"}}],["external:paneLayoutStore.subscribe",{"id":"external:paneLayoutStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.subscribe"}}],["symbol-name:unsubscribeMessageStore",{"id":"symbol-name:unsubscribeMessageStore","kind":"symbol","language":"jsts","symbolName":"unsubscribeMessageStore","metadata":{"unresolvedName":"unsubscribeMessageStore"}}],["symbol-name:unsubscribePaneLayout",{"id":"symbol-name:unsubscribePaneLayout","kind":"symbol","language":"jsts","symbolName":"unsubscribePaneLayout","metadata":{"unresolvedName":"unsubscribePaneLayout"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useMessageStore","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useMessageStoreSelector","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:selector",{"id":"symbol-name:selector","kind":"symbol","language":"jsts","symbolName":"selector","metadata":{"unresolvedName":"selector"}}],["symbol-name:equalityFn",{"id":"symbol-name:equalityFn","kind":"symbol","language":"jsts","symbolName":"equalityFn","metadata":{"unresolvedName":"equalityFn"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:shallowEqual",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:shallowEqual","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"shallowEqual","symbolKind":"function","exported":false,"metadata":{"line":108,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:sessionSnapshots.clear",{"id":"external:sessionSnapshots.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSnapshots.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useSessionState","symbolKind":"function","exported":true,"metadata":{"line":139,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:sessionSnapshots.has",{"id":"external:sessionSnapshots.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSnapshots.has"}}],["external:sessionSnapshots.get",{"id":"external:sessionSnapshots.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSnapshots.get"}}],["external:sessionSnapshots.set",{"id":"external:sessionSnapshots.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionSnapshots.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"getSessionSnapshot","symbolKind":"function","exported":false,"metadata":{"line":140,"column":30,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useCurrentSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useCurrentSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useCurrentSessionId","symbolKind":"function","exported":true,"metadata":{"line":183,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["symbol-name:useMessageStoreSelector",{"id":"symbol-name:useMessageStoreSelector","kind":"symbol","language":"jsts","symbolName":"useMessageStoreSelector","metadata":{"unresolvedName":"useMessageStoreSelector"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useIsStreaming",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useIsStreaming","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useIsStreaming","symbolKind":"function","exported":true,"metadata":{"line":188,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useMessages","symbolKind":"function","exported":true,"metadata":{"line":193,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useUndoRedoState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useUndoRedoState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","symbolName":"useUndoRedoState","symbolKind":"function","exported":true,"metadata":{"line":201,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","metadata":{"lineCount":96,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"loadHiddenModelKeys","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:stored.filter",{"id":"external:stored.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"stored.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":48,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.reload",{"id":"external:this.reload","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.reload"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"updateSnapshot","symbolKind":"function","exported":false,"metadata":{"line":30,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:Array.from(this.hiddenModelKeys).sort",{"id":"external:Array.from(this.hiddenModelKeys).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from(this.hiddenModelKeys).sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:persist",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:persist","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"persist","symbolKind":"function","exported":false,"metadata":{"line":34,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"reload","symbolKind":"function","exported":false,"metadata":{"line":38,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:loadHiddenModelKeys",{"id":"symbol-name:loadHiddenModelKeys","kind":"symbol","language":"jsts","symbolName":"loadHiddenModelKeys","metadata":{"unresolvedName":"loadHiddenModelKeys"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":43,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"isVisible","symbolKind":"function","exported":false,"metadata":{"line":55,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.hiddenModelKeys.has",{"id":"external:this.hiddenModelKeys.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.hiddenModelKeys.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"setVisible","symbolKind":"function","exported":false,"metadata":{"line":60,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.hiddenModelKeys.delete",{"id":"external:this.hiddenModelKeys.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.hiddenModelKeys.delete"}}],["external:this.hiddenModelKeys.add",{"id":"external:this.hiddenModelKeys.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.hiddenModelKeys.add"}}],["external:this.persist",{"id":"external:this.persist","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.persist"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"setManyVisible","symbolKind":"function","exported":false,"metadata":{"line":74,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","symbolName":"useHiddenModelKeys","symbolKind":"function","exported":true,"metadata":{"line":93,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","metadata":{"lineCount":26,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":9,"column":46,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(persisted).toEqual",{"id":"external:expect(persisted).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(persisted).toEqual"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:createDefaultSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:createDefaultSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"createDefaultSettings","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"loadSettings","symbolKind":"function","exported":false,"metadata":{"line":31,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:createDefaultSettings",{"id":"symbol-name:createDefaultSettings","kind":"symbol","language":"jsts","symbolName":"createDefaultSettings","metadata":{"unresolvedName":"createDefaultSettings"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"saveSettings","symbolKind":"function","exported":false,"metadata":{"line":72,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:normalizeSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:normalizeSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"normalizeSettings","symbolKind":"function","exported":false,"metadata":{"line":80,"column":1,"cyclomaticComplexity":19,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":137,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":144,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:persist",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:persist","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"persist","symbolKind":"function","exported":false,"metadata":{"line":148,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:saveSettings",{"id":"symbol-name:saveSettings","kind":"symbol","language":"jsts","symbolName":"saveSettings","metadata":{"unresolvedName":"saveSettings"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:isSystemEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:isSystemEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"isSystemEnabled","symbolKind":"function","exported":false,"metadata":{"line":152,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"setSystemEnabled","symbolKind":"function","exported":false,"metadata":{"line":156,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"exportNotificationEventSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":171,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:notificationEventSettingsStore.getSnapshot",{"id":"external:notificationEventSettingsStore.getSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationEventSettingsStore.getSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"importNotificationEventSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":175,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","symbolName":"useNotificationEventSettings","symbolKind":"function","exported":true,"metadata":{"line":179,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"loadNotifications","symbolKind":"function","exported":false,"metadata":{"line":64,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:(JSON.parse(raw) as NotificationEntry[]).slice",{"id":"external:(JSON.parse(raw) as NotificationEntry[]).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"(JSON.parse(raw) as NotificationEntry[]).slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"saveNotifications","symbolKind":"function","exported":false,"metadata":{"line":74,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":264,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":109,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:persist",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:persist","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"persist","symbolKind":"function","exported":false,"metadata":{"line":113,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:saveNotifications",{"id":"symbol-name:saveNotifications","kind":"symbol","language":"jsts","symbolName":"saveNotifications","metadata":{"unresolvedName":"saveNotifications"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"setToastEnabled","symbolKind":"function","exported":false,"metadata":{"line":119,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.dismissAllToasts",{"id":"external:this.dismissAllToasts","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dismissAllToasts"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"onPush","symbolKind":"function","exported":false,"metadata":{"line":131,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.pushListeners.add",{"id":"external:this.pushListeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pushListeners.add"}}],["external:this.pushListeners.delete",{"id":"external:this.pushListeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pushListeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"push","symbolKind":"function","exported":false,"metadata":{"line":140,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:Math.random().toString(36).slice",{"id":"external:Math.random().toString(36).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random().toString(36).slice"}}],["external:[entry, ...this.state.notifications].slice",{"id":"external:[entry, ...this.state.notifications].slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"[entry, ...this.state.notifications].slice"}}],["external:toasts.pop",{"id":"external:toasts.pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"toasts.pop"}}],["external:this.clearToastTimer",{"id":"external:this.clearToastTimer","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.clearToastTimer"}}],["external:toasts.unshift",{"id":"external:toasts.unshift","kind":"external","language":"jsts","metadata":{"unresolvedName":"toasts.unshift"}}],["external:this.scheduleToastDismiss",{"id":"external:this.scheduleToastDismiss","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.scheduleToastDismiss"}}],["external:this.pushListeners.forEach",{"id":"external:this.pushListeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.pushListeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"markRead","symbolKind":"function","exported":false,"metadata":{"line":187,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.notifications.map",{"id":"external:this.state.notifications.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.notifications.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"markAllRead","symbolKind":"function","exported":false,"metadata":{"line":194,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"markSessionNotificationsRead","symbolKind":"function","exported":false,"metadata":{"line":201,"column":3,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"dismiss","symbolKind":"function","exported":false,"metadata":{"line":216,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.notifications.filter",{"id":"external:this.state.notifications.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.notifications.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"clearAll","symbolKind":"function","exported":false,"metadata":{"line":223,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"scheduleToastDismiss","symbolKind":"function","exported":false,"metadata":{"line":233,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.dismissToast",{"id":"external:this.dismissToast","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.dismissToast"}}],["external:this.toastTimers.set",{"id":"external:this.toastTimers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.toastTimers.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"clearToastTimer","symbolKind":"function","exported":false,"metadata":{"line":239,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.toastTimers.get",{"id":"external:this.toastTimers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.toastTimers.get"}}],["external:this.toastTimers.delete",{"id":"external:this.toastTimers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.toastTimers.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:pauseToast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:pauseToast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"pauseToast","symbolKind":"function","exported":false,"metadata":{"line":247,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"resumeToast","symbolKind":"function","exported":false,"metadata":{"line":251,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.toasts.some",{"id":"external:this.state.toasts.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.toasts.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"dismissToast","symbolKind":"function","exported":false,"metadata":{"line":258,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.toasts.map",{"id":"external:this.state.toasts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.toasts.map"}}],["external:this.state.toasts.filter",{"id":"external:this.state.toasts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.toasts.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"dismissAllToasts","symbolKind":"function","exported":false,"metadata":{"line":273,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.toastTimers.forEach",{"id":"external:this.toastTimers.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.toastTimers.forEach"}}],["external:this.toastTimers.clear",{"id":"external:this.toastTimers.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.toastTimers.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:exportNotificationPreferencesBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:exportNotificationPreferencesBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"exportNotificationPreferencesBackup","symbolKind":"function","exported":true,"metadata":{"line":287,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"importNotificationPreferencesBackup","symbolKind":"function","exported":true,"metadata":{"line":293,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"useNotificationStore","symbolKind":"function","exported":true,"metadata":{"line":299,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"useNotifications","symbolKind":"function","exported":true,"metadata":{"line":304,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"useUnreadNotificationCount","symbolKind":"function","exported":true,"metadata":{"line":310,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:state.notifications.filter",{"id":"external:state.notifications.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.notifications.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"useUnreadCompletedSessionIds","symbolKind":"function","exported":true,"metadata":{"line":316,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:state.notifications.filter(n => n.type === 'completed' && !n.read).map",{"id":"external:state.notifications.filter(n => n.type === 'completed' && !n.read).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.notifications.filter(n => n.type === 'completed' && !n.read).map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","symbolName":"useHasUnreadCompletedNotification","symbolKind":"function","exported":true,"metadata":{"line":322,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:useUnreadCompletedSessionIds",{"id":"symbol-name:useUnreadCompletedSessionIds","kind":"symbol","language":"jsts","symbolName":"useUnreadCompletedSessionIds","metadata":{"unresolvedName":"useUnreadCompletedSessionIds"}}],["external:unreadCompletedSessionIds.has",{"id":"external:unreadCompletedSessionIds.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"unreadCompletedSessionIds.has"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","metadata":{"lineCount":102,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:isSameController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:isSameController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"isSameController","symbolKind":"function","exported":false,"metadata":{"line":22,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":47,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":52,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"rebuildSnapshot","symbolKind":"function","exported":false,"metadata":{"line":56,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.controllers.values",{"id":"external:this.controllers.values","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.controllers.values"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"setController","symbolKind":"function","exported":false,"metadata":{"line":60,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.controllers.get",{"id":"external:this.controllers.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.controllers.get"}}],["symbol-name:isSameController",{"id":"symbol-name:isSameController","kind":"symbol","language":"jsts","symbolName":"isSameController","metadata":{"unresolvedName":"isSameController"}}],["external:this.controllers.set",{"id":"external:this.controllers.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.controllers.set"}}],["external:this.rebuildSnapshot",{"id":"external:this.rebuildSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.rebuildSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"removeController","symbolKind":"function","exported":false,"metadata":{"line":68,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.controllers.has",{"id":"external:this.controllers.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.controllers.has"}}],["external:this.controllers.delete",{"id":"external:this.controllers.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.controllers.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"getController","symbolKind":"function","exported":false,"metadata":{"line":75,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getControllers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getControllers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"getControllers","symbolKind":"function","exported":false,"metadata":{"line":80,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"usePaneController","symbolKind":"function","exported":true,"metadata":{"line":87,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:paneControllerStore.subscribe",{"id":"external:paneControllerStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllerStore.subscribe"}}],["external:paneControllerStore.getController",{"id":"external:paneControllerStore.getController","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllerStore.getController"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","symbolName":"usePaneControllers","symbolKind":"function","exported":true,"metadata":{"line":95,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:paneControllerStore.getControllers",{"id":"external:paneControllerStore.getControllers","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneControllerStore.getControllers"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","metadata":{"lineCount":22,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":5,"column":67,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:paneLayoutStore.reset",{"id":"external:paneLayoutStore.reset","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneLayoutStore.reset"}}],["external:expect(paneB).toBe",{"id":"external:expect(paneB).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(paneB).toBe"}}],["external:expect(paneC).toBe",{"id":"external:expect(paneC).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(paneC).toBe"}}],["external:expect(paneLayoutStore.getFocusedPaneId()).toBe",{"id":"external:expect(paneLayoutStore.getFocusedPaneId()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedPaneId()).toBe"}}],["external:expect(paneLayoutStore.getFocusedSessionId()).toBe",{"id":"external:expect(paneLayoutStore.getFocusedSessionId()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedSessionId()).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"genPaneId","symbolKind":"function","exported":false,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"genSplitId","symbolKind":"function","exported":false,"metadata":{"line":58,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"countLeaves","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:countLeaves",{"id":"symbol-name:countLeaves","kind":"symbol","language":"jsts","symbolName":"countLeaves","metadata":{"unresolvedName":"countLeaves"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"findLeaf","symbolKind":"function","exported":false,"metadata":{"line":228,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:findLeaf",{"id":"symbol-name:findLeaf","kind":"symbol","language":"jsts","symbolName":"findLeaf","metadata":{"unresolvedName":"findLeaf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"allLeaves","symbolKind":"function","exported":false,"metadata":{"line":232,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:allLeaves",{"id":"symbol-name:allLeaves","kind":"symbol","language":"jsts","symbolName":"allLeaves","metadata":{"unresolvedName":"allLeaves"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"replaceNode","symbolKind":"function","exported":false,"metadata":{"line":80,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:replaceNode",{"id":"symbol-name:replaceNode","kind":"symbol","language":"jsts","symbolName":"replaceNode","metadata":{"unresolvedName":"replaceNode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"removeLeaf","symbolKind":"function","exported":false,"metadata":{"line":94,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:removeLeaf",{"id":"symbol-name:removeLeaf","kind":"symbol","language":"jsts","symbolName":"removeLeaf","metadata":{"unresolvedName":"removeLeaf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"findReplacementForRemovedLeaf","symbolKind":"function","exported":false,"metadata":{"line":115,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:findReplacementForRemovedLeaf",{"id":"symbol-name:findReplacementForRemovedLeaf","kind":"symbol","language":"jsts","symbolName":"findReplacementForRemovedLeaf","metadata":{"unresolvedName":"findReplacementForRemovedLeaf"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"swapLeafSessions","symbolKind":"function","exported":false,"metadata":{"line":127,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:walk",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:walk","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"walk","symbolKind":"function","exported":false,"metadata":{"line":135,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"updateRatio","symbolKind":"function","exported":false,"metadata":{"line":149,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:updateRatio",{"id":"symbol-name:updateRatio","kind":"symbol","language":"jsts","symbolName":"updateRatio","metadata":{"unresolvedName":"updateRatio"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"createPaneLayoutStore","symbolKind":"function","exported":false,"metadata":{"line":165,"column":1,"cyclomaticComplexity":44,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:genPaneId",{"id":"symbol-name:genPaneId","kind":"symbol","language":"jsts","symbolName":"genPaneId","metadata":{"unresolvedName":"genPaneId"}}],["symbol-name:_snapshot",{"id":"symbol-name:_snapshot","kind":"symbol","language":"jsts","symbolName":"_snapshot","metadata":{"unresolvedName":"_snapshot"}}],["symbol-name:_refreshSnapshot",{"id":"symbol-name:_refreshSnapshot","kind":"symbol","language":"jsts","symbolName":"_refreshSnapshot","metadata":{"unresolvedName":"_refreshSnapshot"}}],["external:this.exitPaneFullscreen",{"id":"external:this.exitPaneFullscreen","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.exitPaneFullscreen"}}],["external:this.enterPaneFullscreen",{"id":"external:this.enterPaneFullscreen","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.enterPaneFullscreen"}}],["external:this.setPaneSession",{"id":"external:this.setPaneSession","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setPaneSession"}}],["symbol-name:genSplitId",{"id":"symbol-name:genSplitId","kind":"symbol","language":"jsts","symbolName":"genSplitId","metadata":{"unresolvedName":"genSplitId"}}],["symbol-name:swapLeafSessions",{"id":"symbol-name:swapLeafSessions","kind":"symbol","language":"jsts","symbolName":"swapLeafSessions","metadata":{"unresolvedName":"swapLeafSessions"}}],["external:this.splitPane",{"id":"external:this.splitPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.splitPane"}}],["external:leaves.findIndex",{"id":"external:leaves.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"leaves.findIndex"}}],["external:this.focusPane",{"id":"external:this.focusPane","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.focusPane"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"_notify","symbolKind":"function","exported":false,"metadata":{"line":171,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"_snapshot","symbolKind":"function","exported":false,"metadata":{"line":175,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"_refreshSnapshot","symbolKind":"function","exported":false,"metadata":{"line":191,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":198,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getSnapshot","symbolKind":"function","exported":false,"metadata":{"line":203,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getRoot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getRoot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getRoot","symbolKind":"function","exported":false,"metadata":{"line":208,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedPaneId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedPaneId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getFocusedPaneId","symbolKind":"function","exported":false,"metadata":{"line":212,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedLeaf",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedLeaf","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getFocusedLeaf","symbolKind":"function","exported":false,"metadata":{"line":216,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedSessionId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedSessionId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getFocusedSessionId","symbolKind":"function","exported":false,"metadata":{"line":220,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFullscreenPaneId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFullscreenPaneId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"getFullscreenPaneId","symbolKind":"function","exported":false,"metadata":{"line":224,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:isSinglePane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:isSinglePane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"isSinglePane","symbolKind":"function","exported":false,"metadata":{"line":237,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"focusPane","symbolKind":"function","exported":false,"metadata":{"line":246,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"enterPaneFullscreen","symbolKind":"function","exported":false,"metadata":{"line":252,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitPaneFullscreen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitPaneFullscreen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"exitPaneFullscreen","symbolKind":"function","exported":false,"metadata":{"line":259,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"togglePaneFullscreen","symbolKind":"function","exported":false,"metadata":{"line":265,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"setPaneSession","symbolKind":"function","exported":false,"metadata":{"line":276,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setFocusedSession",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setFocusedSession","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"setFocusedSession","symbolKind":"function","exported":false,"metadata":{"line":283,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"splitPane","symbolKind":"function","exported":false,"metadata":{"line":292,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"splitPaneToSide","symbolKind":"function","exported":false,"metadata":{"line":322,"column":5,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"closePane","symbolKind":"function","exported":false,"metadata":{"line":357,"column":5,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"swapPanes","symbolKind":"function","exported":false,"metadata":{"line":387,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"setRatio","symbolKind":"function","exported":false,"metadata":{"line":396,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterSplitMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterSplitMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"enterSplitMode","symbolKind":"function","exported":false,"metadata":{"line":407,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"exitSplitMode","symbolKind":"function","exported":false,"metadata":{"line":419,"column":5,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"reset","symbolKind":"function","exported":false,"metadata":{"line":435,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"focusNextPane","symbolKind":"function","exported":false,"metadata":{"line":446,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"focusPrevPane","symbolKind":"function","exported":false,"metadata":{"line":457,"column":5,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"focusPaneByIndex","symbolKind":"function","exported":false,"metadata":{"line":468,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","symbolName":"usePaneLayout","symbolKind":"function","exported":true,"metadata":{"line":483,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","metadata":{"lineCount":54,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":38,"column":90,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:Date.parse",{"id":"external:Date.parse","kind":"external","language":"jsts","metadata":{"unresolvedName":"Date.parse"}}],["external:perfSpy.mockReturnValueOnce",{"id":"external:perfSpy.mockReturnValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"perfSpy.mockReturnValueOnce"}}],["external:new Date(serverTimestamp).toISOString",{"id":"external:new Date(serverTimestamp).toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(serverTimestamp).toISOString"}}],["external:perfSpy.mockReturnValue",{"id":"external:perfSpy.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"perfSpy.mockReturnValue"}}],["external:expect(serverStore.getActiveCalibratedNow()).toBe",{"id":"external:expect(serverStore.getActiveCalibratedNow()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBe"}}],["external:expect(serverStore.getActiveCalibratedNow()).toBeUndefined",{"id":"external:expect(serverStore.getActiveCalibratedNow()).toBeUndefined","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBeUndefined"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getUnifiedFetch","symbolKind":"function","exported":false,"metadata":{"line":12,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:import('@tauri-apps/plugin-http').then",{"id":"external:import('@tauri-apps/plugin-http').then","kind":"external","language":"jsts","metadata":{"unresolvedName":"import('@tauri-apps/plugin-http').then"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":534,"column":43,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"loadFromStorage","symbolKind":"function","exported":false,"metadata":{"line":99,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:sessionStorage.getItem",{"id":"external:sessionStorage.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.getItem"}}],["external:this.servers.some",{"id":"external:this.servers.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"saveToStorage","symbolKind":"function","exported":false,"metadata":{"line":143,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:sessionStorage.setItem",{"id":"external:sessionStorage.setItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.setItem"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":160,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"onServerChange","symbolKind":"function","exported":false,"metadata":{"line":169,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.serverChangeListeners.add",{"id":"external:this.serverChangeListeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.serverChangeListeners.add"}}],["external:this.serverChangeListeners.delete",{"id":"external:this.serverChangeListeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.serverChangeListeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":174,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.updateSnapshots",{"id":"external:this.updateSnapshots","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.updateSnapshots"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateSnapshots",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateSnapshots","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"updateSnapshots","symbolKind":"function","exported":false,"metadata":{"line":184,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.servers.find",{"id":"external:this.servers.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServers",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServers","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getServers","symbolKind":"function","exported":false,"metadata":{"line":197,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveServer","symbolKind":"function","exported":false,"metadata":{"line":204,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServerId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServerId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveServerId","symbolKind":"function","exported":false,"metadata":{"line":212,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:isPiMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:isPiMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"isPiMode","symbolKind":"function","exported":false,"metadata":{"line":219,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveToken",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveToken","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveToken","symbolKind":"function","exported":false,"metadata":{"line":229,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:this.isPiMode",{"id":"external:this.isPiMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.isPiMode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveBaseUrl","symbolKind":"function","exported":false,"metadata":{"line":240,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getActiveServer",{"id":"external:this.getActiveServer","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getActiveServer"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveAuth","symbolKind":"function","exported":false,"metadata":{"line":251,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServerAuth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServerAuth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getServerAuth","symbolKind":"function","exported":false,"metadata":{"line":260,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getHealth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getHealth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getHealth","symbolKind":"function","exported":false,"metadata":{"line":268,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.healthMap.get",{"id":"external:this.healthMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.healthMap.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getAllHealth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getAllHealth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getAllHealth","symbolKind":"function","exported":false,"metadata":{"line":275,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"getActiveCalibratedNow","symbolKind":"function","exported":false,"metadata":{"line":279,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.clockCalibrationMap.get",{"id":"external:this.clockCalibrationMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.clockCalibrationMap.get"}}],["external:this.getActiveServerId",{"id":"external:this.getActiveServerId","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getActiveServerId"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"addServer","symbolKind":"function","exported":false,"metadata":{"line":292,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:config.url.replace",{"id":"external:config.url.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.url.replace"}}],["external:this.servers.push",{"id":"external:this.servers.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"updateServer","symbolKind":"function","exported":false,"metadata":{"line":308,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.servers.findIndex",{"id":"external:this.servers.findIndex","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.findIndex"}}],["external:updates.url.replace",{"id":"external:updates.url.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"updates.url.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"removeServer","symbolKind":"function","exported":false,"metadata":{"line":327,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.servers.filter",{"id":"external:this.servers.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.filter"}}],["external:this.healthMap.delete",{"id":"external:this.healthMap.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.healthMap.delete"}}],["external:this.clockCalibrationMap.delete",{"id":"external:this.clockCalibrationMap.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.clockCalibrationMap.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"setActiveServer","symbolKind":"function","exported":false,"metadata":{"line":350,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.serverChangeListeners.forEach",{"id":"external:this.serverChangeListeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.serverChangeListeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"applyServerConnectedTimestamp","symbolKind":"function","exported":false,"metadata":{"line":368,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeServerTimestamp",{"id":"symbol-name:normalizeServerTimestamp","kind":"symbol","language":"jsts","symbolName":"normalizeServerTimestamp","metadata":{"unresolvedName":"normalizeServerTimestamp"}}],["external:this.clockCalibrationMap.set",{"id":"external:this.clockCalibrationMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.clockCalibrationMap.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"checkHealth","symbolKind":"function","exported":false,"metadata":{"line":387,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.healthMap.set",{"id":"external:this.healthMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.healthMap.set"}}],["external:controller.abort",{"id":"external:controller.abort","kind":"external","language":"jsts","metadata":{"unresolvedName":"controller.abort"}}],["symbol-name:getUnifiedFetch",{"id":"symbol-name:getUnifiedFetch","kind":"symbol","language":"jsts","symbolName":"getUnifiedFetch","metadata":{"unresolvedName":"getUnifiedFetch"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"checkAllHealth","symbolKind":"function","exported":false,"metadata":{"line":475,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.servers.map",{"id":"external:this.servers.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.servers.map"}}],["external:this.checkHealth",{"id":"external:this.checkHealth","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.checkHealth"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"normalizeServerBackup","symbolKind":"function","exported":false,"metadata":{"line":483,"column":1,"cyclomaticComplexity":16,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:parsed.servers\n .filter",{"id":"external:parsed.servers\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsed.servers\n .filter"}}],["external:item.url.replace",{"id":"external:item.url.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"item.url.replace"}}],["external:normalizedServers.some",{"id":"external:normalizedServers.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedServers.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"exportServerSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":532,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:serverStore.getServers().map",{"id":"external:serverStore.getServers().map","kind":"external","language":"jsts","metadata":{"unresolvedName":"serverStore.getServers().map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"importServerSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":542,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeServerBackup",{"id":"symbol-name:normalizeServerBackup","kind":"symbol","language":"jsts","symbolName":"normalizeServerBackup","metadata":{"unresolvedName":"normalizeServerBackup"}}],["external:sessionStorage.removeItem",{"id":"external:sessionStorage.removeItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.removeItem"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"makeBasicAuthHeader","symbolKind":"function","exported":true,"metadata":{"line":557,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","symbolName":"normalizeServerTimestamp","symbolKind":"function","exported":false,"metadata":{"line":561,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setAutoStart","symbolKind":"function","exported":false,"metadata":{"line":107,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._notify",{"id":"external:this._notify","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._notify"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setBinaryPath","symbolKind":"function","exported":false,"metadata":{"line":117,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setEnvVars","symbolKind":"function","exported":false,"metadata":{"line":127,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setRunning",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setRunning","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setRunning","symbolKind":"function","exported":false,"metadata":{"line":137,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStartedByUs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStartedByUs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setStartedByUs","symbolKind":"function","exported":false,"metadata":{"line":142,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStarting",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStarting","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"setStarting","symbolKind":"function","exported":false,"metadata":{"line":147,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":156,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._listeners.add",{"id":"external:this._listeners.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._listeners.add"}}],["external:this._listeners.delete",{"id":"external:this._listeners.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._listeners.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_buildSnapshot",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_buildSnapshot","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"_buildSnapshot","symbolKind":"function","exported":false,"metadata":{"line":165,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"_notify","symbolKind":"function","exported":false,"metadata":{"line":176,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this._buildSnapshot",{"id":"external:this._buildSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._buildSnapshot"}}],["external:this._listeners.forEach",{"id":"external:this._listeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"this._listeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"exportServiceSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":184,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:serviceStore.envVars.map",{"id":"external:serviceStore.envVars.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"serviceStore.envVars.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"importServiceSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":192,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:parsed.envVars\r\n .filter",{"id":"external:parsed.envVars\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsed.envVars\r\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","symbolName":"useServiceStore","symbolKind":"function","exported":true,"metadata":{"line":212,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:createDefaultSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:createDefaultSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"createDefaultSettings","symbolKind":"function","exported":false,"metadata":{"line":68,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"normalizeEventConfig","symbolKind":"function","exported":false,"metadata":{"line":82,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"loadSettings","symbolKind":"function","exported":false,"metadata":{"line":94,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeEventConfig",{"id":"symbol-name:normalizeEventConfig","kind":"symbol","language":"jsts","symbolName":"normalizeEventConfig","metadata":{"unresolvedName":"normalizeEventConfig"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"saveSettings","symbolKind":"function","exported":false,"metadata":{"line":120,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"blobToBase64","symbolKind":"function","exported":false,"metadata":{"line":128,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:blob.arrayBuffer().then",{"id":"external:blob.arrayBuffer().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"blob.arrayBuffer().then"}}],["external:blob.arrayBuffer",{"id":"external:blob.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"blob.arrayBuffer"}}],["external:bytes.subarray",{"id":"external:bytes.subarray","kind":"external","language":"jsts","metadata":{"unresolvedName":"bytes.subarray"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":262,"column":15,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"base64ToBlob","symbolKind":"function","exported":false,"metadata":{"line":143,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:atob",{"id":"symbol-name:atob","kind":"symbol","language":"jsts","symbolName":"atob","metadata":{"unresolvedName":"atob"}}],["external:binary.charCodeAt",{"id":"external:binary.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"binary.charCodeAt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"openIDB","symbolKind":"function","exported":false,"metadata":{"line":156,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:indexedDB.open",{"id":"external:indexedDB.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"indexedDB.open"}}],["external:db.objectStoreNames.contains",{"id":"external:db.objectStoreNames.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.objectStoreNames.contains"}}],["external:db.createObjectStore",{"id":"external:db.createObjectStore","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.createObjectStore"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"idbPut","symbolKind":"function","exported":false,"metadata":{"line":170,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:openIDB",{"id":"symbol-name:openIDB","kind":"symbol","language":"jsts","symbolName":"openIDB","metadata":{"unresolvedName":"openIDB"}}],["external:db.transaction",{"id":"external:db.transaction","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.transaction"}}],["external:tx.objectStore",{"id":"external:tx.objectStore","kind":"external","language":"jsts","metadata":{"unresolvedName":"tx.objectStore"}}],["external:store.put",{"id":"external:store.put","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.put"}}],["external:db.close",{"id":"external:db.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"db.close"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"idbGet","symbolKind":"function","exported":false,"metadata":{"line":182,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:store.get",{"id":"external:store.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"idbDelete","symbolKind":"function","exported":false,"metadata":{"line":194,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:store.delete",{"id":"external:store.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"isAudioFileValid","symbolKind":"function","exported":true,"metadata":{"line":229,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:file.type.startsWith",{"id":"external:file.type.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.type.startsWith"}}],["external:ALLOWED_AUDIO_TYPES.includes",{"id":"external:ALLOWED_AUDIO_TYPES.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"ALLOWED_AUDIO_TYPES.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":252,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:persist",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:persist","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"persist","symbolKind":"function","exported":false,"metadata":{"line":258,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"setEnabled","symbolKind":"function","exported":false,"metadata":{"line":273,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"setCurrentSessionEnabled","symbolKind":"function","exported":false,"metadata":{"line":279,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"setVolume","symbolKind":"function","exported":false,"metadata":{"line":285,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"setEventSound","symbolKind":"function","exported":false,"metadata":{"line":295,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"uploadCustomAudio","symbolKind":"function","exported":false,"metadata":{"line":316,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:isAudioFileValid",{"id":"symbol-name:isAudioFileValid","kind":"symbol","language":"jsts","symbolName":"isAudioFileValid","metadata":{"unresolvedName":"isAudioFileValid"}}],["external:file.arrayBuffer",{"id":"external:file.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.arrayBuffer"}}],["symbol-name:idbPut",{"id":"symbol-name:idbPut","kind":"symbol","language":"jsts","symbolName":"idbPut","metadata":{"unresolvedName":"idbPut"}}],["external:this.customAudioCache.set",{"id":"external:this.customAudioCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioCache.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"removeCustomAudio","symbolKind":"function","exported":false,"metadata":{"line":349,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:idbDelete",{"id":"symbol-name:idbDelete","kind":"symbol","language":"jsts","symbolName":"idbDelete","metadata":{"unresolvedName":"idbDelete"}}],["external:this.customAudioCache.delete",{"id":"external:this.customAudioCache.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioCache.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlob",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlob","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"getCustomAudioBlob","symbolKind":"function","exported":false,"metadata":{"line":373,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.customAudioCache.get",{"id":"external:this.customAudioCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioCache.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:hasCustomAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:hasCustomAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"hasCustomAudio","symbolKind":"function","exported":false,"metadata":{"line":378,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.customAudioCache.has",{"id":"external:this.customAudioCache.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioCache.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"exportCustomAudio","symbolKind":"function","exported":false,"metadata":{"line":383,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getCustomAudioBlobAsync",{"id":"external:this.getCustomAudioBlobAsync","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getCustomAudioBlobAsync"}}],["external:URL.createObjectURL",{"id":"external:URL.createObjectURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"URL.createObjectURL"}}],["external:a.click",{"id":"external:a.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.click"}}],["external:URL.revokeObjectURL",{"id":"external:URL.revokeObjectURL","kind":"external","language":"jsts","metadata":{"unresolvedName":"URL.revokeObjectURL"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"exportCustomAudioForBackup","symbolKind":"function","exported":false,"metadata":{"line":398,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:blobToBase64",{"id":"symbol-name:blobToBase64","kind":"symbol","language":"jsts","symbolName":"blobToBase64","metadata":{"unresolvedName":"blobToBase64"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"importCustomAudioFromBackup","symbolKind":"function","exported":false,"metadata":{"line":415,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:base64ToBlob",{"id":"symbol-name:base64ToBlob","kind":"symbol","language":"jsts","symbolName":"base64ToBlob","metadata":{"unresolvedName":"base64ToBlob"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"getCustomAudioBlobAsync","symbolKind":"function","exported":false,"metadata":{"line":437,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.customAudioLoading.has",{"id":"external:this.customAudioLoading.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioLoading.has"}}],["external:this.customAudioLoading.add",{"id":"external:this.customAudioLoading.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioLoading.add"}}],["symbol-name:idbGet",{"id":"symbol-name:idbGet","kind":"symbol","language":"jsts","symbolName":"idbGet","metadata":{"unresolvedName":"idbGet"}}],["external:this.customAudioLoading.delete",{"id":"external:this.customAudioLoading.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.customAudioLoading.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"preloadCustomAudio","symbolKind":"function","exported":false,"metadata":{"line":458,"column":3,"cyclomaticComplexity":5,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"normalizeSoundSettings","symbolKind":"function","exported":false,"metadata":{"line":482,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeBackupCustomAudioMap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeBackupCustomAudioMap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"normalizeBackupCustomAudioMap","symbolKind":"function","exported":false,"metadata":{"line":509,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"exportSoundBackup","symbolKind":"function","exported":true,"metadata":{"line":531,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeSoundSettings",{"id":"symbol-name:normalizeSoundSettings","kind":"symbol","language":"jsts","symbolName":"normalizeSoundSettings","metadata":{"unresolvedName":"normalizeSoundSettings"}}],["external:soundStore.exportCustomAudioForBackup",{"id":"external:soundStore.exportCustomAudioForBackup","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.exportCustomAudioForBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"importSoundBackup","symbolKind":"function","exported":true,"metadata":{"line":538,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeBackupCustomAudioMap",{"id":"symbol-name:normalizeBackupCustomAudioMap","kind":"symbol","language":"jsts","symbolName":"normalizeBackupCustomAudioMap","metadata":{"unresolvedName":"normalizeBackupCustomAudioMap"}}],["external:soundStore.importCustomAudioFromBackup",{"id":"external:soundStore.importCustomAudioFromBackup","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundStore.importCustomAudioFromBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","symbolName":"useSoundSettings","symbolKind":"function","exported":true,"metadata":{"line":554,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"computedColorToHex","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:document.createElement('canvas').getContext",{"id":"external:document.createElement('canvas').getContext","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.createElement('canvas').getContext"}}],["external:((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice",{"id":"external:((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice"}}],["external:((1 << 24) | (r << 16) | (g << 8) | b).toString",{"id":"external:((1 << 24) | (r << 16) | (g << 8) | b).toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"((1 << 24) | (r << 16) | (g << 8) | b).toString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"clampFontScale","symbolKind":"function","exported":false,"metadata":{"line":88,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"parseCustomCSSSnippets","symbolKind":"function","exported":false,"metadata":{"line":210,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:parsed.filter",{"id":"external:parsed.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"parsed.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"getState","symbolKind":"function","exported":false,"metadata":{"line":345,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getPreset",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getPreset","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"getPreset","symbolKind":"function","exported":false,"metadata":{"line":417,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getAvailablePresets",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getAvailablePresets","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"getAvailablePresets","symbolKind":"function","exported":false,"metadata":{"line":422,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:builtinThemes.map",{"id":"external:builtinThemes.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"builtinThemes.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getResolvedMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getResolvedMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"getResolvedMode","symbolKind":"function","exported":false,"metadata":{"line":431,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setPreset","symbolKind":"function","exported":false,"metadata":{"line":444,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.applyTheme",{"id":"external:this.applyTheme","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyTheme"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setColorMode","symbolKind":"function","exported":false,"metadata":{"line":452,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCustomCSS","symbolKind":"function","exported":false,"metadata":{"line":460,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.applyCustomCSS",{"id":"external:this.applyCustomCSS","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyCustomCSS"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"saveCustomCSSSnippet","symbolKind":"function","exported":false,"metadata":{"line":467,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.persistCustomCSSSnippets",{"id":"external:this.persistCustomCSSSnippets","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.persistCustomCSSSnippets"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"updateCustomCSSSnippet","symbolKind":"function","exported":false,"metadata":{"line":485,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.customCSSSnippets.map",{"id":"external:this.state.customCSSSnippets.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.customCSSSnippets.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"deleteCustomCSSSnippet","symbolKind":"function","exported":false,"metadata":{"line":495,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.customCSSSnippets.filter",{"id":"external:this.state.customCSSSnippets.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.customCSSSnippets.filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"applyCustomCSSSnippet","symbolKind":"function","exported":false,"metadata":{"line":512,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.customCSSSnippets.find",{"id":"external:this.state.customCSSSnippets.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.customCSSSnippets.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"clearActiveCustomCSSSnippet","symbolKind":"function","exported":false,"metadata":{"line":528,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCollapseUserMessages","symbolKind":"function","exported":false,"metadata":{"line":535,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setStepFinishDisplay","symbolKind":"function","exported":false,"metadata":{"line":542,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCompletedAtFormat","symbolKind":"function","exported":false,"metadata":{"line":549,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setReasoningDisplayMode","symbolKind":"function","exported":false,"metadata":{"line":556,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setWideMode","symbolKind":"function","exported":false,"metadata":{"line":563,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"toggleWideMode","symbolKind":"function","exported":false,"metadata":{"line":570,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.setWideMode",{"id":"external:this.setWideMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.setWideMode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setDiffStyle","symbolKind":"function","exported":false,"metadata":{"line":574,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setDescriptiveToolSteps","symbolKind":"function","exported":false,"metadata":{"line":581,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setInlineToolRequests","symbolKind":"function","exported":false,"metadata":{"line":588,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCodeWordWrap","symbolKind":"function","exported":false,"metadata":{"line":595,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setUIFontScale","symbolKind":"function","exported":false,"metadata":{"line":602,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:clampFontScale",{"id":"symbol-name:clampFontScale","kind":"symbol","language":"jsts","symbolName":"clampFontScale","metadata":{"unresolvedName":"clampFontScale"}}],["external:this.applyFontScale",{"id":"external:this.applyFontScale","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyFontScale"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCodeFontScale","symbolKind":"function","exported":false,"metadata":{"line":611,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setToolCardStyle","symbolKind":"function","exported":false,"metadata":{"line":620,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setImmersiveMode","symbolKind":"function","exported":false,"metadata":{"line":627,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setCompactInlinePermission","symbolKind":"function","exported":false,"metadata":{"line":646,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setGlassEffect","symbolKind":"function","exported":false,"metadata":{"line":653,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.applyGlassClass",{"id":"external:this.applyGlassClass","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyGlassClass"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setQueueFollowupMessages","symbolKind":"function","exported":false,"metadata":{"line":661,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"setManualTerminalTitles","symbolKind":"function","exported":false,"metadata":{"line":668,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"init","symbolKind":"function","exported":false,"metadata":{"line":678,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:mediaQuery.addEventListener",{"id":"external:mediaQuery.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"mediaQuery.addEventListener"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":846,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"applyTheme","symbolKind":"function","exported":false,"metadata":{"line":694,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getResolvedMode",{"id":"external:this.getResolvedMode","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getResolvedMode"}}],["external:this.getPreset",{"id":"external:this.getPreset","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getPreset"}}],["external:this.injectThemeStyle",{"id":"external:this.injectThemeStyle","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.injectThemeStyle"}}],["external:getComputedStyle(root).getPropertyValue('--color-bg-100').trim",{"id":"external:getComputedStyle(root).getPropertyValue('--color-bg-100').trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue('--color-bg-100').trim"}}],["external:getComputedStyle(root).getPropertyValue",{"id":"external:getComputedStyle(root).getPropertyValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue"}}],["symbol-name:computedColorToHex",{"id":"symbol-name:computedColorToHex","kind":"symbol","language":"jsts","symbolName":"computedColorToHex","metadata":{"unresolvedName":"computedColorToHex"}}],["external:meta.setAttribute",{"id":"external:meta.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"meta.setAttribute"}}],["external:androidBridge.setSystemBars",{"id":"external:androidBridge.setSystemBars","kind":"external","language":"jsts","metadata":{"unresolvedName":"androidBridge.setSystemBars"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"injectThemeStyle","symbolKind":"function","exported":false,"metadata":{"line":737,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:document.head.appendChild",{"id":"external:document.head.appendChild","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.head.appendChild"}}],["symbol-name:themeColorsToCSSVars",{"id":"symbol-name:themeColorsToCSSVars","kind":"symbol","language":"jsts","symbolName":"themeColorsToCSSVars","metadata":{"unresolvedName":"themeColorsToCSSVars"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"applyFontScale","symbolKind":"function","exported":false,"metadata":{"line":760,"column":3,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:el.remove",{"id":"external:el.remove","kind":"external","language":"jsts","metadata":{"unresolvedName":"el.remove"}}],["external:vars.push",{"id":"external:vars.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"vars.push"}}],["external:vars.join",{"id":"external:vars.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"vars.join"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"applyCustomCSS","symbolKind":"function","exported":false,"metadata":{"line":808,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.state.customCSS.trim",{"id":"external:this.state.customCSS.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.state.customCSS.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"applyGlassClass","symbolKind":"function","exported":false,"metadata":{"line":826,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"persistCustomCSSSnippets","symbolKind":"function","exported":false,"metadata":{"line":835,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"emit","symbolKind":"function","exported":false,"metadata":{"line":850,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"normalizeThemeBackup","symbolKind":"function","exported":false,"metadata":{"line":858,"column":1,"cyclomaticComplexity":30,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:parseCustomCSSSnippets",{"id":"symbol-name:parseCustomCSSSnippets","kind":"symbol","language":"jsts","symbolName":"parseCustomCSSSnippets","metadata":{"unresolvedName":"parseCustomCSSSnippets"}}],["external:customCSSSnippets.some",{"id":"external:customCSSSnippets.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"customCSSSnippets.some"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"exportThemeBackup","symbolKind":"function","exported":true,"metadata":{"line":918,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:themeStore.getState",{"id":"external:themeStore.getState","kind":"external","language":"jsts","metadata":{"unresolvedName":"themeStore.getState"}}],["external:state.customCSSSnippets.map",{"id":"external:state.customCSSSnippets.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"state.customCSSSnippets.map"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","symbolName":"importThemeBackup","symbolKind":"function","exported":true,"metadata":{"line":927,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:normalizeThemeBackup",{"id":"symbol-name:normalizeThemeBackup","kind":"symbol","language":"jsts","symbolName":"normalizeThemeBackup","metadata":{"unresolvedName":"normalizeThemeBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"getTodos","symbolKind":"function","exported":false,"metadata":{"line":50,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"setTodos","symbolKind":"function","exported":false,"metadata":{"line":57,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.statsCache.set",{"id":"external:this.statsCache.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.statsCache.set"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"clearTodos","symbolKind":"function","exported":false,"metadata":{"line":75,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.sessions.has",{"id":"external:this.sessions.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sessions.has"}}],["external:this.statsCache.delete",{"id":"external:this.statsCache.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.statsCache.delete"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"clearAll","symbolKind":"function","exported":false,"metadata":{"line":87,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.statsCache.clear",{"id":"external:this.statsCache.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.statsCache.clear"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"getStats","symbolKind":"function","exported":false,"metadata":{"line":97,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.statsCache.get",{"id":"external:this.statsCache.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.statsCache.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"getCurrentTask","symbolKind":"function","exported":false,"metadata":{"line":104,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:this.getTodos",{"id":"external:this.getTodos","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.getTodos"}}],["external:todos.find",{"id":"external:todos.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"todos.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"getVersion","symbolKind":"function","exported":false,"metadata":{"line":112,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"subscribe","symbolKind":"function","exported":false,"metadata":{"line":120,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":125,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"useStoreSubscription","symbolKind":"function","exported":false,"metadata":{"line":143,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:todoStore.subscribe",{"id":"external:todoStore.subscribe","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.subscribe"}}],["external:todoStore.getVersion",{"id":"external:todoStore.getVersion","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.getVersion"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"useTodos","symbolKind":"function","exported":true,"metadata":{"line":153,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:useStoreSubscription",{"id":"symbol-name:useStoreSubscription","kind":"symbol","language":"jsts","symbolName":"useStoreSubscription","metadata":{"unresolvedName":"useStoreSubscription"}}],["external:todoStore.getTodos",{"id":"external:todoStore.getTodos","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.getTodos"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"useTodoStats","symbolKind":"function","exported":true,"metadata":{"line":161,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:todoStore.getStats",{"id":"external:todoStore.getStats","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.getStats"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","symbolName":"useCurrentTask","symbolKind":"function","exported":true,"metadata":{"line":169,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:todoStore.getCurrentTask",{"id":"external:todoStore.getCurrentTask","kind":"external","language":"jsts","metadata":{"unresolvedName":"todoStore.getCurrentTask"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","metadata":{"lineCount":110,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":105,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan",{"id":"external:expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan"}}],["symbol-name:compareVersions",{"id":"symbol-name:compareVersions","kind":"symbol","language":"jsts","symbolName":"compareVersions","metadata":{"unresolvedName":"compareVersions"}}],["external:expect(compareVersions('0.5.1', 'v0.5.1')).toBe",{"id":"external:expect(compareVersions('0.5.1', 'v0.5.1')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(compareVersions('0.5.1', 'v0.5.1')).toBe"}}],["external:expect(compareVersions('0.5', '0.5.1')).toBeLessThan",{"id":"external:expect(compareVersions('0.5', '0.5.1')).toBeLessThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(compareVersions('0.5', '0.5.1')).toBeLessThan"}}],["external:expect(hasUpdateAvailable(baseState)).toBe",{"id":"external:expect(hasUpdateAvailable(baseState)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hasUpdateAvailable(baseState)).toBe"}}],["external:expect(shouldShowUpdateToast(baseState)).toBe",{"id":"external:expect(shouldShowUpdateToast(baseState)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(baseState)).toBe"}}],["external:expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe",{"id":"external:expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe"}}],["external:store.checkForUpdates",{"id":"external:store.checkForUpdates","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.checkForUpdates"}}],["external:expect(store.getSnapshot().latestRelease?.version).toBe",{"id":"external:expect(store.getSnapshot().latestRelease?.version).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getSnapshot().latestRelease?.version).toBe"}}],["external:store.getSnapshot",{"id":"external:store.getSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.getSnapshot"}}],["external:expect(hasUpdateAvailable(store.getSnapshot())).toBe",{"id":"external:expect(hasUpdateAvailable(store.getSnapshot())).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(hasUpdateAvailable(store.getSnapshot())).toBe"}}],["external:store.dismissCurrentVersion",{"id":"external:store.dismissCurrentVersion","kind":"external","language":"jsts","metadata":{"unresolvedName":"store.dismissCurrentVersion"}}],["external:expect(store.getSnapshot().dismissedVersion).toBe",{"id":"external:expect(store.getSnapshot().dismissedVersion).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(store.getSnapshot().dismissedVersion).toBe"}}],["external:expect(shouldShowUpdateToast(store.getSnapshot())).toBe",{"id":"external:expect(shouldShowUpdateToast(store.getSnapshot())).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(store.getSnapshot())).toBe"}}],["external:expect(localStorage.getItem('piagentui:update-check')).toContain",{"id":"external:expect(localStorage.getItem('piagentui:update-check')).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('piagentui:update-check')).toContain"}}],["external:expect(localStorage.getItem('opencode:update-check')).toBeNull",{"id":"external:expect(localStorage.getItem('opencode:update-check')).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:update-check')).toBeNull"}}],["external:expect(RELEASES_API_URL).toBe",{"id":"external:expect(RELEASES_API_URL).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(RELEASES_API_URL).toBe"}}],["external:expect(RELEASES_PAGE_URL).toBe",{"id":"external:expect(RELEASES_PAGE_URL).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(RELEASES_PAGE_URL).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:isPlainObject",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:isPlainObject","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"isPlainObject","symbolKind":"function","exported":false,"metadata":{"line":41,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"normalizeVersion","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:version.trim().replace(/^v/i, '').replace",{"id":"external:version.trim().replace(/^v/i, '').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"version.trim().replace(/^v/i, '').replace"}}],["external:version.trim().replace",{"id":"external:version.trim().replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"version.trim().replace"}}],["external:version.trim",{"id":"external:version.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"version.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"compareVersions","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:normalizeVersion(a)\r\n .split('.')\r\n .map",{"id":"external:normalizeVersion(a)\r\n .split('.')\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizeVersion(a)\r\n .split('.')\r\n .map"}}],["external:normalizeVersion(a)\r\n .split",{"id":"external:normalizeVersion(a)\r\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizeVersion(a)\r\n .split"}}],["symbol-name:normalizeVersion",{"id":"symbol-name:normalizeVersion","kind":"symbol","language":"jsts","symbolName":"normalizeVersion","metadata":{"unresolvedName":"normalizeVersion"}}],["external:normalizeVersion(b)\r\n .split('.')\r\n .map",{"id":"external:normalizeVersion(b)\r\n .split('.')\r\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizeVersion(b)\r\n .split('.')\r\n .map"}}],["external:normalizeVersion(b)\r\n .split",{"id":"external:normalizeVersion(b)\r\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizeVersion(b)\r\n .split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"hasUpdateAvailable","symbolKind":"function","exported":true,"metadata":{"line":66,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"shouldShowUpdateToast","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"loadPersistedState","symbolKind":"function","exported":false,"metadata":{"line":77,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"persistState","symbolKind":"function","exported":false,"metadata":{"line":95,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"parseRelease","symbolKind":"function","exported":false,"metadata":{"line":109,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:isPlainObject",{"id":"symbol-name:isPlainObject","kind":"symbol","language":"jsts","symbolName":"isPlainObject","metadata":{"unresolvedName":"isPlainObject"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:getDefaultCurrentVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:getDefaultCurrentVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"getDefaultCurrentVersion","symbolKind":"function","exported":false,"metadata":{"line":130,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":202,"column":27,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"notify","symbolKind":"function","exported":false,"metadata":{"line":163,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"setState","symbolKind":"function","exported":false,"metadata":{"line":167,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:persistState",{"id":"symbol-name:persistState","kind":"symbol","language":"jsts","symbolName":"persistState","metadata":{"unresolvedName":"persistState"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:applyRelease",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:applyRelease","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"applyRelease","symbolKind":"function","exported":false,"metadata":{"line":173,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"checkForUpdates","symbolKind":"function","exported":false,"metadata":{"line":185,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:parseRelease",{"id":"symbol-name:parseRelease","kind":"symbol","language":"jsts","symbolName":"parseRelease","metadata":{"unresolvedName":"parseRelease"}}],["external:this.applyRelease",{"id":"external:this.applyRelease","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.applyRelease"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hideToastForCurrentVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hideToastForCurrentVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"hideToastForCurrentVersion","symbolKind":"function","exported":false,"metadata":{"line":229,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:dismissCurrentVersion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:dismissCurrentVersion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"dismissCurrentVersion","symbolKind":"function","exported":false,"metadata":{"line":238,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"exportUpdateSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":250,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:updateStore.getSnapshot",{"id":"external:updateStore.getSnapshot","kind":"external","language":"jsts","metadata":{"unresolvedName":"updateStore.getSnapshot"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"importUpdateSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":259,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","symbolName":"useUpdateStore","symbolKind":"function","exported":true,"metadata":{"line":273,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","metadata":{"lineCount":84,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:@testing-library/jest-dom/vitest",{"id":"external:@testing-library/jest-dom/vitest","kind":"external","language":"jsts","metadata":{"source":"@testing-library/jest-dom/vitest"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:setItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:setItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"setItem","symbolKind":"function","exported":false,"metadata":{"line":11,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeItem",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeItem","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"removeItem","symbolKind":"function","exported":false,"metadata":{"line":14,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:clear",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:clear","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"clear","symbolKind":"function","exported":false,"metadata":{"line":17,"column":14,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:observe",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:observe","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"observe","symbolKind":"function","exported":false,"metadata":{"line":26,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:unobserve",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:unobserve","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"unobserve","symbolKind":"function","exported":false,"metadata":{"line":27,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:disconnect",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:disconnect","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"disconnect","symbolKind":"function","exported":false,"metadata":{"line":28,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":38,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:[Symbol.iterator]",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:[Symbol.iterator]","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"[Symbol.iterator]","symbolKind":"function","exported":false,"metadata":{"line":45,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addListener",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addListener","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"addListener","symbolKind":"function","exported":false,"metadata":{"line":76,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeListener",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeListener","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"removeListener","symbolKind":"function","exported":false,"metadata":{"line":77,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addEventListener",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addEventListener","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"addEventListener","symbolKind":"function","exported":false,"metadata":{"line":78,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeEventListener",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeEventListener","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","symbolName":"removeEventListener","symbolKind":"function","exported":false,"metadata":{"line":79,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","metadata":{"lineCount":980,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","symbolName":"getThemePreset","symbolKind":"function","exported":true,"metadata":{"line":917,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:builtinThemes.find",{"id":"external:builtinThemes.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"builtinThemes.find"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","symbolName":"themeColorsToCSSVars","symbolKind":"function","exported":true,"metadata":{"line":924,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:lines.push",{"id":"external:lines.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"lines.push"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/agent.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/agent.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/agent.ts","metadata":{"lineCount":16,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/common.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/common.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/common.ts","metadata":{"lineCount":38,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts","metadata":{"lineCount":72,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts","metadata":{"lineCount":43,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts","metadata":{"lineCount":22,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/file.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/file.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/file.ts","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/index.ts","metadata":{"lineCount":211,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts","metadata":{"lineCount":131,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","metadata":{"lineCount":86,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","symbolName":"isUserMessage","symbolKind":"function","exported":true,"metadata":{"line":41,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isAssistantMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isAssistantMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","symbolName":"isAssistantMessage","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","symbolName":"hasVisibleContent","symbolKind":"function","exported":true,"metadata":{"line":51,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":52,"column":29,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:getMessageText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:getMessageText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","symbolName":"getMessageText","symbolKind":"function","exported":true,"metadata":{"line":71,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:message.parts\r\n .filter",{"id":"external:message.parts\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.parts\r\n .filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isUserMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isUserMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isUserMessage","symbolKind":"function","exported":true,"metadata":{"line":317,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAssistantMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAssistantMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isAssistantMessage","symbolKind":"function","exported":true,"metadata":{"line":322,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isToolPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isToolPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isToolPart","symbolKind":"function","exported":true,"metadata":{"line":327,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isVisibleTextPart","symbolKind":"function","exported":true,"metadata":{"line":332,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isVisibleReasoningPart","symbolKind":"function","exported":true,"metadata":{"line":337,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isRenderablePart","symbolKind":"function","exported":true,"metadata":{"line":342,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"isAbortedMessage","symbolKind":"function","exported":true,"metadata":{"line":361,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"hasRenderableParts","symbolKind":"function","exported":true,"metadata":{"line":365,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasVisibleContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasVisibleContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"hasVisibleContent","symbolKind":"function","exported":true,"metadata":{"line":370,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:getMessageText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:getMessageText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","symbolName":"getMessageText","symbolKind":"function","exported":true,"metadata":{"line":375,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","metadata":{"lineCount":27,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","metadata":{"lineCount":31,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":16,"column":63,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","symbolName":"collectActiveDirectories","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:directories.some",{"id":"external:directories.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.some"}}],["external:directories.push",{"id":"external:directories.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"directories.push"}}],["symbol-name:pushDirectory",{"id":"symbol-name:pushDirectory","kind":"symbol","language":"jsts","symbolName":"pushDirectory","metadata":{"unresolvedName":"pushDirectory"}}],["external:paneDirectories.forEach",{"id":"external:paneDirectories.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"paneDirectories.forEach"}}],["external:projectDirectories.forEach",{"id":"external:projectDirectories.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"projectDirectories.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","symbolName":"pushDirectory","symbolKind":"function","exported":false,"metadata":{"line":18,"column":25,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:stripAnsi",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:stripAnsi","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","symbolName":"stripAnsi","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","symbolName":"parseAnsi","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":22,"maxNestingDepth":10,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:ANSI_RE.exec",{"id":"external:ANSI_RE.exec","kind":"external","language":"jsts","metadata":{"unresolvedName":"ANSI_RE.exec"}}],["external:match[0].slice",{"id":"external:match[0].slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"match[0].slice"}}],["external:params.split(';').map",{"id":"external:params.split(';').map","kind":"external","language":"jsts","metadata":{"unresolvedName":"params.split(';').map"}}],["external:params.split",{"id":"external:params.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"params.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:hasAnsi",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:hasAnsi","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","symbolName":"hasAnsi","symbolKind":"function","exported":true,"metadata":{"line":138,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:ANSI_RE.test",{"id":"external:ANSI_RE.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"ANSI_RE.test"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","metadata":{"lineCount":60,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","symbolName":"restoreProperty","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:Reflect.deleteProperty",{"id":"external:Reflect.deleteProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"Reflect.deleteProperty"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":41,"column":60,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:restoreProperty",{"id":"symbol-name:restoreProperty","kind":"symbol","language":"jsts","symbolName":"restoreProperty","metadata":{"unresolvedName":"restoreProperty"}}],["external:expect(writeText).toHaveBeenCalledWith",{"id":"external:expect(writeText).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(writeText).toHaveBeenCalledWith"}}],["external:expect(execCommand).not.toHaveBeenCalled",{"id":"external:expect(execCommand).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(execCommand).not.toHaveBeenCalled"}}],["external:vi.fn().mockRejectedValue",{"id":"external:vi.fn().mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}}],["external:expect(execCommand).toHaveBeenCalledWith",{"id":"external:expect(execCommand).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(execCommand).toHaveBeenCalledWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","symbolName":"fallbackCopyText","symbolKind":"function","exported":false,"metadata":{"line":1,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:textArea.setAttribute",{"id":"external:textArea.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"textArea.setAttribute"}}],["external:document.getSelection",{"id":"external:document.getSelection","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.getSelection"}}],["external:selection.getRangeAt(index).cloneRange",{"id":"external:selection.getRangeAt(index).cloneRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"selection.getRangeAt(index).cloneRange"}}],["external:textArea.focus",{"id":"external:textArea.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"textArea.focus"}}],["external:textArea.select",{"id":"external:textArea.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"textArea.select"}}],["external:textArea.setSelectionRange",{"id":"external:textArea.setSelectionRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"textArea.setSelectionRange"}}],["external:document.execCommand",{"id":"external:document.execCommand","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.execCommand"}}],["external:selection.removeAllRanges",{"id":"external:selection.removeAllRanges","kind":"external","language":"jsts","metadata":{"unresolvedName":"selection.removeAllRanges"}}],["external:savedRanges.forEach",{"id":"external:savedRanges.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"savedRanges.forEach"}}],["external:selection.addRange",{"id":"external:selection.addRange","kind":"external","language":"jsts","metadata":{"unresolvedName":"selection.addRange"}}],["external:activeElement?.focus",{"id":"external:activeElement?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeElement?.focus"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","symbolName":"copyTextToClipboard","symbolKind":"function","exported":true,"metadata":{"line":40,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:fallbackCopyText",{"id":"symbol-name:fallbackCopyText","kind":"symbol","language":"jsts","symbolName":"fallbackCopyText","metadata":{"unresolvedName":"fallbackCopyText"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","symbolName":"readTextFromClipboard","symbolKind":"function","exported":true,"metadata":{"line":59,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:navigator.clipboard.readText",{"id":"external:navigator.clipboard.readText","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.clipboard.readText"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","symbolName":"formatRelativeTime","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:new Date(timestamp).toLocaleDateString",{"id":"external:new Date(timestamp).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(timestamp).toLocaleDateString"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","symbolName":"extractContentFromUnifiedDiff","symbolKind":"function","exported":true,"metadata":{"line":1,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:diff.split",{"id":"external:diff.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.split"}}],["external:before.trimEnd",{"id":"external:before.trimEnd","kind":"external","language":"jsts","metadata":{"unresolvedName":"before.trimEnd"}}],["external:after.trimEnd",{"id":"external:after.trimEnd","kind":"external","language":"jsts","metadata":{"unresolvedName":"after.trimEnd"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:resetPathModeCache",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:resetPathModeCache","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"resetPathModeCache","symbolKind":"function","exported":true,"metadata":{"line":41,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"subscribePathMode","symbolKind":"function","exported":true,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"notifyListeners","symbolKind":"function","exported":false,"metadata":{"line":61,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getPathMode",{"id":"symbol-name:getPathMode","kind":"symbol","language":"jsts","symbolName":"getPathMode","metadata":{"unresolvedName":"getPathMode"}}],["external:_listeners.forEach",{"id":"external:_listeners.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"_listeners.forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"getPathMode","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"setPathMode","symbolKind":"function","exported":true,"metadata":{"line":89,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:notifyListeners",{"id":"symbol-name:notifyListeners","kind":"symbol","language":"jsts","symbolName":"notifyListeners","metadata":{"unresolvedName":"notifyListeners"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"getDetectedPathStyle","symbolKind":"function","exported":true,"metadata":{"line":102,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"setDetectedPathStyle","symbolKind":"function","exported":true,"metadata":{"line":117,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"getEffectivePathStyle","symbolKind":"function","exported":true,"metadata":{"line":136,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"isWindowsPathMode","symbolKind":"function","exported":true,"metadata":{"line":147,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"formatPathForApi","symbolKind":"function","exported":true,"metadata":{"line":156,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:dir.replace",{"id":"external:dir.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"dir.replace"}}],["external:/^[a-zA-Z]:$/.test",{"id":"external:/^[a-zA-Z]:$/.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/^[a-zA-Z]:$/.test"}}],["symbol-name:isWindowsPathMode",{"id":"symbol-name:isWindowsPathMode","kind":"symbol","language":"jsts","symbolName":"isWindowsPathMode","metadata":{"unresolvedName":"isWindowsPathMode"}}],["external:trimmed.replace",{"id":"external:trimmed.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"trimmed.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"detectPathStyleFromResponse","symbolKind":"function","exported":true,"metadata":{"line":179,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"autoDetectPathStyle","symbolKind":"function","exported":true,"metadata":{"line":201,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:detectPathStyleFromResponse",{"id":"symbol-name:detectPathStyleFromResponse","kind":"symbol","language":"jsts","symbolName":"detectPathStyleFromResponse","metadata":{"unresolvedName":"detectPathStyleFromResponse"}}],["symbol-name:setDetectedPathStyle",{"id":"symbol-name:setDetectedPathStyle","kind":"symbol","language":"jsts","symbolName":"setDetectedPathStyle","metadata":{"unresolvedName":"setDetectedPathStyle"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"normalizeToForwardSlash","symbolKind":"function","exported":true,"metadata":{"line":220,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace",{"id":"external:dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace"}}],["external:dir\r\n .replace",{"id":"external:dir\r\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"dir\r\n .replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"normalizeForComparison","symbolKind":"function","exported":true,"metadata":{"line":236,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"isSameDirectory","symbolKind":"function","exported":true,"metadata":{"line":252,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:normalizeForComparison",{"id":"symbol-name:normalizeForComparison","kind":"symbol","language":"jsts","symbolName":"normalizeForComparison","metadata":{"unresolvedName":"normalizeForComparison"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"getDirectoryName","symbolKind":"function","exported":true,"metadata":{"line":263,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"isWindowsAbsolutePath","symbolKind":"function","exported":true,"metadata":{"line":283,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","symbolName":"isAbsolutePath","symbolKind":"function","exported":true,"metadata":{"line":290,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:isWindowsAbsolutePath",{"id":"symbol-name:isWindowsAbsolutePath","kind":"symbol","language":"jsts","symbolName":"isWindowsAbsolutePath","metadata":{"unresolvedName":"isWindowsAbsolutePath"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"base64ToBytes","symbolKind":"function","exported":false,"metadata":{"line":14,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"triggerBrowserDownload","symbolKind":"function","exported":false,"metadata":{"line":26,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":94,"column":41,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"tauriSaveFile","symbolKind":"function","exported":false,"metadata":{"line":45,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:ext.toUpperCase",{"id":"external:ext.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"ext.toUpperCase"}}],["symbol-name:save",{"id":"symbol-name:save","kind":"symbol","language":"jsts","symbolName":"save","metadata":{"unresolvedName":"save"}}],["symbol-name:writeFile",{"id":"symbol-name:writeFile","kind":"symbol","language":"jsts","symbolName":"writeFile","metadata":{"unresolvedName":"writeFile"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"downloadFileContent","symbolKind":"function","exported":true,"metadata":{"line":72,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:base64ToBytes",{"id":"symbol-name:base64ToBytes","kind":"symbol","language":"jsts","symbolName":"base64ToBytes","metadata":{"unresolvedName":"base64ToBytes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","symbolName":"saveData","symbolKind":"function","exported":true,"metadata":{"line":92,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:tauriSaveFile(data, fileName).catch",{"id":"external:tauriSaveFile(data, fileName).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"tauriSaveFile(data, fileName).catch"}}],["symbol-name:tauriSaveFile",{"id":"symbol-name:tauriSaveFile","kind":"symbol","language":"jsts","symbolName":"tauriSaveFile","metadata":{"unresolvedName":"tauriSaveFile"}}],["symbol-name:triggerBrowserDownload",{"id":"symbol-name:triggerBrowserDownload","kind":"symbol","language":"jsts","symbolName":"triggerBrowserDownload","metadata":{"unresolvedName":"triggerBrowserDownload"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","symbolName":"logError","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","symbolName":"withErrorHandling","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:fn().catch",{"id":"external:fn().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"fn().catch"}}],["symbol-name:logError",{"id":"symbol-name:logError","kind":"symbol","language":"jsts","symbolName":"logError","metadata":{"unresolvedName":"logError"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":87,"column":10,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:createErrorHandler",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:createErrorHandler","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","symbolName":"createErrorHandler","symbolKind":"function","exported":true,"metadata":{"line":61,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","symbolName":"handleError","symbolKind":"function","exported":true,"metadata":{"line":86,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","metadata":{"lineCount":48,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":42,"column":53,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(formatDuration(999)).toBe",{"id":"external:expect(formatDuration(999)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(999)).toBe"}}],["external:expect(formatDuration(123.456)).toBe",{"id":"external:expect(formatDuration(123.456)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(123.456)).toBe"}}],["external:expect(formatDuration(1500)).toBe",{"id":"external:expect(formatDuration(1500)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(1500)).toBe"}}],["external:expect(formatDuration((3 * 60 + 12) * 1000)).toBe",{"id":"external:expect(formatDuration((3 * 60 + 12) * 1000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration((3 * 60 + 12) * 1000)).toBe"}}],["external:expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe",{"id":"external:expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe"}}],["external:expect(formatDuration(60 * 60 * 1000)).toBe",{"id":"external:expect(formatDuration(60 * 60 * 1000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(60 * 60 * 1000)).toBe"}}],["external:expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe",{"id":"external:expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe"}}],["external:expect(formatDuration(24 * 60 * 60 * 1000)).toBe",{"id":"external:expect(formatDuration(24 * 60 * 60 * 1000)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDuration(24 * 60 * 60 * 1000)).toBe"}}],["external:new Date(2026, 3, 17, 10, 30, 45).getTime",{"id":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}}],["external:expect(formatTime(ms)).toBe",{"id":"external:expect(formatTime(ms)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatTime(ms)).toBe"}}],["symbol-name:formatTime",{"id":"symbol-name:formatTime","kind":"symbol","language":"jsts","symbolName":"formatTime","metadata":{"unresolvedName":"formatTime"}}],["external:expect(formatDateTime(ms)).toBe",{"id":"external:expect(formatDateTime(ms)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDateTime(ms)).toBe"}}],["symbol-name:formatDateTime",{"id":"symbol-name:formatDateTime","kind":"symbol","language":"jsts","symbolName":"formatDateTime","metadata":{"unresolvedName":"formatDateTime"}}],["external:expect(formatDetailedDateTime(ms)).toBe",{"id":"external:expect(formatDetailedDateTime(ms)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatDetailedDateTime(ms)).toBe"}}],["external:expect(formatCompletedAt(ms, 'time')).toBe",{"id":"external:expect(formatCompletedAt(ms, 'time')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'time')).toBe"}}],["external:expect(formatCompletedAt(ms, 'dateTime')).toBe",{"id":"external:expect(formatCompletedAt(ms, 'dateTime')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'dateTime')).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatToolName","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:name.replace(/[-_]/g, ' ').replace",{"id":"external:name.replace(/[-_]/g, ' ').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.replace(/[-_]/g, ' ').replace"}}],["external:c.toUpperCase",{"id":"external:c.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"c.toUpperCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatDuration","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:s.toFixed",{"id":"external:s.toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.toFixed"}}],["external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter(Boolean).join",{"id":"external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter(Boolean).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter(Boolean).join"}}],["external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter",{"id":"external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter"}}],["external:[`${h}h`, m > 0 ? `${m}m` : '', remS > 0 ? `${remS}s` : ''].filter",{"id":"external:[`${h}h`, m > 0 ? `${m}m` : '', remS > 0 ? `${remS}s` : ''].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[`${h}h`, m > 0 ? `${m}m` : '', remS > 0 ? `${remS}s` : ''].filter"}}],["external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter(Boolean).join",{"id":"external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter(Boolean).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"[`${m}m`, remS > 0 ? `${remS}s` : ''].filter(Boolean).join"}}],["external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter",{"id":"external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"[`${m}m`, remS > 0 ? `${remS}s` : ''].filter"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatCost","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:cost.toFixed",{"id":"external:cost.toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"cost.toFixed"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatTime","symbolKind":"function","exported":true,"metadata":{"line":41,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:date.getHours().toString().padStart",{"id":"external:date.getHours().toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getHours().toString().padStart"}}],["external:date.getHours().toString",{"id":"external:date.getHours().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getHours().toString"}}],["external:date.getHours",{"id":"external:date.getHours","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getHours"}}],["external:date.getMinutes().toString().padStart",{"id":"external:date.getMinutes().toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getMinutes().toString().padStart"}}],["external:date.getMinutes().toString",{"id":"external:date.getMinutes().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getMinutes().toString"}}],["external:date.getMinutes",{"id":"external:date.getMinutes","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getMinutes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatDateTime","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:date.getFullYear().toString().padStart",{"id":"external:date.getFullYear().toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getFullYear().toString().padStart"}}],["external:date.getFullYear().toString",{"id":"external:date.getFullYear().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getFullYear().toString"}}],["external:date.getFullYear",{"id":"external:date.getFullYear","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getFullYear"}}],["external:(date.getMonth() + 1).toString().padStart",{"id":"external:(date.getMonth() + 1).toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"(date.getMonth() + 1).toString().padStart"}}],["external:(date.getMonth() + 1).toString",{"id":"external:(date.getMonth() + 1).toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"(date.getMonth() + 1).toString"}}],["external:date.getMonth",{"id":"external:date.getMonth","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getMonth"}}],["external:date.getDate().toString().padStart",{"id":"external:date.getDate().toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getDate().toString().padStart"}}],["external:date.getDate().toString",{"id":"external:date.getDate().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getDate().toString"}}],["external:date.getDate",{"id":"external:date.getDate","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getDate"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatDetailedDateTime","symbolKind":"function","exported":true,"metadata":{"line":58,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:date.getSeconds().toString().padStart",{"id":"external:date.getSeconds().toString().padStart","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getSeconds().toString().padStart"}}],["external:date.getSeconds().toString",{"id":"external:date.getSeconds().toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getSeconds().toString"}}],["external:date.getSeconds",{"id":"external:date.getSeconds","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getSeconds"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatCompletedAt","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","symbolName":"formatNumber","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:(num / 1000000).toFixed",{"id":"external:(num / 1000000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(num / 1000000).toFixed"}}],["external:(num / 1000).toFixed",{"id":"external:(num / 1000).toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"(num / 1000).toFixed"}}],["external:num.toString",{"id":"external:num.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"num.toString"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/index.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/index.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/index.ts","metadata":{"lineCount":10,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","symbolName":"normalizeLanguage","symbolKind":"function","exported":true,"metadata":{"line":7,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:lang.toLowerCase",{"id":"external:lang.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"lang.toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","symbolName":"detectLanguage","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:filePath.split(/[/\\\\]/).pop()?.toLowerCase",{"id":"external:filePath.split(/[/\\\\]/).pop()?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.split(/[/\\\\]/).pop()?.toLowerCase"}}],["external:filePath.split('.').pop()?.toLowerCase",{"id":"external:filePath.split('.').pop()?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.split('.').pop()?.toLowerCase"}}],["external:filePath.split('.').pop",{"id":"external:filePath.split('.').pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath.split('.').pop"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","symbolName":"getLineCount","symbolKind":"function","exported":true,"metadata":{"line":1,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:text.charCodeAt",{"id":"external:text.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"text.charCodeAt"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","symbolName":"getLineNumberColumnWidth","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts:noop",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts:noop","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","symbolName":"noop","symbolKind":"function","exported":false,"metadata":{"line":11,"column":14,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","symbolName":"basename","symbolKind":"function","exported":false,"metadata":{"line":429,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:path.replace(/\\\\/g, '/').split('/').filter(Boolean).pop",{"id":"external:path.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}}],["external:path.replace(/\\\\/g, '/').split('/').filter",{"id":"external:path.replace(/\\\\/g, '/').split('/').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split('/').filter"}}],["external:path.replace(/\\\\/g, '/').split",{"id":"external:path.replace(/\\\\/g, '/').split","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","symbolName":"resolveFileIcon","symbolKind":"function","exported":false,"metadata":{"line":433,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:basename(path).toLowerCase",{"id":"external:basename(path).toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"basename(path).toLowerCase"}}],["symbol-name:basename",{"id":"symbol-name:basename","kind":"symbol","language":"jsts","symbolName":"basename","metadata":{"unresolvedName":"basename"}}],["external:name.endsWith",{"id":"external:name.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.endsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","symbolName":"resolveFolderIcon","symbolKind":"function","exported":false,"metadata":{"line":448,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","symbolName":"getMaterialIconUrl","symbolKind":"function","exported":true,"metadata":{"line":458,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:resolveFolderIcon",{"id":"symbol-name:resolveFolderIcon","kind":"symbol","language":"jsts","symbolName":"resolveFolderIcon","metadata":{"unresolvedName":"resolveFolderIcon"}}],["symbol-name:resolveFileIcon",{"id":"symbol-name:resolveFileIcon","kind":"symbol","language":"jsts","symbolName":"resolveFileIcon","metadata":{"unresolvedName":"resolveFileIcon"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:getEnvelopeInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:getEnvelopeInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"getEnvelopeInfo","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"toUIMessage","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getEnvelopeInfo",{"id":"symbol-name:getEnvelopeInfo","kind":"symbol","language":"jsts","symbolName":"getEnvelopeInfo","metadata":{"unresolvedName":"getEnvelopeInfo"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"toUIMessageInfo","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIPart",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIPart","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"toUIPart","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toApiMessageWithParts",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toApiMessageWithParts","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"toApiMessageWithParts","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:isUserUIMessage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:isUserUIMessage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","symbolName":"isUserUIMessage","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"getPreviewCategory","symbolKind":"function","exported":true,"metadata":{"line":26,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:mimeType.indexOf",{"id":"external:mimeType.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.indexOf"}}],["external:mimeType.slice",{"id":"external:mimeType.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.slice"}}],["external:PREVIEWABLE_MEDIA.has",{"id":"external:PREVIEWABLE_MEDIA.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"PREVIEWABLE_MEDIA.has"}}],["external:PREVIEWABLE_APP_SUBTYPES.has",{"id":"external:PREVIEWABLE_APP_SUBTYPES.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"PREVIEWABLE_APP_SUBTYPES.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"isBinaryContent","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"isTextualMedia","symbolKind":"function","exported":true,"metadata":{"line":56,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:TEXTUAL_MEDIA_TYPES.has",{"id":"external:TEXTUAL_MEDIA_TYPES.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"TEXTUAL_MEDIA_TYPES.has"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"buildDataUrl","symbolKind":"function","exported":true,"metadata":{"line":63,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"buildTextDataUrl","symbolKind":"function","exported":true,"metadata":{"line":70,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"decodeBase64Text","symbolKind":"function","exported":true,"metadata":{"line":78,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:new TextDecoder('utf-8').decode",{"id":"external:new TextDecoder('utf-8').decode","kind":"external","language":"jsts","metadata":{"unresolvedName":"new TextDecoder('utf-8').decode"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","symbolName":"formatMimeType","symbolKind":"function","exported":true,"metadata":{"line":91,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:mimeType.toUpperCase",{"id":"external:mimeType.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.toUpperCase"}}],["external:mimeType.slice(slash + 1).replace",{"id":"external:mimeType.slice(slash + 1).replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"mimeType.slice(slash + 1).replace"}}],["external:minor.toUpperCase",{"id":"external:minor.toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"minor.toUpperCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getModelKey","symbolKind":"function","exported":true,"metadata":{"line":18,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"parseModelKey","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:key.indexOf",{"id":"external:key.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"key.indexOf"}}],["external:key.slice",{"id":"external:key.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"key.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"findModelByKey","symbolKind":"function","exported":true,"metadata":{"line":37,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:parseModelKey",{"id":"symbol-name:parseModelKey","kind":"symbol","language":"jsts","symbolName":"parseModelKey","metadata":{"unresolvedName":"parseModelKey"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getModelUsageStats","symbolKind":"function","exported":true,"metadata":{"line":73,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"recordModelUsage","symbolKind":"function","exported":true,"metadata":{"line":85,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:getModelUsageStats",{"id":"symbol-name:getModelUsageStats","kind":"symbol","language":"jsts","symbolName":"getModelUsageStats","metadata":{"unresolvedName":"getModelUsageStats"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getModelUsageCount","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getModelVariantPrefs","symbolKind":"function","exported":true,"metadata":{"line":119,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"saveModelVariantPref","symbolKind":"function","exported":true,"metadata":{"line":131,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:getModelVariantPrefs",{"id":"symbol-name:getModelVariantPrefs","kind":"symbol","language":"jsts","symbolName":"getModelVariantPrefs","metadata":{"unresolvedName":"getModelVariantPrefs"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getModelVariantPref","symbolKind":"function","exported":true,"metadata":{"line":150,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getSessionModelSelections","symbolKind":"function","exported":true,"metadata":{"line":159,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getSessionModelSelection","symbolKind":"function","exported":true,"metadata":{"line":168,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["symbol-name:getSessionModelSelections",{"id":"symbol-name:getSessionModelSelections","kind":"symbol","language":"jsts","symbolName":"getSessionModelSelections","metadata":{"unresolvedName":"getSessionModelSelections"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"saveSessionModelSelection","symbolKind":"function","exported":true,"metadata":{"line":173,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"sortModelsByFrequency","symbolKind":"function","exported":true,"metadata":{"line":196,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:[...models].sort",{"id":"external:[...models].sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"[...models].sort"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":326,"column":11,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"sortModelsAlphabetically","symbolKind":"function","exported":true,"metadata":{"line":223,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"sortModelsByProvider","symbolKind":"function","exported":true,"metadata":{"line":230,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:acc[model.providerId].push",{"id":"external:acc[model.providerId].push","kind":"external","language":"jsts","metadata":{"unresolvedName":"acc[model.providerId].push"}}],["external:Object.keys(groups).sort",{"id":"external:Object.keys(groups).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.keys(groups).sort"}}],["external:sortedProviders.flatMap",{"id":"external:sortedProviders.flatMap","kind":"external","language":"jsts","metadata":{"unresolvedName":"sortedProviders.flatMap"}}],["symbol-name:sortModelsByFrequency",{"id":"symbol-name:sortModelsByFrequency","kind":"symbol","language":"jsts","symbolName":"sortModelsByFrequency","metadata":{"unresolvedName":"sortModelsByFrequency"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"groupModelsByProvider","symbolKind":"function","exported":true,"metadata":{"line":275,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:acc[key].models.push",{"id":"external:acc[key].models.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"acc[key].models.push"}}],["external:Object.values(groupMap).sort",{"id":"external:Object.values(groupMap).sort","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.values(groupMap).sort"}}],["external:a.models.reduce",{"id":"external:a.models.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"a.models.reduce"}}],["external:b.models.reduce",{"id":"external:b.models.reduce","kind":"external","language":"jsts","metadata":{"unresolvedName":"b.models.reduce"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getRecentModels","symbolKind":"function","exported":true,"metadata":{"line":316,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:models\r\n .filter",{"id":"external:models\r\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"models\r\n .filter"}}],["external:usedModels.slice",{"id":"external:usedModels.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"usedModels.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getPinnedModelKeys","symbolKind":"function","exported":true,"metadata":{"line":343,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"isModelPinned","symbolKind":"function","exported":true,"metadata":{"line":355,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:getPinnedModelKeys().includes",{"id":"external:getPinnedModelKeys().includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"getPinnedModelKeys().includes"}}],["symbol-name:getPinnedModelKeys",{"id":"symbol-name:getPinnedModelKeys","kind":"symbol","language":"jsts","symbolName":"getPinnedModelKeys","metadata":{"unresolvedName":"getPinnedModelKeys"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"toggleModelPin","symbolKind":"function","exported":true,"metadata":{"line":363,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:pinned.indexOf",{"id":"external:pinned.indexOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinned.indexOf"}}],["external:pinned.splice",{"id":"external:pinned.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinned.splice"}}],["external:pinned.push",{"id":"external:pinned.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinned.push"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","symbolName":"getPinnedModels","symbolKind":"function","exported":true,"metadata":{"line":388,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:keySet.has",{"id":"external:keySet.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"keySet.has"}}],["external:modelMap.set",{"id":"external:modelMap.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelMap.set"}}],["external:pinnedKeys.map(k => modelMap.get(k)).filter",{"id":"external:pinnedKeys.map(k => modelMap.get(k)).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinnedKeys.map(k => modelMap.get(k)).filter"}}],["external:pinnedKeys.map",{"id":"external:pinnedKeys.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"pinnedKeys.map"}}],["external:modelMap.get",{"id":"external:modelMap.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"modelMap.get"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","symbolName":"playNotificationSound","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","symbolName":"playNotificationSoundDeduped","symbolKind":"function","exported":true,"metadata":{"line":51,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:recentPlays.get",{"id":"external:recentPlays.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"recentPlays.get"}}],["external:recentPlays.set",{"id":"external:recentPlays.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"recentPlays.set"}}],["symbol-name:playNotificationSound",{"id":"symbol-name:playNotificationSound","kind":"symbol","language":"jsts","symbolName":"playNotificationSound","metadata":{"unresolvedName":"playNotificationSound"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","symbolName":"initNotificationSound","symbolKind":"function","exported":true,"metadata":{"line":64,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:notificationStore.onPush",{"id":"external:notificationStore.onPush","kind":"external","language":"jsts","metadata":{"unresolvedName":"notificationStore.onPush"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":65,"column":48,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","metadata":{"lineCount":61,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":55,"column":60,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:expect(match?.id).toBe",{"id":"external:expect(match?.id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(match?.id).toBe"}}],["external:expect(formatOpenRouterPricePerMillion('0.00000175')).toBe",{"id":"external:expect(formatOpenRouterPricePerMillion('0.00000175')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0.00000175')).toBe"}}],["external:expect(formatOpenRouterPricePerMillion('0')).toBe",{"id":"external:expect(formatOpenRouterPricePerMillion('0')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0')).toBe"}}],["external:expect(formatOpenRouterPricePerMillion(undefined)).toBe",{"id":"external:expect(formatOpenRouterPricePerMillion(undefined)).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion(undefined)).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"normalize","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:(value ?? '').toLowerCase().replace",{"id":"external:(value ?? '').toLowerCase().replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"(value ?? '').toLowerCase().replace"}}],["external:(value ?? '').toLowerCase",{"id":"external:(value ?? '').toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"(value ?? '').toLowerCase"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"providerFromOpenRouterId","symbolKind":"function","exported":false,"metadata":{"line":33,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:id.split",{"id":"external:id.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.split"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"isFreeVariant","symbolKind":"function","exported":false,"metadata":{"line":37,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:id.endsWith",{"id":"external:id.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.endsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"scoreModel","symbolKind":"function","exported":false,"metadata":{"line":41,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:entry.id.endsWith",{"id":"external:entry.id.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.id.endsWith"}}],["external:normalizedEntryID.endsWith",{"id":"external:normalizedEntryID.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedEntryID.endsWith"}}],["external:normalizedEntryName.includes",{"id":"external:normalizedEntryName.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedEntryName.includes"}}],["symbol-name:providerFromOpenRouterId",{"id":"symbol-name:providerFromOpenRouterId","kind":"symbol","language":"jsts","symbolName":"providerFromOpenRouterId","metadata":{"unresolvedName":"providerFromOpenRouterId"}}],["symbol-name:isFreeVariant",{"id":"symbol-name:isFreeVariant","kind":"symbol","language":"jsts","symbolName":"isFreeVariant","metadata":{"unresolvedName":"isFreeVariant"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"selectOpenRouterModel","symbolKind":"function","exported":true,"metadata":{"line":74,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:scoreModel",{"id":"symbol-name:scoreModel","kind":"symbol","language":"jsts","symbolName":"scoreModel","metadata":{"unresolvedName":"scoreModel"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"formatOpenRouterPricePerMillion","symbolKind":"function","exported":true,"metadata":{"line":89,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:perMillion\n .toFixed(perMillion >= 10 ? 2 : 4)\n .replace",{"id":"external:perMillion\n .toFixed(perMillion >= 10 ? 2 : 4)\n .replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"perMillion\n .toFixed(perMillion >= 10 ? 2 : 4)\n .replace"}}],["external:perMillion\n .toFixed",{"id":"external:perMillion\n .toFixed","kind":"external","language":"jsts","metadata":{"unresolvedName":"perMillion\n .toFixed"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","symbolName":"getModelProviderLabel","symbolKind":"function","exported":true,"metadata":{"line":102,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:entry.name.split",{"id":"external:entry.name.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.name.split"}}],["external:provider?.trim",{"id":"external:provider?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"provider?.trim"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"makeKey","symbolKind":"function","exported":false,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"get","symbolKind":"function","exported":false,"metadata":{"line":29,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:makeKey",{"id":"symbol-name:makeKey","kind":"symbol","language":"jsts","symbolName":"makeKey","metadata":{"unresolvedName":"makeKey"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"set","symbolKind":"function","exported":false,"metadata":{"line":40,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"remove","symbolKind":"function","exported":false,"metadata":{"line":51,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"getJSON","symbolKind":"function","exported":false,"metadata":{"line":62,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"setJSON","symbolKind":"function","exported":false,"metadata":{"line":75,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"exportPerServerStorageBackup","symbolKind":"function","exported":true,"metadata":{"line":86,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:localStorage.key",{"id":"external:localStorage.key","kind":"external","language":"jsts","metadata":{"unresolvedName":"localStorage.key"}}],["external:key.startsWith",{"id":"external:key.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"key.startsWith"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","symbolName":"importPerServerStorageBackup","symbolKind":"function","exported":true,"metadata":{"line":101,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:keysToRemove.push",{"id":"external:keysToRemove.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"keysToRemove.push"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","metadata":{"lineCount":31,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":27,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(parsePtyFrame('hello\\r\\n')).toEqual",{"id":"external:expect(parsePtyFrame('hello\\r\\n')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePtyFrame('hello\\r\\n')).toEqual"}}],["external:bytes.set",{"id":"external:bytes.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"bytes.set"}}],["external:expect(parsePtyFrame(bytes.buffer)).toEqual",{"id":"external:expect(parsePtyFrame(bytes.buffer)).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePtyFrame(bytes.buffer)).toEqual"}}],["external:expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual",{"id":"external:expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual"}}],["external:expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull",{"id":"external:expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","symbolName":"parseControlPayload","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","symbolName":"parsePtyFrame","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:chunk.startsWith",{"id":"external:chunk.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"chunk.startsWith"}}],["symbol-name:parseControlPayload",{"id":"symbol-name:parseControlPayload","kind":"symbol","language":"jsts","symbolName":"parseControlPayload","metadata":{"unresolvedName":"parseControlPayload"}}],["external:chunk.slice",{"id":"external:chunk.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"chunk.slice"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","symbolName":"restoreModelSelection","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization","auth","user-input"]}}],["external:model.variants.includes",{"id":"external:model.variants.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"model.variants.includes"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","metadata":{"lineCount":68,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":38,"column":49,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(backup.schemaVersion).toBe",{"id":"external:expect(backup.schemaVersion).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(backup.schemaVersion).toBe"}}],["external:expect((backup.modules.theme as { presetId: string }).presetId).toBe",{"id":"external:expect((backup.modules.theme as { presetId: string }).presetId).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect((backup.modules.theme as { presetId: string }).presetId).toBe"}}],["external:expect(localStorage.getItem('theme-preset')).toBe",{"id":"external:expect(localStorage.getItem('theme-preset')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-preset')).toBe"}}],["external:expect(localStorage.getItem('theme-mode')).toBe",{"id":"external:expect(localStorage.getItem('theme-mode')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-mode')).toBe"}}],["external:expect(localStorage.getItem('opencode-sidebar-expanded')).toBe",{"id":"external:expect(localStorage.getItem('opencode-sidebar-expanded')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-sidebar-expanded')).toBe"}}],["external:expect(localStorage.getItem('opencode-right-panel-width')).toBe",{"id":"external:expect(localStorage.getItem('opencode-right-panel-width')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-right-panel-width')).toBe"}}],["external:expect(localStorage.getItem('notifications-enabled')).toBe",{"id":"external:expect(localStorage.getItem('notifications-enabled')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('notifications-enabled')).toBe"}}],["external:expect(localStorage.getItem('srv:local:last-directory')).toBe",{"id":"external:expect(localStorage.getItem('srv:local:last-directory')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:last-directory')).toBe"}}],["external:expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe",{"id":"external:expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe"}}],["external:expect(localStorage.getItem('opencode:toast-enabled')).toBe",{"id":"external:expect(localStorage.getItem('opencode:toast-enabled')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:toast-enabled')).toBe"}}],["external:expect(sessionStorage.getItem('opencode-active-server')).toBe",{"id":"external:expect(sessionStorage.getItem('opencode-active-server')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(sessionStorage.getItem('opencode-active-server')).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"exportNotificationBackup","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:exportNotificationPreferencesBackup",{"id":"symbol-name:exportNotificationPreferencesBackup","kind":"symbol","language":"jsts","symbolName":"exportNotificationPreferencesBackup","metadata":{"unresolvedName":"exportNotificationPreferencesBackup"}}],["symbol-name:exportNotificationEventSettingsBackup",{"id":"symbol-name:exportNotificationEventSettingsBackup","kind":"symbol","language":"jsts","symbolName":"exportNotificationEventSettingsBackup","metadata":{"unresolvedName":"exportNotificationEventSettingsBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"importNotificationBackup","symbolKind":"function","exported":false,"metadata":{"line":70,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:importNotificationPreferencesBackup",{"id":"symbol-name:importNotificationPreferencesBackup","kind":"symbol","language":"jsts","symbolName":"importNotificationPreferencesBackup","metadata":{"unresolvedName":"importNotificationPreferencesBackup"}}],["symbol-name:importNotificationEventSettingsBackup",{"id":"symbol-name:importNotificationEventSettingsBackup","kind":"symbol","language":"jsts","symbolName":"importNotificationEventSettingsBackup","metadata":{"unresolvedName":"importNotificationEventSettingsBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"normalizeBackupFile","symbolKind":"function","exported":false,"metadata":{"line":84,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"buildBackupFileName","symbolKind":"function","exported":false,"metadata":{"line":126,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:createdAt.replace(/[:]/g, '-').replace",{"id":"external:createdAt.replace(/[:]/g, '-').replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdAt.replace(/[:]/g, '-').replace"}}],["external:createdAt.replace",{"id":"external:createdAt.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"createdAt.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"exportSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":131,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:exportThemeBackup",{"id":"symbol-name:exportThemeBackup","kind":"symbol","language":"jsts","symbolName":"exportThemeBackup","metadata":{"unresolvedName":"exportThemeBackup"}}],["symbol-name:exportLayoutBackup",{"id":"symbol-name:exportLayoutBackup","kind":"symbol","language":"jsts","symbolName":"exportLayoutBackup","metadata":{"unresolvedName":"exportLayoutBackup"}}],["symbol-name:exportServerSettingsBackup",{"id":"symbol-name:exportServerSettingsBackup","kind":"symbol","language":"jsts","symbolName":"exportServerSettingsBackup","metadata":{"unresolvedName":"exportServerSettingsBackup"}}],["symbol-name:exportPerServerStorageBackup",{"id":"symbol-name:exportPerServerStorageBackup","kind":"symbol","language":"jsts","symbolName":"exportPerServerStorageBackup","metadata":{"unresolvedName":"exportPerServerStorageBackup"}}],["symbol-name:exportServiceSettingsBackup",{"id":"symbol-name:exportServiceSettingsBackup","kind":"symbol","language":"jsts","symbolName":"exportServiceSettingsBackup","metadata":{"unresolvedName":"exportServiceSettingsBackup"}}],["symbol-name:exportKeybindingBackup",{"id":"symbol-name:exportKeybindingBackup","kind":"symbol","language":"jsts","symbolName":"exportKeybindingBackup","metadata":{"unresolvedName":"exportKeybindingBackup"}}],["symbol-name:exportNotificationBackup",{"id":"symbol-name:exportNotificationBackup","kind":"symbol","language":"jsts","symbolName":"exportNotificationBackup","metadata":{"unresolvedName":"exportNotificationBackup"}}],["symbol-name:exportSoundBackup",{"id":"symbol-name:exportSoundBackup","kind":"symbol","language":"jsts","symbolName":"exportSoundBackup","metadata":{"unresolvedName":"exportSoundBackup"}}],["symbol-name:exportUpdateSettingsBackup",{"id":"symbol-name:exportUpdateSettingsBackup","kind":"symbol","language":"jsts","symbolName":"exportUpdateSettingsBackup","metadata":{"unresolvedName":"exportUpdateSettingsBackup"}}],["symbol-name:buildBackupFileName",{"id":"symbol-name:buildBackupFileName","kind":"symbol","language":"jsts","symbolName":"buildBackupFileName","metadata":{"unresolvedName":"buildBackupFileName"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"importSettingsBackup","symbolKind":"function","exported":true,"metadata":{"line":157,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:file.text",{"id":"external:file.text","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.text"}}],["symbol-name:normalizeBackupFile",{"id":"symbol-name:normalizeBackupFile","kind":"symbol","language":"jsts","symbolName":"normalizeBackupFile","metadata":{"unresolvedName":"normalizeBackupFile"}}],["symbol-name:importThemeBackup",{"id":"symbol-name:importThemeBackup","kind":"symbol","language":"jsts","symbolName":"importThemeBackup","metadata":{"unresolvedName":"importThemeBackup"}}],["symbol-name:importLayoutBackup",{"id":"symbol-name:importLayoutBackup","kind":"symbol","language":"jsts","symbolName":"importLayoutBackup","metadata":{"unresolvedName":"importLayoutBackup"}}],["symbol-name:importServerSettingsBackup",{"id":"symbol-name:importServerSettingsBackup","kind":"symbol","language":"jsts","symbolName":"importServerSettingsBackup","metadata":{"unresolvedName":"importServerSettingsBackup"}}],["symbol-name:importPerServerStorageBackup",{"id":"symbol-name:importPerServerStorageBackup","kind":"symbol","language":"jsts","symbolName":"importPerServerStorageBackup","metadata":{"unresolvedName":"importPerServerStorageBackup"}}],["symbol-name:importServiceSettingsBackup",{"id":"symbol-name:importServiceSettingsBackup","kind":"symbol","language":"jsts","symbolName":"importServiceSettingsBackup","metadata":{"unresolvedName":"importServiceSettingsBackup"}}],["symbol-name:importKeybindingBackup",{"id":"symbol-name:importKeybindingBackup","kind":"symbol","language":"jsts","symbolName":"importKeybindingBackup","metadata":{"unresolvedName":"importKeybindingBackup"}}],["symbol-name:importNotificationBackup",{"id":"symbol-name:importNotificationBackup","kind":"symbol","language":"jsts","symbolName":"importNotificationBackup","metadata":{"unresolvedName":"importNotificationBackup"}}],["symbol-name:importSoundBackup",{"id":"symbol-name:importSoundBackup","kind":"symbol","language":"jsts","symbolName":"importSoundBackup","metadata":{"unresolvedName":"importSoundBackup"}}],["symbol-name:importUpdateSettingsBackup",{"id":"symbol-name:importUpdateSettingsBackup","kind":"symbol","language":"jsts","symbolName":"importUpdateSettingsBackup","metadata":{"unresolvedName":"importUpdateSettingsBackup"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"previewBackupMeta","symbolKind":"function","exported":true,"metadata":{"line":180,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:file.text().then",{"id":"external:file.text().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.text().then"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":181,"column":27,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"getAudioContext","symbolKind":"function","exported":false,"metadata":{"line":62,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"isSoundSupported","symbolKind":"function","exported":true,"metadata":{"line":75,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"volumeToGain","symbolKind":"function","exported":false,"metadata":{"line":89,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:chime'","symbolKind":"function","exported":false,"metadata":{"line":108,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:[523.25, 659.25].forEach",{"id":"external:[523.25, 659.25].forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"[523.25, 659.25].forEach"}}],["external:ctx.createOscillator",{"id":"external:ctx.createOscillator","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.createOscillator"}}],["external:ctx.createGain",{"id":"external:ctx.createGain","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.createGain"}}],["external:osc.frequency.setValueAtTime",{"id":"external:osc.frequency.setValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}}],["external:gain.gain.setValueAtTime",{"id":"external:gain.gain.setValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}}],["external:gain.gain.linearRampToValueAtTime",{"id":"external:gain.gain.linearRampToValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"gain.gain.linearRampToValueAtTime"}}],["external:gain.gain.exponentialRampToValueAtTime",{"id":"external:gain.gain.exponentialRampToValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}}],["external:osc.connect(gain).connect",{"id":"external:osc.connect(gain).connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.connect(gain).connect"}}],["external:osc.connect",{"id":"external:osc.connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.connect"}}],["external:osc.start",{"id":"external:osc.start","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.start"}}],["external:osc.stop",{"id":"external:osc.stop","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.stop"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":381,"column":52,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:success'","symbolKind":"function","exported":false,"metadata":{"line":125,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:[440, 554.37, 659.25].forEach",{"id":"external:[440, 554.37, 659.25].forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"[440, 554.37, 659.25].forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:bell'","symbolKind":"function","exported":false,"metadata":{"line":142,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:osc.frequency.exponentialRampToValueAtTime",{"id":"external:osc.frequency.exponentialRampToValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:knock'","symbolKind":"function","exported":false,"metadata":{"line":159,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:[0, 0.15].forEach",{"id":"external:[0, 0.15].forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"[0, 0.15].forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:alert'","symbolKind":"function","exported":false,"metadata":{"line":176,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:[0, 0.12].forEach",{"id":"external:[0, 0.12].forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"[0, 0.12].forEach"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:tap'","symbolKind":"function","exported":false,"metadata":{"line":192,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:ping'","symbolKind":"function","exported":false,"metadata":{"line":208,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:bubble'","symbolKind":"function","exported":false,"metadata":{"line":222,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:pop'","symbolKind":"function","exported":false,"metadata":{"line":237,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:error'","symbolKind":"function","exported":false,"metadata":{"line":253,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:buzz'","symbolKind":"function","exported":false,"metadata":{"line":271,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"'builtin:warning'","symbolKind":"function","exported":false,"metadata":{"line":288,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"playBuiltinSound","symbolKind":"function","exported":false,"metadata":{"line":309,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:getAudioContext",{"id":"symbol-name:getAudioContext","kind":"symbol","language":"jsts","symbolName":"getAudioContext","metadata":{"unresolvedName":"getAudioContext"}}],["external:ctx.resume().catch",{"id":"external:ctx.resume().catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.resume().catch"}}],["external:ctx.resume",{"id":"external:ctx.resume","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.resume"}}],["external:masterGain.gain.setValueAtTime",{"id":"external:masterGain.gain.setValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"masterGain.gain.setValueAtTime"}}],["symbol-name:volumeToGain",{"id":"symbol-name:volumeToGain","kind":"symbol","language":"jsts","symbolName":"volumeToGain","metadata":{"unresolvedName":"volumeToGain"}}],["external:masterGain.connect",{"id":"external:masterGain.connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"masterGain.connect"}}],["symbol-name:synth",{"id":"symbol-name:synth","kind":"symbol","language":"jsts","symbolName":"synth","metadata":{"unresolvedName":"synth"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"playCustomSound","symbolKind":"function","exported":false,"metadata":{"line":332,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:audioData.arrayBuffer",{"id":"external:audioData.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"audioData.arrayBuffer"}}],["external:ctx.decodeAudioData",{"id":"external:ctx.decodeAudioData","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.decodeAudioData"}}],["external:ctx.createBufferSource",{"id":"external:ctx.createBufferSource","kind":"external","language":"jsts","metadata":{"unresolvedName":"ctx.createBufferSource"}}],["external:gainNode.gain.setValueAtTime",{"id":"external:gainNode.gain.setValueAtTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"gainNode.gain.setValueAtTime"}}],["external:source.connect(gainNode).connect",{"id":"external:source.connect(gainNode).connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.connect(gainNode).connect"}}],["external:source.connect",{"id":"external:source.connect","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.connect"}}],["external:source.start",{"id":"external:source.start","kind":"external","language":"jsts","metadata":{"unresolvedName":"source.start"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","symbolName":"playSound","symbolKind":"function","exported":true,"metadata":{"line":374,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:playCustomSound(customAudioData, volume).catch",{"id":"external:playCustomSound(customAudioData, volume).catch","kind":"external","language":"jsts","metadata":{"unresolvedName":"playCustomSound(customAudioData, volume).catch"}}],["symbol-name:playCustomSound",{"id":"symbol-name:playCustomSound","kind":"symbol","language":"jsts","symbolName":"playCustomSound","metadata":{"unresolvedName":"playCustomSound"}}],["external:soundId.startsWith",{"id":"external:soundId.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"soundId.startsWith"}}],["symbol-name:playBuiltinSound",{"id":"symbol-name:playBuiltinSound","kind":"symbol","language":"jsts","symbolName":"playBuiltinSound","metadata":{"unresolvedName":"playBuiltinSound"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","metadata":{"lineCount":12,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","symbolName":"getInitials","symbolKind":"function","exported":true,"metadata":{"line":1,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:clean.split(' ').filter",{"id":"external:clean.split(' ').filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"clean.split(' ').filter"}}],["external:clean.split",{"id":"external:clean.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"clean.split"}}],["external:parts[0].slice(0, 2).toUpperCase",{"id":"external:parts[0].slice(0, 2).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts[0].slice(0, 2).toUpperCase"}}],["external:parts[0].slice",{"id":"external:parts[0].slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"parts[0].slice"}}],["external:(parts[0][0] + parts[1][0]).toUpperCase",{"id":"external:(parts[0][0] + parts[1][0]).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"(parts[0][0] + parts[1][0]).toUpperCase"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","metadata":{"lineCount":55,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","symbolName":"","symbolKind":"function","exported":false,"metadata":{"line":50,"column":53,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:expect(isTauri()).toBe",{"id":"external:expect(isTauri()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isTauri()).toBe"}}],["external:expect(isTauriMobile()).toBe",{"id":"external:expect(isTauriMobile()).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(isTauriMobile()).toBe"}}],["external:expect(extToMime('png')).toBe",{"id":"external:expect(extToMime('png')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('png')).toBe"}}],["external:expect(extToMime('jpg')).toBe",{"id":"external:expect(extToMime('jpg')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('jpg')).toBe"}}],["external:expect(extToMime('svg')).toBe",{"id":"external:expect(extToMime('svg')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('svg')).toBe"}}],["external:expect(extToMime('mp3')).toBe",{"id":"external:expect(extToMime('mp3')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('mp3')).toBe"}}],["external:expect(extToMime('mp4')).toBe",{"id":"external:expect(extToMime('mp4')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('mp4')).toBe"}}],["external:expect(extToMime('xyz')).toBe",{"id":"external:expect(extToMime('xyz')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('xyz')).toBe"}}],["external:expect(extToMime('foo')).toBe",{"id":"external:expect(extToMime('foo')).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(extToMime('foo')).toBe"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","symbolName":"isTauri","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","symbolName":"isTauriMobile","symbolKind":"function","exported":true,"metadata":{"line":13,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:/Android|iPhone|iPad|iPod/i.test",{"id":"external:/Android|iPhone|iPad|iPod/i.test","kind":"external","language":"jsts","metadata":{"unresolvedName":"/Android|iPhone|iPad|iPod/i.test"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","symbolName":"getDesktopPlatform","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["external:navigator.userAgent.toLowerCase",{"id":"external:navigator.userAgent.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.userAgent.toLowerCase"}}],["external:ua.includes",{"id":"external:ua.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"ua.includes"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","symbolName":"usesCustomDesktopTitlebar","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:extToMime",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:extToMime","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","symbolName":"extToMime","symbolKind":"function","exported":true,"metadata":{"line":36,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/caddy.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/caddy.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/caddy.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/config.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/config.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/config.rs","metadata":{"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/main.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/main.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/main.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/router.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/router.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/router.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/scanner.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/scanner.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/scanner.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/state.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/state.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-router/src/state.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/build.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/build.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/build.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/args.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/args.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/args.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/event.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/event.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/event.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/mod.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/mod.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/mod.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/state.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/state.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/bridge/state.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/bridge.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/bridge.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/bridge.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/mod.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/mod.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/mod.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/pi_agent.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/pi_agent.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/pi_agent.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/utils.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/utils.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/commands/utils.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/dir_state.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/dir_state.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/dir_state.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/mod.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/mod.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/mod.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/service.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/service.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/app/service.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/lib.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/lib.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/lib.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/main.rs",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/main.rs","kind":"file","language":"rust","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/src-tauri/src/main.rs","metadata":{"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","metadata":{"lineCount":75,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["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"}}],["external:@tailwindcss/vite",{"id":"external:@tailwindcss/vite","kind":"external","language":"jsts","metadata":{"source":"@tailwindcss/vite"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","symbolName":"katexWoff2Only","symbolKind":"function","exported":false,"metadata":{"line":8,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:id.split('?')[0].replace",{"id":"external:id.split('?')[0].replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.split('?')[0].replace"}}],["external:normalizedId.endsWith",{"id":"external:normalizedId.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedId.endsWith"}}],["external:code.replace",{"id":"external:code.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"code.replace"}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","symbolName":"transform","symbolKind":"function","exported":false,"metadata":{"line":12,"column":5,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:manualChunks",{"id":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:manualChunks","kind":"symbol","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","symbolName":"manualChunks","symbolKind":"function","exported":false,"metadata":{"line":36,"column":9,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:id.includes",{"id":"external:id.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"id.includes"}}],["file:D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts",{"id":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","kind":"file","language":"jsts","filePath":"D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","metadata":{"lineCount":17,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:vitest/config",{"id":"external:vitest/config","kind":"external","language":"jsts","metadata":{"source":"vitest/config"}}]],"edges":[{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:@eslint/js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:eslint-config-prettier","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:globals","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:eslint-plugin-react-hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:eslint-plugin-react-refresh","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:typescript-eslint","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/eslint.config.js","to":"external:eslint/config","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"module:./piagentui-extension-manager.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","to":"external:fs.mkdtempSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdtempSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","to":"external:os.tmpdir","kind":"calls","metadata":{"unresolvedName":"os.tmpdir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","to":"external:tempRoots.push","kind":"calls","metadata":{"unresolvedName":"tempRoots.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:tempRoots.splice","kind":"calls","metadata":{"unresolvedName":"tempRoots.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:fs.rmSync","kind":"calls","metadata":{"unresolvedName":"fs.rmSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"calls","metadata":{"unresolvedName":"parsePiInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('pi install')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi install')).toThrow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"calls","metadata":{"unresolvedName":"parsePiInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"calls","metadata":{"unresolvedName":"parsePiInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(() => parsePiInstallCommand('pi install')).toThrow","kind":"calls","metadata":{"unresolvedName":"expect(() => parsePiInstallCommand('pi install')).toThrow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","kind":"calls","metadata":{"unresolvedName":"makeTempRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","kind":"calls","metadata":{"unresolvedName":"writeJson"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"calls","metadata":{"unresolvedName":"buildExtensionCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(catalog.summary).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(catalog.summary).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:catalog.packages.find","kind":"calls","metadata":{"unresolvedName":"catalog.packages.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(userPackage).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage?.resources.extensions).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(userPackage?.resources.extensions).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage?.resources.skills).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(userPackage?.resources.skills).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(projectPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(projectPackage).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(projectPackage?.resources.extensions).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(projectPackage?.resources.extensions).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(missingPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(missingPackage).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:makeTempRoot","kind":"calls","metadata":{"unresolvedName":"makeTempRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:writeJson","kind":"calls","metadata":{"unresolvedName":"writeJson"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"calls","metadata":{"unresolvedName":"buildExtensionCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(catalog.summary).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(catalog.summary).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:catalog.packages.find","kind":"calls","metadata":{"unresolvedName":"catalog.packages.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(userPackage).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage?.resources.extensions).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(userPackage?.resources.extensions).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(userPackage?.resources.skills).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(userPackage?.resources.skills).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(projectPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(projectPackage).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(projectPackage?.resources.extensions).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(projectPackage?.resources.extensions).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(missingPackage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(missingPackage).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"calls","metadata":{"unresolvedName":"executeExtensionInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"calls","metadata":{"unresolvedName":"executeExtensionPackageRemoval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(runner).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(runner).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"calls","metadata":{"unresolvedName":"executeExtensionInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"calls","metadata":{"unresolvedName":"executeExtensionPackageRemoval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"external:expect(runner).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(runner).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"external:node:child_process","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getHomeDir","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getHomeDir","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getHomeDir","to":"external:os.homedir","kind":"calls","metadata":{"unresolvedName":"os.homedir"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","to":"symbol-name:getHomeDir","kind":"calls","metadata":{"unresolvedName":"getHomeDir"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readJsonFile","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings","to":"symbol-name:readJsonFile","kind":"calls","metadata":{"unresolvedName":"readJsonFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","to":"external:entry.trim","kind":"calls","metadata":{"unresolvedName":"entry.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","to":"external:entry.source.trim","kind":"calls","metadata":{"unresolvedName":"entry.source.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","to":"external:source.startsWith","kind":"calls","metadata":{"unresolvedName":"source.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","to":"external:source.slice('npm:'.length).trim","kind":"calls","metadata":{"unresolvedName":"source.slice('npm:'.length).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","to":"external:source.slice","kind":"calls","metadata":{"unresolvedName":"source.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","to":"external:spec.match","kind":"calls","metadata":{"unresolvedName":"spec.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","to":"external:source.startsWith","kind":"calls","metadata":{"unresolvedName":"source.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","to":"external:path.isAbsolute","kind":"calls","metadata":{"unresolvedName":"path.isAbsolute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","to":"external:/^[a-zA-Z]:[\\\\/]/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:[\\\\/]/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","to":"external:source.includes","kind":"calls","metadata":{"unresolvedName":"source.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"calls","metadata":{"unresolvedName":"getAgentDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:source.startsWith","kind":"calls","metadata":{"unresolvedName":"source.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"symbol-name:getHomeDir","kind":"calls","metadata":{"unresolvedName":"getHomeDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:source.slice","kind":"calls","metadata":{"unresolvedName":"source.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:path.isAbsolute","kind":"calls","metadata":{"unresolvedName":"path.isAbsolute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","to":"external:/^[a-zA-Z]:[\\\\/]/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:[\\\\/]/.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:source.replace","kind":"calls","metadata":{"unresolvedName":"source.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:normalized.match","kind":"calls","metadata":{"unresolvedName":"normalized.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:githubShorthand[1].replace","kind":"calls","metadata":{"unresolvedName":"githubShorthand[1].replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:sshMatch[2].replace","kind":"calls","metadata":{"unresolvedName":"sshMatch[2].replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:url.pathname.replace(/^\\//, '').replace","kind":"calls","metadata":{"unresolvedName":"url.pathname.replace(/^\\//, '').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","to":"external:url.pathname.replace","kind":"calls","metadata":{"unresolvedName":"url.pathname.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"calls","metadata":{"unresolvedName":"getAgentDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"external:source.startsWith","kind":"calls","metadata":{"unresolvedName":"source.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseNpmPackageName","kind":"calls","metadata":{"unresolvedName":"parseNpmPackageName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"external:packageName.split","kind":"calls","metadata":{"unresolvedName":"packageName.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:isProbablyLocalSource","kind":"calls","metadata":{"unresolvedName":"isProbablyLocalSource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveLocalSource","kind":"calls","metadata":{"unresolvedName":"resolveLocalSource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parseGitInstallPathParts","kind":"calls","metadata":{"unresolvedName":"parseGitInstallPathParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","to":"external:gitParts.repoPath.split","kind":"calls","metadata":{"unresolvedName":"gitParts.repoPath.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:stat.isFile","kind":"calls","metadata":{"unresolvedName":"stat.isFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:RESOURCE_FILE_PATTERNS[resourceType].test","kind":"calls","metadata":{"unresolvedName":"RESOURCE_FILE_PATTERNS[resourceType].test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:stat.isDirectory","kind":"calls","metadata":{"unresolvedName":"stat.isDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:fs.readdirSync","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:entry.isDirectory","kind":"calls","metadata":{"unresolvedName":"entry.isDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"calls","metadata":{"unresolvedName":"collectFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:entry.isFile","kind":"calls","metadata":{"unresolvedName":"entry.isFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:files.sort","kind":"calls","metadata":{"unresolvedName":"files.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","to":"external:a.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","to":"external:entries.filter","kind":"calls","metadata":{"unresolvedName":"entries.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","to":"external:entry.trim().startsWith","kind":"calls","metadata":{"unresolvedName":"entry.trim().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","to":"external:entry.trim","kind":"calls","metadata":{"unresolvedName":"entry.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"external:entry.trim","kind":"calls","metadata":{"unresolvedName":"entry.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"external:normalized.includes","kind":"calls","metadata":{"unresolvedName":"normalized.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"calls","metadata":{"unresolvedName":"collectFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"external:stripOverridePatterns(manifestEntries).flatMap","kind":"calls","metadata":{"unresolvedName":"stripOverridePatterns(manifestEntries).flatMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:stripOverridePatterns","kind":"calls","metadata":{"unresolvedName":"stripOverridePatterns"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveManifestEntry","kind":"calls","metadata":{"unresolvedName":"resolveManifestEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"external:Array.from(new Set(files)).sort","kind":"calls","metadata":{"unresolvedName":"Array.from(new Set(files)).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"external:a.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:collectFiles","kind":"calls","metadata":{"unresolvedName":"collectFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","to":"external:path.relative(packageRoot, filePath).replace","kind":"calls","metadata":{"unresolvedName":"path.relative(packageRoot, filePath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","to":"external:path.relative","kind":"calls","metadata":{"unresolvedName":"path.relative"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","to":"external:pattern.replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&').replace","kind":"calls","metadata":{"unresolvedName":"pattern.replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","to":"external:pattern.replace","kind":"calls","metadata":{"unresolvedName":"pattern.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:toRelativePosix","kind":"calls","metadata":{"unresolvedName":"toRelativePosix"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:patterns.map(pattern => pattern.trim()).filter","kind":"calls","metadata":{"unresolvedName":"patterns.map(pattern => pattern.trim()).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:patterns.map","kind":"calls","metadata":{"unresolvedName":"patterns.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:pattern.trim","kind":"calls","metadata":{"unresolvedName":"pattern.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:normalizedPatterns.some","kind":"calls","metadata":{"unresolvedName":"normalizedPatterns.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:pattern.startsWith","kind":"calls","metadata":{"unresolvedName":"pattern.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:pattern.slice","kind":"calls","metadata":{"unresolvedName":"pattern.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:positivePattern.replace","kind":"calls","metadata":{"unresolvedName":"positivePattern.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:relativePath.endsWith","kind":"calls","metadata":{"unresolvedName":"relativePath.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"external:wildcardToRegExp(normalizedPattern).test","kind":"calls","metadata":{"unresolvedName":"wildcardToRegExp(normalizedPattern).test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","kind":"calls","metadata":{"unresolvedName":"wildcardToRegExp"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:pattern.startsWith","kind":"calls","metadata":{"unresolvedName":"pattern.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:pattern.slice","kind":"calls","metadata":{"unresolvedName":"pattern.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:positivePattern.replace","kind":"calls","metadata":{"unresolvedName":"positivePattern.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:relativePath.endsWith","kind":"calls","metadata":{"unresolvedName":"relativePath.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:wildcardToRegExp(normalizedPattern).test","kind":"calls","metadata":{"unresolvedName":"wildcardToRegExp(normalizedPattern).test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:wildcardToRegExp","kind":"calls","metadata":{"unresolvedName":"wildcardToRegExp"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","to":"external:path.basename(filePath).toLowerCase","kind":"calls","metadata":{"unresolvedName":"path.basename(filePath).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","to":"external:path.basename","kind":"calls","metadata":{"unresolvedName":"path.basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:discoverResourcePaths","kind":"calls","metadata":{"unresolvedName":"discoverResourcePaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","to":"external:files.map","kind":"calls","metadata":{"unresolvedName":"files.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resourceName","kind":"calls","metadata":{"unresolvedName":"resourceName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:matchesFilter","kind":"calls","metadata":{"unresolvedName":"matchesFilter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","to":"external:RESOURCE_TYPES.some","kind":"calls","metadata":{"unresolvedName":"RESOURCE_TYPES.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","to":"external:resources[resourceType].some","kind":"calls","metadata":{"unresolvedName":"resources[resourceType].some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus","to":"external:packages.reduce","kind":"calls","metadata":{"unresolvedName":"packages.reduce"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"symbol-name:getHomeDir","kind":"calls","metadata":{"unresolvedName":"getHomeDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getAgentDir","kind":"calls","metadata":{"unresolvedName":"getAgentDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readSettings","kind":"calls","metadata":{"unresolvedName":"readSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:(userSettings.packages ?? []).map","kind":"calls","metadata":{"unresolvedName":"(userSettings.packages ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:normalizePackageEntry","kind":"calls","metadata":{"unresolvedName":"normalizePackageEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:(projectSettings.packages ?? []).map","kind":"calls","metadata":{"unresolvedName":"(projectSettings.packages ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:configuredPackages.map","kind":"calls","metadata":{"unresolvedName":"configuredPackages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","kind":"calls","metadata":{"unresolvedName":"resolveInstalledPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","kind":"calls","metadata":{"unresolvedName":"readPackageMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","kind":"calls","metadata":{"unresolvedName":"buildResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","kind":"calls","metadata":{"unresolvedName":"hasEnabledResource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:packages.sort","kind":"calls","metadata":{"unresolvedName":"packages.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"external:(a.packageName || a.source).localeCompare","kind":"calls","metadata":{"unresolvedName":"(a.packageName || a.source).localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:countByStatus","kind":"calls","metadata":{"unresolvedName":"countByStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:resolveInstalledPath","kind":"calls","metadata":{"unresolvedName":"resolveInstalledPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:readPackageMetadata","kind":"calls","metadata":{"unresolvedName":"readPackageMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildResources","kind":"calls","metadata":{"unresolvedName":"buildResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:hasEnabledResource","kind":"calls","metadata":{"unresolvedName":"hasEnabledResource"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:(a.packageName || a.source).localeCompare","kind":"calls","metadata":{"unresolvedName":"(a.packageName || a.source).localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","to":"external:/\\s/.test","kind":"calls","metadata":{"unresolvedName":"/\\s/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","to":"external:tokens.push","kind":"calls","metadata":{"unresolvedName":"tokens.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:tokenizeCommand","kind":"calls","metadata":{"unresolvedName":"tokenizeCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:command.trim","kind":"calls","metadata":{"unresolvedName":"command.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:path\n .basename(tokens[0])\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(tokens[0])\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:tokens.slice","kind":"calls","metadata":{"unresolvedName":"tokens.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:token.startsWith","kind":"calls","metadata":{"unresolvedName":"token.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","to":"external:/[;&|<>`]/.test","kind":"calls","metadata":{"unresolvedName":"/[;&|<>`]/.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"symbol-name:spawn","kind":"calls","metadata":{"unresolvedName":"spawn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable","kind":"calls","metadata":{"unresolvedName":"getPiExecutable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"external:child.stdout?.on","kind":"calls","metadata":{"unresolvedName":"child.stdout?.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"external:child.stderr?.on","kind":"calls","metadata":{"unresolvedName":"child.stderr?.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"external:child.on","kind":"calls","metadata":{"unresolvedName":"child.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"external:stderr.trim","kind":"calls","metadata":{"unresolvedName":"stderr.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:defaultPiCommandRunner","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:spawn","kind":"calls","metadata":{"unresolvedName":"spawn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:getPiExecutable","kind":"calls","metadata":{"unresolvedName":"getPiExecutable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:child.stdout?.on","kind":"calls","metadata":{"unresolvedName":"child.stdout?.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:child.stderr?.on","kind":"calls","metadata":{"unresolvedName":"child.stderr?.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:child.on","kind":"calls","metadata":{"unresolvedName":"child.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:stderr.trim","kind":"calls","metadata":{"unresolvedName":"stderr.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:stderr.trim","kind":"calls","metadata":{"unresolvedName":"stderr.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:parsePiInstallCommand","kind":"calls","metadata":{"unresolvedName":"parsePiInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"module:./piagentui-git-manager.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"calls","metadata":{"unresolvedName":"createRunner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"calls","metadata":{"unresolvedName":"listGitBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(result.branches).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.branches).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.branch).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.branch).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.upstream).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.upstream).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.ahead).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.ahead).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.behind).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.behind).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.dirty).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.dirty).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(status.files).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(runner).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(runner).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(runner).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(runner).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"calls","metadata":{"unresolvedName":"createRunner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"calls","metadata":{"unresolvedName":"listGitBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(result.branches).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.branches).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"calls","metadata":{"unresolvedName":"createRunner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.branch).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.branch).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.upstream).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.upstream).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.ahead).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.ahead).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.behind).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.behind).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.dirty).toBe","kind":"calls","metadata":{"unresolvedName":"expect(status.dirty).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(status.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(status.files).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:createRunner","kind":"calls","metadata":{"unresolvedName":"createRunner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(runner).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(runner).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.test.ts:","to":"external:expect(runner).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(runner).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"external:node:child_process","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"symbol-name:spawn","kind":"calls","metadata":{"unresolvedName":"spawn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:child.stdout.setEncoding","kind":"calls","metadata":{"unresolvedName":"child.stdout.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:child.stderr.setEncoding","kind":"calls","metadata":{"unresolvedName":"child.stderr.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:child.stdout.on","kind":"calls","metadata":{"unresolvedName":"child.stdout.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:child.stderr.on","kind":"calls","metadata":{"unresolvedName":"child.stderr.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:child.on","kind":"calls","metadata":{"unresolvedName":"child.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:runGit","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"symbol-name:spawn","kind":"calls","metadata":{"unresolvedName":"spawn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:child.stdout.setEncoding","kind":"calls","metadata":{"unresolvedName":"child.stdout.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:child.stderr.setEncoding","kind":"calls","metadata":{"unresolvedName":"child.stderr.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:child.stdout.on","kind":"calls","metadata":{"unresolvedName":"child.stdout.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:child.stderr.on","kind":"calls","metadata":{"unresolvedName":"child.stderr.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:child.on","kind":"calls","metadata":{"unresolvedName":"child.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:args.join","kind":"calls","metadata":{"unresolvedName":"args.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","to":"external:value.trim","kind":"calls","metadata":{"unresolvedName":"value.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","to":"external:name.startsWith","kind":"calls","metadata":{"unresolvedName":"name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","to":"external:/\\s/.test","kind":"calls","metadata":{"unresolvedName":"/\\s/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","to":"external:/[\\0~^:?*[\\]\\\\]/.test","kind":"calls","metadata":{"unresolvedName":"/[\\0~^:?*[\\]\\\\]/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath","to":"external:value.trim","kind":"calls","metadata":{"unresolvedName":"value.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafePath","to":"external:filePath.includes","kind":"calls","metadata":{"unresolvedName":"filePath.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","to":"external:name.replace","kind":"calls","metadata":{"unresolvedName":"name.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:stdout\n .split(/\\r?\\n/)\n .map(line => line.trim())\n .filter","kind":"calls","metadata":{"unresolvedName":"stdout\n .split(/\\r?\\n/)\n .map(line => line.trim())\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:stdout\n .split(/\\r?\\n/)\n .map","kind":"calls","metadata":{"unresolvedName":"stdout\n .split(/\\r?\\n/)\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:stdout\n .split","kind":"calls","metadata":{"unresolvedName":"stdout\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:line.trim","kind":"calls","metadata":{"unresolvedName":"line.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:line.split","kind":"calls","metadata":{"unresolvedName":"line.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","kind":"calls","metadata":{"unresolvedName":"normalizeRemoteName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:rawName.startsWith","kind":"calls","metadata":{"unresolvedName":"rawName.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:name.startsWith","kind":"calls","metadata":{"unresolvedName":"name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","to":"external:branches.find","kind":"calls","metadata":{"unresolvedName":"branches.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:line.split","kind":"calls","metadata":{"unresolvedName":"line.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizeRemoteName","kind":"calls","metadata":{"unresolvedName":"normalizeRemoteName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:rawName.startsWith","kind":"calls","metadata":{"unresolvedName":"rawName.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:","to":"external:name.startsWith","kind":"calls","metadata":{"unresolvedName":"name.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","to":"external:line.includes","kind":"calls","metadata":{"unresolvedName":"line.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","to":"external:line.split('\\t').pop","kind":"calls","metadata":{"unresolvedName":"line.split('\\t').pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","to":"external:line.split","kind":"calls","metadata":{"unresolvedName":"line.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:stdout.split","kind":"calls","metadata":{"unresolvedName":"stdout.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.slice('# branch.head '.length).trim","kind":"calls","metadata":{"unresolvedName":"line.slice('# branch.head '.length).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.slice('# branch.upstream '.length).trim","kind":"calls","metadata":{"unresolvedName":"line.slice('# branch.upstream '.length).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.match","kind":"calls","metadata":{"unresolvedName":"line.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:parseStatusPath","kind":"calls","metadata":{"unresolvedName":"parseStatusPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:status.files.push","kind":"calls","metadata":{"unresolvedName":"status.files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","to":"external:line.slice(2).trim","kind":"calls","metadata":{"unresolvedName":"line.slice(2).trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","kind":"calls","metadata":{"unresolvedName":"assertSafeRefName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:checkoutGitBranch","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:assertSafeRefName","kind":"calls","metadata":{"unresolvedName":"assertSafeRefName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:createGitBranch","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","to":"external:request.paths.map","kind":"calls","metadata":{"unresolvedName":"request.paths.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","kind":"calls","metadata":{"unresolvedName":"normalizePaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:stageGitPaths","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:normalizePaths","kind":"calls","metadata":{"unresolvedName":"normalizePaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:unstageGitPaths","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges","to":"external:request.message.trim","kind":"calls","metadata":{"unresolvedName":"request.message.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:commitGitChanges","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pullGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pullGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pullGitBranch","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pushGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pushGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:pushGitBranch","to":"symbol-name:runner","kind":"calls","metadata":{"unresolvedName":"runner"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"module:./piagentui-server-core.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('[::1]')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('[::1]')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1:8080')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1:8080')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('192.168.1.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('192.168.1.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('example.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('example.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('0.0.0.0')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('0.0.0.0')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('10.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('10.0.0.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(sampleToken, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(sampleToken, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken('', sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken('', sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"calls","metadata":{"unresolvedName":"validateHostAndOrigin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost:5000', '')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost:5000', '')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(urls).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(urls).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('file:///tmp/key')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('file:///tmp/key')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('not a url')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('not a url')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('100')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('100')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('1048576')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('1048576')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('20000000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('20000000')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('[::1]')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('[::1]')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1:8080')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1:8080')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('192.168.1.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('192.168.1.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('example.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('example.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('0.0.0.0')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('0.0.0.0')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('10.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('10.0.0.1')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('[::1]')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('[::1]')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('localhost:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('localhost:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('127.0.0.1:8080')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('127.0.0.1:8080')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('192.168.1.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('192.168.1.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('example.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('example.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('0.0.0.0')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('0.0.0.0')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isLoopbackHost('10.0.0.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isLoopbackHost('10.0.0.1')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(sampleToken, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(sampleToken, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken('', sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken('', sampleToken)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken(sampleToken, sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken(sampleToken, sampleToken)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateBearerToken('', sampleToken)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateBearerToken('', sampleToken)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../index.html')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../index.html')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"calls","metadata":{"unresolvedName":"validateHostAndOrigin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost:5000', '')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost:5000', '')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"calls","metadata":{"unresolvedName":"validateHostAndOrigin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('localhost:5000', '')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('localhost:5000', '')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"calls","metadata":{"unresolvedName":"validateHostAndOrigin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(urls).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(urls).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(urls).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(urls).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(urls).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(urls).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('file:///tmp/key')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('file:///tmp/key')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('not a url')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('not a url')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('file:///tmp/key')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('file:///tmp/key')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(validateSttBaseUrl('not a url')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(validateSttBaseUrl('not a url')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('100')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('100')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('1048576')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('1048576')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('20000000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('20000000')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('100')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('100')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('1048576')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('1048576')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"external:expect(isRequestBodySizeAllowed('20000000')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isRequestBodySizeAllowed('20000000')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.startsWith","kind":"calls","metadata":{"unresolvedName":"host.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.indexOf","kind":"calls","metadata":{"unresolvedName":"host.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.slice","kind":"calls","metadata":{"unresolvedName":"host.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"host.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.match","kind":"calls","metadata":{"unresolvedName":"host.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","to":"external:host.includes","kind":"calls","metadata":{"unresolvedName":"host.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","to":"external:authHeader.startsWith","kind":"calls","metadata":{"unresolvedName":"authHeader.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","to":"external:authHeader.substring(7).trim","kind":"calls","metadata":{"unresolvedName":"authHeader.substring(7).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","to":"external:authHeader.substring","kind":"calls","metadata":{"unresolvedName":"authHeader.substring"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","to":"external:resolvedTarget.startsWith","kind":"calls","metadata":{"unresolvedName":"resolvedTarget.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOrigin","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","to":"external:host.startsWith","kind":"calls","metadata":{"unresolvedName":"host.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","to":"external:host.indexOf","kind":"calls","metadata":{"unresolvedName":"host.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","to":"external:host.slice","kind":"calls","metadata":{"unresolvedName":"host.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","to":"external:host.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"host.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","to":"external:host.match","kind":"calls","metadata":{"unresolvedName":"host.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getHostname","kind":"calls","metadata":{"unresolvedName":"getHostname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","to":"external:/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test","kind":"calls","metadata":{"unresolvedName":"/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","to":"external:name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","to":"external:normalizedName.includes","kind":"calls","metadata":{"unresolvedName":"normalizedName.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","to":"external:entry.mac.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"entry.mac.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","to":"external:entry.mac.toLowerCase","kind":"calls","metadata":{"unresolvedName":"entry.mac.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","kind":"calls","metadata":{"unresolvedName":"isAllowedLanHost"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isAllowedLanHost","kind":"calls","metadata":{"unresolvedName":"isAllowedLanHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLikelyVirtualInterface","kind":"calls","metadata":{"unresolvedName":"isLikelyVirtualInterface"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"external:fallbackUrls.add","kind":"calls","metadata":{"unresolvedName":"fallbackUrls.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"external:physicalUrls.add","kind":"calls","metadata":{"unresolvedName":"physicalUrls.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"external:Array.from(urls).sort","kind":"calls","metadata":{"unresolvedName":"Array.from(urls).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","to":"symbol-name:isNaN","kind":"calls","metadata":{"unresolvedName":"isNaN"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:node:http","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:node:child_process","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"module:./piagentui-server.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:afterAll","kind":"calls","metadata":{"unresolvedName":"afterAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.rmSync","kind":"calls","metadata":{"unresolvedName":"fs.rmSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:serverInit","kind":"calls","metadata":{"unresolvedName":"serverInit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(listeners['session_start']).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(listeners['session_start']).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(listeners['session_shutdown']).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(listeners['session_shutdown']).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:spawnSync","kind":"calls","metadata":{"unresolvedName":"spawnSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['session_shutdown']","kind":"calls","metadata":{"unresolvedName":"listeners['session_shutdown']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename(sessionPath)\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(sessionPath)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:options?.withSession","kind":"calls","metadata":{"unresolvedName":"options?.withSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['session_start']","kind":"calls","metadata":{"unresolvedName":"listeners['session_start']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockContext.ui.setWidget).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockContext.ui.setWidget).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.arrayContaining","kind":"calls","metadata":{"unresolvedName":"expect.arrayContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.stringContaining","kind":"calls","metadata":{"unresolvedName":"expect.stringContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(fs.existsSync(discoveryPath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fs.existsSync(discoveryPath)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(port).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(port).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(token).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(token).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(healthRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(healthRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:healthRes.json","kind":"calls","metadata":{"unresolvedName":"healthRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(healthData).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(healthData).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(unauthRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(unauthRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:modelsRes.json","kind":"calls","metadata":{"unresolvedName":"modelsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].outputLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:modelsData.models.find","kind":"calls","metadata":{"unresolvedName":"modelsData.models.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(legacyModel.contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(legacyModel.contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(legacyModel.outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(legacyModel.outputLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:networkRes.json","kind":"calls","metadata":{"unresolvedName":"networkRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(networkData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(Array.isArray(networkData.lanUrls)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(Array.isArray(networkData.lanUrls)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:networkEnableRes.json","kind":"calls","metadata":{"unresolvedName":"networkEnableRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.lanAccessEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.lanAccessEnabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.browserLanUrl).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.browserLanUrl).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).not.toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:nodeHttp.request","kind":"calls","metadata":{"unresolvedName":"nodeHttp.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.end","kind":"calls","metadata":{"unresolvedName":"req.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanModelsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lanModelsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanPageRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lanPageRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanPageRes.body).toContain","kind":"calls","metadata":{"unresolvedName":"expect(lanPageRes.body).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sttSettingsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sttSettingsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:sttSettingsRes.json","kind":"calls","metadata":{"unresolvedName":"sttSettingsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(initialSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(initialSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(initialSttSettings.apiKey).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(initialSttSettings.apiKey).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(saveSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(saveSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:saveSttRes.json","kind":"calls","metadata":{"unresolvedName":"saveSttRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(savedSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedSttSettings.apiKey).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(savedSttSettings.apiKey).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.method).toBe","kind":"calls","metadata":{"unresolvedName":"expect(init?.method).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect((init?.headers as Record).Authorization).toBe","kind":"calls","metadata":{"unresolvedName":"expect((init?.headers as Record).Authorization).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('model')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('model')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:body.get","kind":"calls","metadata":{"unresolvedName":"body.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('language')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('language')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('file')).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(body.get('file')).toBeInstanceOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:originalFetch.call","kind":"calls","metadata":{"unresolvedName":"originalFetch.call"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Buffer.byteLength","kind":"calls","metadata":{"unresolvedName":"Buffer.byteLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(transcriptionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(transcriptionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:transcriptionRes.json","kind":"calls","metadata":{"unresolvedName":"transcriptionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(transcriptionData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(transcriptionData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(providerFetch).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(providerFetch).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:keylessSttRes.json","kind":"calls","metadata":{"unresolvedName":"keylessSttRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttSettings.apiKeyRequired).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyRequired).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.headers).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(init?.headers).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessTranscriptionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessTranscriptionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(await keylessTranscriptionRes.json()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(await keylessTranscriptionRes.json()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:keylessTranscriptionRes.json","kind":"calls","metadata":{"unresolvedName":"keylessTranscriptionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(saveTtsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(saveTtsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:saveTtsRes.json","kind":"calls","metadata":{"unresolvedName":"saveTtsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedTtsSettings).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(savedTtsSettings).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(invalidSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(invalidSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commandsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:commandsRes.json","kind":"calls","metadata":{"unresolvedName":"commandsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsData.commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commandsData.commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsData.groups).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(commandsData.groups).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(skillsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:skillsRes.json","kind":"calls","metadata":{"unresolvedName":"skillsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:skillsData.skills.map","kind":"calls","metadata":{"unresolvedName":"skillsData.skills.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsData.skills[0].content).toContain","kind":"calls","metadata":{"unresolvedName":"expect(skillsData.skills[0].content).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsData.groups).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(skillsData.groups).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mcpRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:mcpRes.json","kind":"calls","metadata":{"unresolvedName":"mcpRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.configPaths).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.configPaths).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.servers.context7).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.servers.context7).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.servers.localTool).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.servers.localTool).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extensionsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:extensionsRes.json","kind":"calls","metadata":{"unresolvedName":"extensionsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsData.summary).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(extensionsData.summary).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsData.packages).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extensionsData.packages).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vcsStatusRes.json","kind":"calls","metadata":{"unresolvedName":"vcsStatusRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusData.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusData.files).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vcsBranchesRes.json","kind":"calls","metadata":{"unresolvedName":"vcsBranchesRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesData.branches).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesData.branches).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(stageRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(stageRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commitRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commitRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(await commitRes.json()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(await commitRes.json()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:commitRes.json","kind":"calls","metadata":{"unresolvedName":"commitRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(contextRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(contextRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:contextRes.json","kind":"calls","metadata":{"unresolvedName":"contextRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(contextData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(contextData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(inactiveContextRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(inactiveContextRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:inactiveContextRes.json","kind":"calls","metadata":{"unresolvedName":"inactiveContextRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(inactiveContextData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(inactiveContextData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:getSessionsRes.json","kind":"calls","metadata":{"unresolvedName":"getSessionsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsData.sessions).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsData.sessions).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:getSessionsData.sessions.map","kind":"calls","metadata":{"unresolvedName":"getSessionsData.sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(otherSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(otherSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:sessionsById.get","kind":"calls","metadata":{"unresolvedName":"sessionsById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(namedSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(namedSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(noopSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(noopSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:createSessionRes.json","kind":"calls","metadata":{"unresolvedName":"createSessionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.id).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.id).not.toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.directory).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.directory).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs\n .readdirSync(tempSessionDir)\n .filter","kind":"calls","metadata":{"unresolvedName":"fs\n .readdirSync(tempSessionDir)\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs\n .readdirSync","kind":"calls","metadata":{"unresolvedName":"fs\n .readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:file.endsWith","kind":"calls","metadata":{"unresolvedName":"file.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createdSessionFiles).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(createdSessionFiles).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createdSessionContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(createdSessionContent).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:projectDir.replace","kind":"calls","metadata":{"unresolvedName":"projectDir.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(switchSession).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(switchSession).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:switchSession.mockClear","kind":"calls","metadata":{"unresolvedName":"switchSession.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(abortRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(abortRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:abortRes.json","kind":"calls","metadata":{"unresolvedName":"abortRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(abortData).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(abortData).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockContext.abort).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockContext.abort).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sendRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sendRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockPi.sendUserMessage).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPi.sendUserMessage).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(switchSession).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(switchSession).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sendOtherRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sendOtherRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSetModel).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSetModel).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSendUserMessage).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSendUserMessage).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(missingSessionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(missingSessionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSendUserMessage).not.toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSendUserMessage).not.toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:switchSession.mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"switchSession.mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionPath).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionPath).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(noopSwitchRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(noopSwitchRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(cancelledSwitchRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(cancelledSwitchRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.appendFileSync","kind":"calls","metadata":{"unresolvedName":"fs.appendFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messagesRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:messagesRes.json","kind":"calls","metadata":{"unresolvedName":"messagesRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesData.messages).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(messagesData.messages).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesData.messages.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messagesData.messages.length).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:messagesData.messages.every","kind":"calls","metadata":{"unresolvedName":"messagesData.messages.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:assistantMsg.parts.filter((p: any) => p.type === 'tool').map","kind":"calls","metadata":{"unresolvedName":"assistantMsg.parts.filter((p: any) => p.type === 'tool').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:assistantMsg.parts.filter","kind":"calls","metadata":{"unresolvedName":"assistantMsg.parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:toolsById.get","kind":"calls","metadata":{"unresolvedName":"toolsById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(toolPart).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.callID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.callID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(chainedToolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(chainedToolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(chainedToolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(chainedToolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.error).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(eventsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(eventsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:eventsRes.body?.getReader","kind":"calls","metadata":{"unresolvedName":"eventsRes.body?.getReader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(reader).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(reader).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:reader?.read","kind":"calls","metadata":{"unresolvedName":"reader?.read"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text1).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text1).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text2).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text2).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['agent_start']","kind":"calls","metadata":{"unresolvedName":"listeners['agent_start']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text3).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text3).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:reader?.cancel","kind":"calls","metadata":{"unresolvedName":"reader?.cancel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.rmSync","kind":"calls","metadata":{"unresolvedName":"fs.rmSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:serverInit","kind":"calls","metadata":{"unresolvedName":"serverInit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(listeners['session_start']).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(listeners['session_start']).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(listeners['session_shutdown']).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(listeners['session_shutdown']).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:spawnSync","kind":"calls","metadata":{"unresolvedName":"spawnSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['session_shutdown']","kind":"calls","metadata":{"unresolvedName":"listeners['session_shutdown']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename(sessionPath)\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(sessionPath)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:options?.withSession","kind":"calls","metadata":{"unresolvedName":"options?.withSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['session_start']","kind":"calls","metadata":{"unresolvedName":"listeners['session_start']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockContext.ui.setWidget).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockContext.ui.setWidget).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.arrayContaining","kind":"calls","metadata":{"unresolvedName":"expect.arrayContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.stringContaining","kind":"calls","metadata":{"unresolvedName":"expect.stringContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(fs.existsSync(discoveryPath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fs.existsSync(discoveryPath)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(port).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(port).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(token).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(token).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(healthRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(healthRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:healthRes.json","kind":"calls","metadata":{"unresolvedName":"healthRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(healthData).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(healthData).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(unauthRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(unauthRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:modelsRes.json","kind":"calls","metadata":{"unresolvedName":"modelsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(modelsData.models[0].outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(modelsData.models[0].outputLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:modelsData.models.find","kind":"calls","metadata":{"unresolvedName":"modelsData.models.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(legacyModel.contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(legacyModel.contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(legacyModel.outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(legacyModel.outputLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:networkRes.json","kind":"calls","metadata":{"unresolvedName":"networkRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(networkData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(Array.isArray(networkData.lanUrls)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(Array.isArray(networkData.lanUrls)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:networkEnableRes.json","kind":"calls","metadata":{"unresolvedName":"networkEnableRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.lanAccessEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.lanAccessEnabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.browserLanUrl).toBe","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(networkEnableData.browserLanUrl).not.toContain","kind":"calls","metadata":{"unresolvedName":"expect(networkEnableData.browserLanUrl).not.toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:nodeHttp.request","kind":"calls","metadata":{"unresolvedName":"nodeHttp.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.end","kind":"calls","metadata":{"unresolvedName":"req.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanModelsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lanModelsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanPageRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lanPageRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(lanPageRes.body).toContain","kind":"calls","metadata":{"unresolvedName":"expect(lanPageRes.body).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sttSettingsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sttSettingsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:sttSettingsRes.json","kind":"calls","metadata":{"unresolvedName":"sttSettingsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(initialSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(initialSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(initialSttSettings.apiKey).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(initialSttSettings.apiKey).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(saveSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(saveSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:saveSttRes.json","kind":"calls","metadata":{"unresolvedName":"saveSttRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(savedSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedSttSettings.apiKey).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(savedSttSettings.apiKey).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.method).toBe","kind":"calls","metadata":{"unresolvedName":"expect(init?.method).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect((init?.headers as Record).Authorization).toBe","kind":"calls","metadata":{"unresolvedName":"expect((init?.headers as Record).Authorization).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('model')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('model')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:body.get","kind":"calls","metadata":{"unresolvedName":"body.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('language')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('language')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('file')).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(body.get('file')).toBeInstanceOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:originalFetch.call","kind":"calls","metadata":{"unresolvedName":"originalFetch.call"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Buffer.byteLength","kind":"calls","metadata":{"unresolvedName":"Buffer.byteLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(transcriptionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(transcriptionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:transcriptionRes.json","kind":"calls","metadata":{"unresolvedName":"transcriptionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(transcriptionData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(transcriptionData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(providerFetch).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(providerFetch).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:keylessSttRes.json","kind":"calls","metadata":{"unresolvedName":"keylessSttRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttSettings.apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessSttSettings.apiKeyRequired).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessSttSettings.apiKeyRequired).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.headers).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(init?.headers).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(keylessTranscriptionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keylessTranscriptionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(await keylessTranscriptionRes.json()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(await keylessTranscriptionRes.json()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:keylessTranscriptionRes.json","kind":"calls","metadata":{"unresolvedName":"keylessTranscriptionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(saveTtsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(saveTtsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:saveTtsRes.json","kind":"calls","metadata":{"unresolvedName":"saveTtsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(savedTtsSettings).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(savedTtsSettings).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(invalidSttRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(invalidSttRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commandsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:commandsRes.json","kind":"calls","metadata":{"unresolvedName":"commandsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsData.commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commandsData.commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commandsData.groups).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(commandsData.groups).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(skillsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:skillsRes.json","kind":"calls","metadata":{"unresolvedName":"skillsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:skillsData.skills.map","kind":"calls","metadata":{"unresolvedName":"skillsData.skills.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsData.skills[0].content).toContain","kind":"calls","metadata":{"unresolvedName":"expect(skillsData.skills[0].content).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(skillsData.groups).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(skillsData.groups).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mcpRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:mcpRes.json","kind":"calls","metadata":{"unresolvedName":"mcpRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.configPaths).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.configPaths).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.servers.context7).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.servers.context7).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mcpData.servers.localTool).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(mcpData.servers.localTool).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extensionsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:extensionsRes.json","kind":"calls","metadata":{"unresolvedName":"extensionsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsData.summary).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(extensionsData.summary).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(extensionsData.packages).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extensionsData.packages).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vcsStatusRes.json","kind":"calls","metadata":{"unresolvedName":"vcsStatusRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsStatusData.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(vcsStatusData.files).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:vcsBranchesRes.json","kind":"calls","metadata":{"unresolvedName":"vcsBranchesRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(vcsBranchesData.branches).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(vcsBranchesData.branches).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(stageRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(stageRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(commitRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commitRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(await commitRes.json()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(await commitRes.json()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:commitRes.json","kind":"calls","metadata":{"unresolvedName":"commitRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(contextRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(contextRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:contextRes.json","kind":"calls","metadata":{"unresolvedName":"contextRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(contextData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(contextData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(inactiveContextRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(inactiveContextRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:inactiveContextRes.json","kind":"calls","metadata":{"unresolvedName":"inactiveContextRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(inactiveContextData).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(inactiveContextData).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:getSessionsRes.json","kind":"calls","metadata":{"unresolvedName":"getSessionsRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsData.sessions).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsData.sessions).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:getSessionsData.sessions.map","kind":"calls","metadata":{"unresolvedName":"getSessionsData.sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(otherSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(otherSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:sessionsById.get","kind":"calls","metadata":{"unresolvedName":"sessionsById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(namedSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(namedSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionsById.get(noopSessionId)?.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionsById.get(noopSessionId)?.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:createSessionRes.json","kind":"calls","metadata":{"unresolvedName":"createSessionRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.id).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.id).not.toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.title).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.title).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createSessionData.directory).toBe","kind":"calls","metadata":{"unresolvedName":"expect(createSessionData.directory).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs\n .readdirSync(tempSessionDir)\n .filter","kind":"calls","metadata":{"unresolvedName":"fs\n .readdirSync(tempSessionDir)\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs\n .readdirSync","kind":"calls","metadata":{"unresolvedName":"fs\n .readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:file.endsWith","kind":"calls","metadata":{"unresolvedName":"file.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createdSessionFiles).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(createdSessionFiles).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(createdSessionContent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(createdSessionContent).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:projectDir.replace","kind":"calls","metadata":{"unresolvedName":"projectDir.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(switchSession).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(switchSession).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:switchSession.mockClear","kind":"calls","metadata":{"unresolvedName":"switchSession.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(abortRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(abortRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:abortRes.json","kind":"calls","metadata":{"unresolvedName":"abortRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(abortData).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(abortData).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockContext.abort).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockContext.abort).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sendRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sendRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(mockPi.sendUserMessage).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPi.sendUserMessage).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(switchSession).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(switchSession).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sendOtherRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sendOtherRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSetModel).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSetModel).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSendUserMessage).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSendUserMessage).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(missingSessionRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(missingSessionRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(replacedSendUserMessage).not.toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(replacedSendUserMessage).not.toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:switchSession.mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"switchSession.mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionPath).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionPath).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(noopSwitchRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(noopSwitchRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(cancelledSwitchRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(cancelledSwitchRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:fs.appendFileSync","kind":"calls","metadata":{"unresolvedName":"fs.appendFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messagesRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:messagesRes.json","kind":"calls","metadata":{"unresolvedName":"messagesRes.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesData.messages).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(messagesData.messages).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(messagesData.messages.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messagesData.messages.length).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:messagesData.messages.every","kind":"calls","metadata":{"unresolvedName":"messagesData.messages.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:assistantMsg.parts.filter((p: any) => p.type === 'tool').map","kind":"calls","metadata":{"unresolvedName":"assistantMsg.parts.filter((p: any) => p.type === 'tool').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:assistantMsg.parts.filter","kind":"calls","metadata":{"unresolvedName":"assistantMsg.parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:toolsById.get","kind":"calls","metadata":{"unresolvedName":"toolsById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(toolPart).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.callID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.callID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(toolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(chainedToolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(chainedToolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(chainedToolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(chainedToolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.output).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.output).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(failedChainedToolPart.state.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(failedChainedToolPart.state.error).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(eventsRes.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(eventsRes.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:eventsRes.body?.getReader","kind":"calls","metadata":{"unresolvedName":"eventsRes.body?.getReader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(reader).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(reader).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:reader?.read","kind":"calls","metadata":{"unresolvedName":"reader?.read"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text1).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text1).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text2).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text2).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['agent_start']","kind":"calls","metadata":{"unresolvedName":"listeners['agent_start']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(text3).toContain","kind":"calls","metadata":{"unresolvedName":"expect(text3).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:reader?.cancel","kind":"calls","metadata":{"unresolvedName":"reader?.cancel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:on","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:on","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:listeners['session_shutdown']","kind":"calls","metadata":{"unresolvedName":"listeners['session_shutdown']"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename(sessionPath)\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(sessionPath)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:options?.withSession","kind":"calls","metadata":{"unresolvedName":"options?.withSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:nodeHttp.request","kind":"calls","metadata":{"unresolvedName":"nodeHttp.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.end","kind":"calls","metadata":{"unresolvedName":"req.end"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:nodeHttp.request","kind":"calls","metadata":{"unresolvedName":"nodeHttp.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:req.end","kind":"calls","metadata":{"unresolvedName":"req.end"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.setEncoding","kind":"calls","metadata":{"unresolvedName":"response.setEncoding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:response.on","kind":"calls","metadata":{"unresolvedName":"response.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.method).toBe","kind":"calls","metadata":{"unresolvedName":"expect(init?.method).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect((init?.headers as Record).Authorization).toBe","kind":"calls","metadata":{"unresolvedName":"expect((init?.headers as Record).Authorization).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('model')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('model')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:body.get","kind":"calls","metadata":{"unresolvedName":"body.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('language')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(body.get('language')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(body.get('file')).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(body.get('file')).toBeInstanceOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:originalFetch.call","kind":"calls","metadata":{"unresolvedName":"originalFetch.call"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(init?.headers).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(init?.headers).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:originalFetch.call","kind":"calls","metadata":{"unresolvedName":"originalFetch.call"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionPath).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionPath).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"external:expect(sessionPath).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionPath).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:@mariozechner/pi-coding-agent","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:ws","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:node:http","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"external:node:crypto","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"module:./piagentui-server-core.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"module:./piagentui-settings-store.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"module:./piagentui-extension-manager.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"module:./piagentui-git-manager.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:messageIds.get","kind":"calls","metadata":{"unresolvedName":"messageIds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","to":"external:messageIds.set","kind":"calls","metadata":{"unresolvedName":"messageIds.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isVisibleChatRole","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isVisibleChatRole","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","to":"external:message.content\n .filter((c: any) => c && c.type === 'text')\n .map","kind":"calls","metadata":{"unresolvedName":"message.content\n .filter((c: any) => c && c.type === 'text')\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageText","to":"external:message.content\n .filter","kind":"calls","metadata":{"unresolvedName":"message.content\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeCommandApiSource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeCommandApiSource","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:categoryForCommandSource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:categoryForCommandSource","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:pi.getCommands","kind":"calls","metadata":{"unresolvedName":"pi.getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:commands.set","kind":"calls","metadata":{"unresolvedName":"commands.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:commands.has","kind":"calls","metadata":{"unresolvedName":"commands.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeCommandApiSource","kind":"calls","metadata":{"unresolvedName":"normalizeCommandApiSource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:categoryForCommandSource","kind":"calls","metadata":{"unresolvedName":"categoryForCommandSource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:[...commands.values()].sort","kind":"calls","metadata":{"unresolvedName":"[...commands.values()].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:commands.values","kind":"calls","metadata":{"unresolvedName":"commands.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","to":"external:commands.reduce","kind":"calls","metadata":{"unresolvedName":"commands.reduce"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","to":"external:text\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace","kind":"calls","metadata":{"unresolvedName":"text\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","to":"external:text\n .replace(/'/g, \"'\")\n .replace","kind":"calls","metadata":{"unresolvedName":"text\n .replace(/'/g, \"'\")\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","to":"external:text\n .replace","kind":"calls","metadata":{"unresolvedName":"text\n .replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","to":"external:path\n .resolve(value || '')\n .replace(/\\\\/g, '/')\n .toLowerCase","kind":"calls","metadata":{"unresolvedName":"path\n .resolve(value || '')\n .replace(/\\\\/g, '/')\n .toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","to":"external:path\n .resolve(value || '')\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .resolve(value || '')\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","to":"external:path\n .resolve","kind":"calls","metadata":{"unresolvedName":"path\n .resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeComparablePath","kind":"calls","metadata":{"unresolvedName":"normalizeComparablePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","to":"external:normalizedLocation.includes","kind":"calls","metadata":{"unresolvedName":"normalizedLocation.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","to":"external:normalizedLocation.startsWith","kind":"calls","metadata":{"unresolvedName":"normalizedLocation.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:prompt.matchAll","kind":"calls","metadata":{"unresolvedName":"prompt.matchAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:decodeXml","kind":"calls","metadata":{"unresolvedName":"decodeXml"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:match[3]?.trim","kind":"calls","metadata":{"unresolvedName":"match[3]?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:skills.push","kind":"calls","metadata":{"unresolvedName":"skills.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:match[1]?.trim","kind":"calls","metadata":{"unresolvedName":"match[1]?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"external:match[2]?.trim","kind":"calls","metadata":{"unresolvedName":"match[2]?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:classifySkillSource","kind":"calls","metadata":{"unresolvedName":"classifySkillSource"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","to":"external:skills.reduce","kind":"calls","metadata":{"unresolvedName":"skills.reduce"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getHomeDir","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getHomeDir","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonFile","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","to":"symbol-name:getHomeDir","kind":"calls","metadata":{"unresolvedName":"getHomeDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpTransport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpTransport","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","to":"external:config.args.map","kind":"calls","metadata":{"unresolvedName":"config.args.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpTransport","kind":"calls","metadata":{"unresolvedName":"normalizeMcpTransport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMcpConfigCandidates","kind":"calls","metadata":{"unresolvedName":"getMcpConfigCandidates"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","to":"symbol-name:readJsonFile","kind":"calls","metadata":{"unresolvedName":"readJsonFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","to":"external:configPaths.push","kind":"calls","metadata":{"unresolvedName":"configPaths.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeMcpServer","kind":"calls","metadata":{"unresolvedName":"normalizeMcpServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sendQueue.catch(() => undefined).then","kind":"calls","metadata":{"unresolvedName":"sendQueue.catch(() => undefined).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sendQueue.catch","kind":"calls","metadata":{"unresolvedName":"sendQueue.catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:run.then","kind":"calls","metadata":{"unresolvedName":"run.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx?.sessionManager?.getSessionId","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx?.sessionManager?.getSessionDir","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.readdirSync(sessionDir).filter","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync(sessionDir).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.readdirSync","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:f.endsWith","kind":"calls","metadata":{"unresolvedName":"f.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:files.find","kind":"calls","metadata":{"unresolvedName":"files.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sessionId.slice","kind":"calls","metadata":{"unresolvedName":"sessionId.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:randomUUID","kind":"calls","metadata":{"unresolvedName":"randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:randomUUID().slice","kind":"calls","metadata":{"unresolvedName":"randomUUID().slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","kind":"calls","metadata":{"unresolvedName":"createSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:timestamp.replace","kind":"calls","metadata":{"unresolvedName":"timestamp.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"calls","metadata":{"unresolvedName":"normalizeSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entries.push","kind":"calls","metadata":{"unresolvedName":"entries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","kind":"calls","metadata":{"unresolvedName":"createSessionEntryId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entries.join","kind":"calls","metadata":{"unresolvedName":"entries.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","kind":"calls","metadata":{"unresolvedName":"createRealSessionFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx.switchSession","kind":"calls","metadata":{"unresolvedName":"latestCtx.switchSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"calls","metadata":{"unresolvedName":"readSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:getSessionInfo","kind":"calls","metadata":{"unresolvedName":"getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path\n .basename(sessionFile)\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(sessionFile)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:title\n .split('')\n .map","kind":"calls","metadata":{"unresolvedName":"title\n .split('')\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:title\n .split","kind":"calls","metadata":{"unresolvedName":"title\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:char.charCodeAt","kind":"calls","metadata":{"unresolvedName":"char.charCodeAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:content.trim().split('\\n').filter","kind":"calls","metadata":{"unresolvedName":"content.trim().split('\\n').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:content.trim().split","kind":"calls","metadata":{"unresolvedName":"content.trim().split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:content.trim","kind":"calls","metadata":{"unresolvedName":"content.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:lines.slice","kind":"calls","metadata":{"unresolvedName":"lines.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:new Date(header.timestamp).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(header.timestamp).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"getFallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Number.isNaN","kind":"calls","metadata":{"unresolvedName":"Number.isNaN"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ctx.modelRegistry?.find","kind":"calls","metadata":{"unresolvedName":"ctx.modelRegistry?.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ctx.setModel","kind":"calls","metadata":{"unresolvedName":"ctx.setModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:pi.setModel","kind":"calls","metadata":{"unresolvedName":"pi.setModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"calls","metadata":{"unresolvedName":"setRequestedModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:pi.sendUserMessage","kind":"calls","metadata":{"unresolvedName":"pi.sendUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:p.catch","kind":"calls","metadata":{"unresolvedName":"p.catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"calls","metadata":{"unresolvedName":"getSessionFileForId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:replacedCtx.sendUserMessage","kind":"calls","metadata":{"unresolvedName":"replacedCtx.sendUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx.isIdle","kind":"calls","metadata":{"unresolvedName":"latestCtx.isIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.write","kind":"calls","metadata":{"unresolvedName":"res.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join","kind":"calls","metadata":{"unresolvedName":"Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"calls","metadata":{"unresolvedName":"createPiAgentUiSettingsStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"calls","metadata":{"unresolvedName":"resolvePiAgentUiSettingsPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:settingsStore.getSettings","kind":"calls","metadata":{"unresolvedName":"settingsStore.getSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:settingsStore.saveSettings","kind":"calls","metadata":{"unresolvedName":"settingsStore.saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl","kind":"calls","metadata":{"unresolvedName":"buildBrowserUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.baseUrl.replace","kind":"calls","metadata":{"unresolvedName":"update.baseUrl.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.transcriptionEndpoint.startsWith","kind":"calls","metadata":{"unresolvedName":"update.transcriptionEndpoint.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.transcriptionModel.trim","kind":"calls","metadata":{"unresolvedName":"update.transcriptionModel.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.language.trim","kind":"calls","metadata":{"unresolvedName":"update.language.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Object.prototype.hasOwnProperty.call","kind":"calls","metadata":{"unresolvedName":"Object.prototype.hasOwnProperty.call"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.apiKey.trim","kind":"calls","metadata":{"unresolvedName":"update.apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"calls","metadata":{"unresolvedName":"saveLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"calls","metadata":{"unresolvedName":"isTtsResponseFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.speechEndpoint.startsWith","kind":"calls","metadata":{"unresolvedName":"update.speechEndpoint.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.model.trim","kind":"calls","metadata":{"unresolvedName":"update.model.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:update.voice.trim","kind":"calls","metadata":{"unresolvedName":"update.voice.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:chunks.push","kind":"calls","metadata":{"unresolvedName":"chunks.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.isBuffer","kind":"calls","metadata":{"unresolvedName":"Buffer.isBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.concat","kind":"calls","metadata":{"unresolvedName":"Buffer.concat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:contentType?.match","kind":"calls","metadata":{"unresolvedName":"contentType?.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.toString","kind":"calls","metadata":{"unresolvedName":"body.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:rawBody.split","kind":"calls","metadata":{"unresolvedName":"rawBody.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:rawPart.replace","kind":"calls","metadata":{"unresolvedName":"rawPart.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:part.indexOf","kind":"calls","metadata":{"unresolvedName":"part.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:part.slice","kind":"calls","metadata":{"unresolvedName":"part.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:part\n .slice(headerEnd + 4)\n .replace","kind":"calls","metadata":{"unresolvedName":"part\n .slice(headerEnd + 4)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:part\n .slice","kind":"calls","metadata":{"unresolvedName":"part\n .slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:rawHeaders.match","kind":"calls","metadata":{"unresolvedName":"rawHeaders.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:disposition.match","kind":"calls","metadata":{"unresolvedName":"disposition.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim","kind":"calls","metadata":{"unresolvedName":"rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:form.set","kind":"calls","metadata":{"unresolvedName":"form.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","kind":"calls","metadata":{"unresolvedName":"readRequestBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","kind":"calls","metadata":{"unresolvedName":"readMultipartFormData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:inputForm.get","kind":"calls","metadata":{"unresolvedName":"inputForm.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:providerForm.set","kind":"calls","metadata":{"unresolvedName":"providerForm.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:(settings.baseUrl || 'https://api.openai.com/v1').replace","kind":"calls","metadata":{"unresolvedName":"(settings.baseUrl || 'https://api.openai.com/v1').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:providerRes.text","kind":"calls","metadata":{"unresolvedName":"providerRes.text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"calls","metadata":{"unresolvedName":"readJsonBody"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:requestBody.input.trim","kind":"calls","metadata":{"unresolvedName":"requestBody.input.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:providerRes.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"providerRes.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:providerRes.headers.get","kind":"calls","metadata":{"unresolvedName":"providerRes.headers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.statSync(filePath).isDirectory","kind":"calls","metadata":{"unresolvedName":"fs.statSync(filePath).isDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.extname(targetFile).toLowerCase","kind":"calls","metadata":{"unresolvedName":"path.extname(targetFile).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.extname","kind":"calls","metadata":{"unresolvedName":"path.extname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","kind":"calls","metadata":{"unresolvedName":"serveIndexHtml"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.extname(filePath).toLowerCase","kind":"calls","metadata":{"unresolvedName":"path.extname(filePath).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.createReadStream(filePath).pipe","kind":"calls","metadata":{"unresolvedName":"fs.createReadStream(filePath).pipe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.createReadStream","kind":"calls","metadata":{"unresolvedName":"fs.createReadStream"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:content.includes","kind":"calls","metadata":{"unresolvedName":"content.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:content.replace","kind":"calls","metadata":{"unresolvedName":"content.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","kind":"calls","metadata":{"unresolvedName":"checkAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sseClients.delete","kind":"calls","metadata":{"unresolvedName":"sseClients.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sseClients.add","kind":"calls","metadata":{"unresolvedName":"sseClients.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:pathname.split('/').filter","kind":"calls","metadata":{"unresolvedName":"pathname.split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:pathname.split","kind":"calls","metadata":{"unresolvedName":"pathname.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"calls","metadata":{"unresolvedName":"getNetworkAccessInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:updateTtsSettings","kind":"calls","metadata":{"unresolvedName":"updateTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:parsedUrl.searchParams.get","kind":"calls","metadata":{"unresolvedName":"parsedUrl.searchParams.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"calls","metadata":{"unresolvedName":"buildExtensionCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"calls","metadata":{"unresolvedName":"executeExtensionInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"calls","metadata":{"unresolvedName":"executeExtensionPackageRemoval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:synthesizeSpeech","kind":"calls","metadata":{"unresolvedName":"synthesizeSpeech"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","kind":"calls","metadata":{"unresolvedName":"parseSkillsFromSystemPrompt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx?.getSystemPrompt","kind":"calls","metadata":{"unresolvedName":"latestCtx?.getSystemPrompt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","kind":"calls","metadata":{"unresolvedName":"countSkillsBySource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","kind":"calls","metadata":{"unresolvedName":"loadMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx?.modelRegistry?.getAvailable","kind":"calls","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx?.modelRegistry?.getAll","kind":"calls","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:m.input?.includes","kind":"calls","metadata":{"unresolvedName":"m.input?.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:registryModels.map","kind":"calls","metadata":{"unresolvedName":"registryModels.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:registryModels.find","kind":"calls","metadata":{"unresolvedName":"registryModels.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:mapModel","kind":"calls","metadata":{"unresolvedName":"mapModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:models.unshift","kind":"calls","metadata":{"unresolvedName":"models.unshift"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx.abort","kind":"calls","metadata":{"unresolvedName":"latestCtx.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"calls","metadata":{"unresolvedName":"createAndSwitchToRealSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx.getContextUsage","kind":"calls","metadata":{"unresolvedName":"latestCtx.getContextUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:files.map","kind":"calls","metadata":{"unresolvedName":"files.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:filesWithTime.sort","kind":"calls","metadata":{"unresolvedName":"filesWithTime.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:line.trim","kind":"calls","metadata":{"unresolvedName":"line.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:isVisibleChatRole","kind":"calls","metadata":{"unresolvedName":"isVisibleChatRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:messageMap.has","kind":"calls","metadata":{"unresolvedName":"messageMap.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:new Date(entry.timestamp).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(entry.timestamp).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:messageMap.set","kind":"calls","metadata":{"unresolvedName":"messageMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:orderedMessageIds.push","kind":"calls","metadata":{"unresolvedName":"orderedMessageIds.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:messageMap.get","kind":"calls","metadata":{"unresolvedName":"messageMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:msgObj.parts.push","kind":"calls","metadata":{"unresolvedName":"msgObj.parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:toolCallMessageIds.set","kind":"calls","metadata":{"unresolvedName":"toolCallMessageIds.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:toolCallMessageIds.get","kind":"calls","metadata":{"unresolvedName":"toolCallMessageIds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:parentMsg.parts.find","kind":"calls","metadata":{"unresolvedName":"parentMsg.parts.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entry.message.content\n .filter","kind":"calls","metadata":{"unresolvedName":"entry.message.content\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:parentMsg.parts.push","kind":"calls","metadata":{"unresolvedName":"parentMsg.parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:orderedMessageIds.map","kind":"calls","metadata":{"unresolvedName":"orderedMessageIds.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:msgObj.parts\n .filter","kind":"calls","metadata":{"unresolvedName":"msgObj.parts\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sessions.push","kind":"calls","metadata":{"unresolvedName":"sessions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sessions.sort","kind":"calls","metadata":{"unresolvedName":"sessions.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"calls","metadata":{"unresolvedName":"enqueueSessionSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"calls","metadata":{"unresolvedName":"sendUserMessageToRequestedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","kind":"calls","metadata":{"unresolvedName":"getAvailableCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","kind":"calls","metadata":{"unresolvedName":"countCommandsBySource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","kind":"calls","metadata":{"unresolvedName":"sendGitAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"calls","metadata":{"unresolvedName":"listGitBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.relative(targetDir, fullEntryPath).replace","kind":"calls","metadata":{"unresolvedName":"path.relative(targetDir, fullEntryPath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.relative","kind":"calls","metadata":{"unresolvedName":"path.relative"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entry.isFile","kind":"calls","metadata":{"unresolvedName":"entry.isFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entry.isDirectory","kind":"calls","metadata":{"unresolvedName":"entry.isDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:http.createServer","kind":"calls","metadata":{"unresolvedName":"http.createServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.once","kind":"calls","metadata":{"unresolvedName":"probe.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.close","kind":"calls","metadata":{"unresolvedName":"probe.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.listen","kind":"calls","metadata":{"unresolvedName":"probe.listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"calls","metadata":{"unresolvedName":"canReserveLoopbackPort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"calls","metadata":{"unresolvedName":"tryListen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.once","kind":"calls","metadata":{"unresolvedName":"srv.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.listen","kind":"calls","metadata":{"unresolvedName":"srv.listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ctx.ui.setWidget","kind":"calls","metadata":{"unresolvedName":"ctx.ui.setWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"calls","metadata":{"unresolvedName":"setWebLinkWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","kind":"calls","metadata":{"unresolvedName":"generateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:urlPath.startsWith","kind":"calls","metadata":{"unresolvedName":"urlPath.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:handleApiRequest(req, res).catch","kind":"calls","metadata":{"unresolvedName":"handleApiRequest(req, res).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"calls","metadata":{"unresolvedName":"handleApiRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"calls","metadata":{"unresolvedName":"handleStaticFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:server.on","kind":"calls","metadata":{"unresolvedName":"server.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:socket.write","kind":"calls","metadata":{"unresolvedName":"socket.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:socket.destroy","kind":"calls","metadata":{"unresolvedName":"socket.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss!.handleUpgrade","kind":"calls","metadata":{"unresolvedName":"wss!.handleUpgrade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss!.emit","kind":"calls","metadata":{"unresolvedName":"wss!.emit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss.on","kind":"calls","metadata":{"unresolvedName":"wss.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.add","kind":"calls","metadata":{"unresolvedName":"clients.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.delete","kind":"calls","metadata":{"unresolvedName":"clients.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then","kind":"calls","metadata":{"unresolvedName":"listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","kind":"calls","metadata":{"unresolvedName":"listenOnAvailablePort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:latestCtx.ui.setWidget","kind":"calls","metadata":{"unresolvedName":"latestCtx.ui.setWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.unlinkSync","kind":"calls","metadata":{"unresolvedName":"fs.unlinkSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sseClients.clear","kind":"calls","metadata":{"unresolvedName":"sseClients.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.clear","kind":"calls","metadata":{"unresolvedName":"createdParts.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:client.close","kind":"calls","metadata":{"unresolvedName":"client.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.clear","kind":"calls","metadata":{"unresolvedName":"clients.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss.close","kind":"calls","metadata":{"unresolvedName":"wss.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:server.close","kind":"calls","metadata":{"unresolvedName":"server.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:pi.on","kind":"calls","metadata":{"unresolvedName":"pi.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","kind":"calls","metadata":{"unresolvedName":"startServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ctx.sessionManager?.getSessionId","kind":"calls","metadata":{"unresolvedName":"ctx.sessionManager?.getSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","kind":"calls","metadata":{"unresolvedName":"stopServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"calls","metadata":{"unresolvedName":"broadcastSessionUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"calls","metadata":{"unresolvedName":"getMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.has","kind":"calls","metadata":{"unresolvedName":"createdParts.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.add","kind":"calls","metadata":{"unresolvedName":"createdParts.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","to":"external:sendQueue.catch(() => undefined).then","kind":"calls","metadata":{"unresolvedName":"sendQueue.catch(() => undefined).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","to":"external:sendQueue.catch","kind":"calls","metadata":{"unresolvedName":"sendQueue.catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","to":"external:run.then","kind":"calls","metadata":{"unresolvedName":"run.then"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","to":"external:latestCtx?.sessionManager?.getSessionId","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:latestCtx?.sessionManager?.getSessionDir","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:fs.readdirSync(sessionDir).filter","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync(sessionDir).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:fs.readdirSync","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:f.endsWith","kind":"calls","metadata":{"unresolvedName":"f.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:files.find","kind":"calls","metadata":{"unresolvedName":"files.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","to":"external:sessionId.slice","kind":"calls","metadata":{"unresolvedName":"sessionId.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","to":"symbol-name:randomUUID","kind":"calls","metadata":{"unresolvedName":"randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","to":"external:randomUUID().slice","kind":"calls","metadata":{"unresolvedName":"randomUUID().slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","to":"symbol-name:randomUUID","kind":"calls","metadata":{"unresolvedName":"randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:latestCtx?.sessionManager?.getSessionDir","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionId","kind":"calls","metadata":{"unresolvedName":"createSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:timestamp.replace","kind":"calls","metadata":{"unresolvedName":"timestamp.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"calls","metadata":{"unresolvedName":"normalizeSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:entries.push","kind":"calls","metadata":{"unresolvedName":"entries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createSessionEntryId","kind":"calls","metadata":{"unresolvedName":"createSessionEntryId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","to":"external:entries.join","kind":"calls","metadata":{"unresolvedName":"entries.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createRealSessionFile","kind":"calls","metadata":{"unresolvedName":"createRealSessionFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"external:latestCtx.switchSession","kind":"calls","metadata":{"unresolvedName":"latestCtx.switchSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"calls","metadata":{"unresolvedName":"readSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"symbol-name:getSessionInfo","kind":"calls","metadata":{"unresolvedName":"getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"external:path\n .basename(sessionFile)\n .replace","kind":"calls","metadata":{"unresolvedName":"path\n .basename(sessionFile)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","to":"external:path\n .basename","kind":"calls","metadata":{"unresolvedName":"path\n .basename"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","to":"external:title\n .split('')\n .map","kind":"calls","metadata":{"unresolvedName":"title\n .split('')\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","to":"external:title\n .split","kind":"calls","metadata":{"unresolvedName":"title\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","to":"external:char.charCodeAt","kind":"calls","metadata":{"unresolvedName":"char.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:char.charCodeAt","kind":"calls","metadata":{"unresolvedName":"char.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:content.trim().split('\\n').filter","kind":"calls","metadata":{"unresolvedName":"content.trim().split('\\n').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:content.trim().split","kind":"calls","metadata":{"unresolvedName":"content.trim().split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:content.trim","kind":"calls","metadata":{"unresolvedName":"content.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:lines.slice","kind":"calls","metadata":{"unresolvedName":"lines.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:normalizeSessionTitle","kind":"calls","metadata":{"unresolvedName":"normalizeSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:new Date(header.timestamp).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(header.timestamp).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"getFallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","to":"external:Number.isNaN","kind":"calls","metadata":{"unresolvedName":"Number.isNaN"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","to":"external:ctx.modelRegistry?.find","kind":"calls","metadata":{"unresolvedName":"ctx.modelRegistry?.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","to":"external:ctx.setModel","kind":"calls","metadata":{"unresolvedName":"ctx.setModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","to":"external:pi.setModel","kind":"calls","metadata":{"unresolvedName":"pi.setModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"calls","metadata":{"unresolvedName":"setRequestedModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"external:pi.sendUserMessage","kind":"calls","metadata":{"unresolvedName":"pi.sendUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"external:p.catch","kind":"calls","metadata":{"unresolvedName":"p.catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"calls","metadata":{"unresolvedName":"getSessionFileForId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"external:latestCtx.switchSession","kind":"calls","metadata":{"unresolvedName":"latestCtx.switchSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","to":"external:replacedCtx.sendUserMessage","kind":"calls","metadata":{"unresolvedName":"replacedCtx.sendUserMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setRequestedModel","kind":"calls","metadata":{"unresolvedName":"setRequestedModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:withSession","to":"external:replacedCtx.sendUserMessage","kind":"calls","metadata":{"unresolvedName":"replacedCtx.sendUserMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionFileForId","kind":"calls","metadata":{"unresolvedName":"getSessionFileForId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"calls","metadata":{"unresolvedName":"readSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getFallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"getFallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getSessionInfo","to":"external:latestCtx.isIdle","kind":"calls","metadata":{"unresolvedName":"latestCtx.isIdle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","to":"symbol-name:getSessionInfo","kind":"calls","metadata":{"unresolvedName":"getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","to":"external:res.write","kind":"calls","metadata":{"unresolvedName":"res.write"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","to":"external:Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join","kind":"calls","metadata":{"unresolvedName":"Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","to":"external:settingsStore.getSettings","kind":"calls","metadata":{"unresolvedName":"settingsStore.getSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","to":"external:settingsStore.saveSettings","kind":"calls","metadata":{"unresolvedName":"settingsStore.saveSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:getLocalNetworkUrls","kind":"calls","metadata":{"unresolvedName":"getLocalNetworkUrls"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:buildBrowserUrl","kind":"calls","metadata":{"unresolvedName":"buildBrowserUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveSttSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:update.baseUrl.replace","kind":"calls","metadata":{"unresolvedName":"update.baseUrl.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:update.transcriptionEndpoint.startsWith","kind":"calls","metadata":{"unresolvedName":"update.transcriptionEndpoint.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:update.transcriptionModel.trim","kind":"calls","metadata":{"unresolvedName":"update.transcriptionModel.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:update.language.trim","kind":"calls","metadata":{"unresolvedName":"update.language.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:Object.prototype.hasOwnProperty.call","kind":"calls","metadata":{"unresolvedName":"Object.prototype.hasOwnProperty.call"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"external:update.apiKey.trim","kind":"calls","metadata":{"unresolvedName":"update.apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"calls","metadata":{"unresolvedName":"saveLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateSttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeSttSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"calls","metadata":{"unresolvedName":"isTtsResponseFormat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:update.baseUrl.replace","kind":"calls","metadata":{"unresolvedName":"update.baseUrl.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:update.speechEndpoint.startsWith","kind":"calls","metadata":{"unresolvedName":"update.speechEndpoint.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:update.model.trim","kind":"calls","metadata":{"unresolvedName":"update.model.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:update.voice.trim","kind":"calls","metadata":{"unresolvedName":"update.voice.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"calls","metadata":{"unresolvedName":"isTtsResponseFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:Object.prototype.hasOwnProperty.call","kind":"calls","metadata":{"unresolvedName":"Object.prototype.hasOwnProperty.call"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"external:update.apiKey.trim","kind":"calls","metadata":{"unresolvedName":"update.apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"calls","metadata":{"unresolvedName":"saveLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:updateTtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeTtsSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"external:chunks.push","kind":"calls","metadata":{"unresolvedName":"chunks.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"external:Buffer.isBuffer","kind":"calls","metadata":{"unresolvedName":"Buffer.isBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","to":"external:Buffer.concat","kind":"calls","metadata":{"unresolvedName":"Buffer.concat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:chunks.push","kind":"calls","metadata":{"unresolvedName":"chunks.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.isBuffer","kind":"calls","metadata":{"unresolvedName":"Buffer.isBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Buffer.concat","kind":"calls","metadata":{"unresolvedName":"Buffer.concat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:contentType?.match","kind":"calls","metadata":{"unresolvedName":"contentType?.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:body.toString","kind":"calls","metadata":{"unresolvedName":"body.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:rawBody.split","kind":"calls","metadata":{"unresolvedName":"rawBody.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:rawPart.replace","kind":"calls","metadata":{"unresolvedName":"rawPart.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:part.indexOf","kind":"calls","metadata":{"unresolvedName":"part.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:part.slice","kind":"calls","metadata":{"unresolvedName":"part.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:part\n .slice(headerEnd + 4)\n .replace","kind":"calls","metadata":{"unresolvedName":"part\n .slice(headerEnd + 4)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:part\n .slice","kind":"calls","metadata":{"unresolvedName":"part\n .slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:rawHeaders.match","kind":"calls","metadata":{"unresolvedName":"rawHeaders.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:disposition.match","kind":"calls","metadata":{"unresolvedName":"disposition.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim","kind":"calls","metadata":{"unresolvedName":"rawHeaders.match(/content-type:\\s*([^\\r\\n]+)/i)?.[1]?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:form.set","kind":"calls","metadata":{"unresolvedName":"form.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveSttSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readRequestBuffer","kind":"calls","metadata":{"unresolvedName":"readRequestBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readMultipartFormData","kind":"calls","metadata":{"unresolvedName":"readMultipartFormData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:inputForm.get","kind":"calls","metadata":{"unresolvedName":"inputForm.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:providerForm.set","kind":"calls","metadata":{"unresolvedName":"providerForm.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:(settings.baseUrl || 'https://api.openai.com/v1').replace","kind":"calls","metadata":{"unresolvedName":"(settings.baseUrl || 'https://api.openai.com/v1').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:providerRes.text","kind":"calls","metadata":{"unresolvedName":"providerRes.text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:transcribeAudio","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:Buffer.from","kind":"calls","metadata":{"unresolvedName":"Buffer.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getEffectiveTtsSettings","kind":"calls","metadata":{"unresolvedName":"getEffectiveTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateSttBaseUrl","kind":"calls","metadata":{"unresolvedName":"validateSttBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"calls","metadata":{"unresolvedName":"readJsonBody"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:requestBody.input.trim","kind":"calls","metadata":{"unresolvedName":"requestBody.input.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:(settings.baseUrl || 'https://api.openai.com/v1').replace","kind":"calls","metadata":{"unresolvedName":"(settings.baseUrl || 'https://api.openai.com/v1').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:isTtsResponseFormat","kind":"calls","metadata":{"unresolvedName":"isTtsResponseFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:providerRes.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"providerRes.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:synthesizeSpeech","to":"external:providerRes.headers.get","kind":"calls","metadata":{"unresolvedName":"providerRes.headers.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:fs.statSync(filePath).isDirectory","kind":"calls","metadata":{"unresolvedName":"fs.statSync(filePath).isDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:path.extname(targetFile).toLowerCase","kind":"calls","metadata":{"unresolvedName":"path.extname(targetFile).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:path.extname","kind":"calls","metadata":{"unresolvedName":"path.extname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","kind":"calls","metadata":{"unresolvedName":"serveIndexHtml"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:path.extname(filePath).toLowerCase","kind":"calls","metadata":{"unresolvedName":"path.extname(filePath).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:fs.createReadStream(filePath).pipe","kind":"calls","metadata":{"unresolvedName":"fs.createReadStream(filePath).pipe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","to":"external:fs.createReadStream","kind":"calls","metadata":{"unresolvedName":"fs.createReadStream"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:content.includes","kind":"calls","metadata":{"unresolvedName":"content.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:content.replace","kind":"calls","metadata":{"unresolvedName":"content.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:serveIndexHtml","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateBearerToken","kind":"calls","metadata":{"unresolvedName":"validateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isLoopbackHost","kind":"calls","metadata":{"unresolvedName":"isLoopbackHost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:checkAuth","kind":"calls","metadata":{"unresolvedName":"checkAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:res.write","kind":"calls","metadata":{"unresolvedName":"res.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:sseClients.delete","kind":"calls","metadata":{"unresolvedName":"sseClients.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:sseClients.add","kind":"calls","metadata":{"unresolvedName":"sseClients.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:req.on","kind":"calls","metadata":{"unresolvedName":"req.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:pathname.split('/').filter","kind":"calls","metadata":{"unresolvedName":"pathname.split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:pathname.split","kind":"calls","metadata":{"unresolvedName":"pathname.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"calls","metadata":{"unresolvedName":"getNetworkAccessInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"calls","metadata":{"unresolvedName":"saveLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeSttSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readJsonBody","kind":"calls","metadata":{"unresolvedName":"readJsonBody"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sanitizeTtsSettings","kind":"calls","metadata":{"unresolvedName":"sanitizeTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:updateTtsSettings","kind":"calls","metadata":{"unresolvedName":"updateTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:parsedUrl.searchParams.get","kind":"calls","metadata":{"unresolvedName":"parsedUrl.searchParams.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:process.cwd","kind":"calls","metadata":{"unresolvedName":"process.cwd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:buildExtensionCatalog","kind":"calls","metadata":{"unresolvedName":"buildExtensionCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionInstallCommand","kind":"calls","metadata":{"unresolvedName":"executeExtensionInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-extension-manager.ts:executeExtensionPackageRemoval","kind":"calls","metadata":{"unresolvedName":"executeExtensionPackageRemoval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:synthesizeSpeech","kind":"calls","metadata":{"unresolvedName":"synthesizeSpeech"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:parseSkillsFromSystemPrompt","kind":"calls","metadata":{"unresolvedName":"parseSkillsFromSystemPrompt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx?.getSystemPrompt","kind":"calls","metadata":{"unresolvedName":"latestCtx?.getSystemPrompt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countSkillsBySource","kind":"calls","metadata":{"unresolvedName":"countSkillsBySource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:loadMcpStatus","kind":"calls","metadata":{"unresolvedName":"loadMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx?.modelRegistry?.getAvailable","kind":"calls","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx?.modelRegistry?.getAll","kind":"calls","metadata":{"unresolvedName":"latestCtx?.modelRegistry?.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:m.input?.includes","kind":"calls","metadata":{"unresolvedName":"m.input?.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:registryModels.map","kind":"calls","metadata":{"unresolvedName":"registryModels.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:registryModels.find","kind":"calls","metadata":{"unresolvedName":"registryModels.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:mapModel","kind":"calls","metadata":{"unresolvedName":"mapModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:models.unshift","kind":"calls","metadata":{"unresolvedName":"models.unshift"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx.abort","kind":"calls","metadata":{"unresolvedName":"latestCtx.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"calls","metadata":{"unresolvedName":"createAndSwitchToRealSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx.getContextUsage","kind":"calls","metadata":{"unresolvedName":"latestCtx.getContextUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:latestCtx?.sessionManager?.getSessionDir","kind":"calls","metadata":{"unresolvedName":"latestCtx?.sessionManager?.getSessionDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:fs.readdirSync(sessionDir).filter","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync(sessionDir).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:fs.readdirSync","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:f.endsWith","kind":"calls","metadata":{"unresolvedName":"f.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:files.find","kind":"calls","metadata":{"unresolvedName":"files.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:files.map","kind":"calls","metadata":{"unresolvedName":"files.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:filesWithTime.sort","kind":"calls","metadata":{"unresolvedName":"filesWithTime.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:content.trim().split","kind":"calls","metadata":{"unresolvedName":"content.trim().split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:content.trim","kind":"calls","metadata":{"unresolvedName":"content.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:line.trim","kind":"calls","metadata":{"unresolvedName":"line.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:isVisibleChatRole","kind":"calls","metadata":{"unresolvedName":"isVisibleChatRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:messageMap.has","kind":"calls","metadata":{"unresolvedName":"messageMap.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:new Date(entry.timestamp).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(entry.timestamp).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:messageMap.set","kind":"calls","metadata":{"unresolvedName":"messageMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:orderedMessageIds.push","kind":"calls","metadata":{"unresolvedName":"orderedMessageIds.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:messageMap.get","kind":"calls","metadata":{"unresolvedName":"messageMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:msgObj.parts.push","kind":"calls","metadata":{"unresolvedName":"msgObj.parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:toolCallMessageIds.set","kind":"calls","metadata":{"unresolvedName":"toolCallMessageIds.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:toolCallMessageIds.get","kind":"calls","metadata":{"unresolvedName":"toolCallMessageIds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:parentMsg.parts.find","kind":"calls","metadata":{"unresolvedName":"parentMsg.parts.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:entry.message.content\n .filter","kind":"calls","metadata":{"unresolvedName":"entry.message.content\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:parentMsg.parts.push","kind":"calls","metadata":{"unresolvedName":"parentMsg.parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:orderedMessageIds.map","kind":"calls","metadata":{"unresolvedName":"orderedMessageIds.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:msgObj.parts\n .filter","kind":"calls","metadata":{"unresolvedName":"msgObj.parts\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:readSessionMetadata","kind":"calls","metadata":{"unresolvedName":"readSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:sessions.push","kind":"calls","metadata":{"unresolvedName":"sessions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:sessions.sort","kind":"calls","metadata":{"unresolvedName":"sessions.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"calls","metadata":{"unresolvedName":"enqueueSessionSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"calls","metadata":{"unresolvedName":"sendUserMessageToRequestedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getAvailableCommands","kind":"calls","metadata":{"unresolvedName":"getAvailableCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:countCommandsBySource","kind":"calls","metadata":{"unresolvedName":"countCommandsBySource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","kind":"calls","metadata":{"unresolvedName":"sendGitAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:listGitBranches","kind":"calls","metadata":{"unresolvedName":"listGitBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:preventPathTraversal","kind":"calls","metadata":{"unresolvedName":"preventPathTraversal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:path.resolve","kind":"calls","metadata":{"unresolvedName":"path.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:path.relative(targetDir, fullEntryPath).replace","kind":"calls","metadata":{"unresolvedName":"path.relative(targetDir, fullEntryPath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:path.relative","kind":"calls","metadata":{"unresolvedName":"path.relative"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:entry.isFile","kind":"calls","metadata":{"unresolvedName":"entry.isFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","to":"external:entry.isDirectory","kind":"calls","metadata":{"unresolvedName":"entry.isDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.write","kind":"calls","metadata":{"unresolvedName":"res.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sseClients.delete","kind":"calls","metadata":{"unresolvedName":"sseClients.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:sseClients.delete","kind":"calls","metadata":{"unresolvedName":"sseClients.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:saveLocalSettings","kind":"calls","metadata":{"unresolvedName":"saveLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getNetworkAccessInfo","kind":"calls","metadata":{"unresolvedName":"getNetworkAccessInfo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:body.trim","kind":"calls","metadata":{"unresolvedName":"body.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:createAndSwitchToRealSession","kind":"calls","metadata":{"unresolvedName":"createAndSwitchToRealSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:messageMap.get","kind":"calls","metadata":{"unresolvedName":"messageMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:msgObj.parts\n .filter","kind":"calls","metadata":{"unresolvedName":"msgObj.parts\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:enqueueSessionSend","kind":"calls","metadata":{"unresolvedName":"enqueueSessionSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendUserMessageToRequestedSession","kind":"calls","metadata":{"unresolvedName":"sendUserMessageToRequestedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random().toString(36).substring","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:sendGitAction","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-git-manager.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.relative(targetDir, fullEntryPath).replace","kind":"calls","metadata":{"unresolvedName":"path.relative(targetDir, fullEntryPath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.relative","kind":"calls","metadata":{"unresolvedName":"path.relative"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entry.isFile","kind":"calls","metadata":{"unresolvedName":"entry.isFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.statSync","kind":"calls","metadata":{"unresolvedName":"fs.statSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:entry.isDirectory","kind":"calls","metadata":{"unresolvedName":"entry.isDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:http.createServer","kind":"calls","metadata":{"unresolvedName":"http.createServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:probe.once","kind":"calls","metadata":{"unresolvedName":"probe.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:probe.close","kind":"calls","metadata":{"unresolvedName":"probe.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:probe.listen","kind":"calls","metadata":{"unresolvedName":"probe.listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"calls","metadata":{"unresolvedName":"canReserveLoopbackPort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"calls","metadata":{"unresolvedName":"tryListen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:srv.once","kind":"calls","metadata":{"unresolvedName":"srv.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","to":"external:srv.listen","kind":"calls","metadata":{"unresolvedName":"srv.listen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","to":"external:http.createServer","kind":"calls","metadata":{"unresolvedName":"http.createServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","to":"external:probe.once","kind":"calls","metadata":{"unresolvedName":"probe.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","to":"external:probe.close","kind":"calls","metadata":{"unresolvedName":"probe.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","to":"external:probe.listen","kind":"calls","metadata":{"unresolvedName":"probe.listen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:http.createServer","kind":"calls","metadata":{"unresolvedName":"http.createServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.once","kind":"calls","metadata":{"unresolvedName":"probe.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.close","kind":"calls","metadata":{"unresolvedName":"probe.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.listen","kind":"calls","metadata":{"unresolvedName":"probe.listen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:probe.close","kind":"calls","metadata":{"unresolvedName":"probe.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"calls","metadata":{"unresolvedName":"canReserveLoopbackPort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"calls","metadata":{"unresolvedName":"tryListen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.once","kind":"calls","metadata":{"unresolvedName":"srv.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:srv.listen","kind":"calls","metadata":{"unresolvedName":"srv.listen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:canReserveLoopbackPort","kind":"calls","metadata":{"unresolvedName":"canReserveLoopbackPort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"calls","metadata":{"unresolvedName":"tryListen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"external:srv.once","kind":"calls","metadata":{"unresolvedName":"srv.once"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","to":"external:srv.listen","kind":"calls","metadata":{"unresolvedName":"srv.listen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:tryListen","kind":"calls","metadata":{"unresolvedName":"tryListen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening","to":"external:srv.removeListener","kind":"calls","metadata":{"unresolvedName":"srv.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:onListening","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","to":"external:ctx.ui.setWidget","kind":"calls","metadata":{"unresolvedName":"ctx.ui.setWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"calls","metadata":{"unresolvedName":"setWebLinkWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:generateBearerToken","kind":"calls","metadata":{"unresolvedName":"generateBearerToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:http.createServer","kind":"calls","metadata":{"unresolvedName":"http.createServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:urlPath.startsWith","kind":"calls","metadata":{"unresolvedName":"urlPath.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:handleApiRequest(req, res).catch","kind":"calls","metadata":{"unresolvedName":"handleApiRequest(req, res).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"calls","metadata":{"unresolvedName":"handleApiRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"calls","metadata":{"unresolvedName":"handleStaticFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:server.on","kind":"calls","metadata":{"unresolvedName":"server.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:socket.write","kind":"calls","metadata":{"unresolvedName":"socket.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:socket.destroy","kind":"calls","metadata":{"unresolvedName":"socket.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:wss!.handleUpgrade","kind":"calls","metadata":{"unresolvedName":"wss!.handleUpgrade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:wss!.emit","kind":"calls","metadata":{"unresolvedName":"wss!.emit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:wss.on","kind":"calls","metadata":{"unresolvedName":"wss.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:clients.add","kind":"calls","metadata":{"unresolvedName":"clients.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:clients.delete","kind":"calls","metadata":{"unresolvedName":"clients.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then","kind":"calls","metadata":{"unresolvedName":"listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:listenOnAvailablePort","kind":"calls","metadata":{"unresolvedName":"listenOnAvailablePort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:isRequestBodySizeAllowed","kind":"calls","metadata":{"unresolvedName":"isRequestBodySizeAllowed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:urlPath.startsWith","kind":"calls","metadata":{"unresolvedName":"urlPath.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:handleApiRequest(req, res).catch","kind":"calls","metadata":{"unresolvedName":"handleApiRequest(req, res).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleApiRequest","kind":"calls","metadata":{"unresolvedName":"handleApiRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:handleStaticFile","kind":"calls","metadata":{"unresolvedName":"handleStaticFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.writeHead","kind":"calls","metadata":{"unresolvedName":"res.writeHead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server-core.ts:validateHostAndOriginForAccess","kind":"calls","metadata":{"unresolvedName":"validateHostAndOriginForAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getLocalSettings","kind":"calls","metadata":{"unresolvedName":"getLocalSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:socket.write","kind":"calls","metadata":{"unresolvedName":"socket.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:socket.destroy","kind":"calls","metadata":{"unresolvedName":"socket.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss!.handleUpgrade","kind":"calls","metadata":{"unresolvedName":"wss!.handleUpgrade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss!.emit","kind":"calls","metadata":{"unresolvedName":"wss!.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:wss!.emit","kind":"calls","metadata":{"unresolvedName":"wss!.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.add","kind":"calls","metadata":{"unresolvedName":"clients.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ws.on","kind":"calls","metadata":{"unresolvedName":"ws.on"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.delete","kind":"calls","metadata":{"unresolvedName":"clients.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.delete","kind":"calls","metadata":{"unresolvedName":"clients.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:clients.delete","kind":"calls","metadata":{"unresolvedName":"clients.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:setWebLinkWidget","kind":"calls","metadata":{"unresolvedName":"setWebLinkWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:latestCtx.ui.setWidget","kind":"calls","metadata":{"unresolvedName":"latestCtx.ui.setWidget"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:fs.unlinkSync","kind":"calls","metadata":{"unresolvedName":"fs.unlinkSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:res.end","kind":"calls","metadata":{"unresolvedName":"res.end"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:sseClients.clear","kind":"calls","metadata":{"unresolvedName":"sseClients.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:createdParts.clear","kind":"calls","metadata":{"unresolvedName":"createdParts.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:client.close","kind":"calls","metadata":{"unresolvedName":"client.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:clients.clear","kind":"calls","metadata":{"unresolvedName":"clients.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:wss.close","kind":"calls","metadata":{"unresolvedName":"wss.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","to":"external:server.close","kind":"calls","metadata":{"unresolvedName":"server.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:startServer","kind":"calls","metadata":{"unresolvedName":"startServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:ctx.sessionManager?.getSessionId","kind":"calls","metadata":{"unresolvedName":"ctx.sessionManager?.getSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:getSessionInfo","kind":"calls","metadata":{"unresolvedName":"getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:stopServer","kind":"calls","metadata":{"unresolvedName":"stopServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"calls","metadata":{"unresolvedName":"broadcastSessionUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"calls","metadata":{"unresolvedName":"broadcastSessionUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"calls","metadata":{"unresolvedName":"broadcastSessionUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"calls","metadata":{"unresolvedName":"getMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.clear","kind":"calls","metadata":{"unresolvedName":"createdParts.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"calls","metadata":{"unresolvedName":"getMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.has","kind":"calls","metadata":{"unresolvedName":"createdParts.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:createdParts.add","kind":"calls","metadata":{"unresolvedName":"createdParts.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:isVisibleChatRole","kind":"calls","metadata":{"unresolvedName":"isVisibleChatRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getMessageId","kind":"calls","metadata":{"unresolvedName":"getMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSessionUpdated","kind":"calls","metadata":{"unresolvedName":"broadcastSessionUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:getCurrentSessionId","kind":"calls","metadata":{"unresolvedName":"getCurrentSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:broadcastSSE","kind":"calls","metadata":{"unresolvedName":"broadcastSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-server.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"external:node:os","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"module:./piagentui-settings-store.js","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","to":"external:fs.mkdtempSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdtempSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","to":"external:os.tmpdir","kind":"calls","metadata":{"unresolvedName":"os.tmpdir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","to":"external:tempDirs.push","kind":"calls","metadata":{"unresolvedName":"tempDirs.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:tempDirs.splice","kind":"calls","metadata":{"unresolvedName":"tempDirs.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.rmSync","kind":"calls","metadata":{"unresolvedName":"fs.rmSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"calls","metadata":{"unresolvedName":"makeTempHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"calls","metadata":{"unresolvedName":"resolvePiAgentUiSettingsPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"calls","metadata":{"unresolvedName":"createPiAgentUiSettingsStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:first.saveSettings","kind":"calls","metadata":{"unresolvedName":"first.saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:first.close","kind":"calls","metadata":{"unresolvedName":"first.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(fs.existsSync(paths.databasePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fs.existsSync(paths.databasePath)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(second.getSettings()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(second.getSettings()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:second.getSettings","kind":"calls","metadata":{"unresolvedName":"second.getSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:second.close","kind":"calls","metadata":{"unresolvedName":"second.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(store.getSettings()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(store.getSettings()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.getSettings","kind":"calls","metadata":{"unresolvedName":"store.getSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(store.getMeta('legacy_json_imported_at')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getMeta('legacy_json_imported_at')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.getMeta","kind":"calls","metadata":{"unresolvedName":"store.getMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.close","kind":"calls","metadata":{"unresolvedName":"store.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"calls","metadata":{"unresolvedName":"makeTempHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"calls","metadata":{"unresolvedName":"resolvePiAgentUiSettingsPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"calls","metadata":{"unresolvedName":"createPiAgentUiSettingsStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:first.saveSettings","kind":"calls","metadata":{"unresolvedName":"first.saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:first.close","kind":"calls","metadata":{"unresolvedName":"first.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(fs.existsSync(paths.databasePath)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(fs.existsSync(paths.databasePath)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(second.getSettings()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(second.getSettings()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:second.getSettings","kind":"calls","metadata":{"unresolvedName":"second.getSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:second.close","kind":"calls","metadata":{"unresolvedName":"second.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:makeTempHome","kind":"calls","metadata":{"unresolvedName":"makeTempHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"calls","metadata":{"unresolvedName":"resolvePiAgentUiSettingsPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.mkdirSync","kind":"calls","metadata":{"unresolvedName":"fs.mkdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:path.dirname","kind":"calls","metadata":{"unresolvedName":"path.dirname"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:fs.writeFileSync","kind":"calls","metadata":{"unresolvedName":"fs.writeFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"calls","metadata":{"unresolvedName":"createPiAgentUiSettingsStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(store.getSettings()).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(store.getSettings()).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.getSettings","kind":"calls","metadata":{"unresolvedName":"store.getSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect(store.getMeta('legacy_json_imported_at')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getMeta('legacy_json_imported_at')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.getMeta","kind":"calls","metadata":{"unresolvedName":"store.getMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.test.ts:","to":"external:store.close","kind":"calls","metadata":{"unresolvedName":"store.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"external:node:module","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:resolvePiAgentUiSettingsPaths","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","kind":"calls","metadata":{"unresolvedName":"isObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:normalizeSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:normalizeSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:normalizeSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:isObject","kind":"calls","metadata":{"unresolvedName":"isObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","to":"external:fs.existsSync","kind":"calls","metadata":{"unresolvedName":"fs.existsSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","to":"symbol-name:normalizeSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:close","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:close","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:close","to":"external:this.db.close","kind":"calls","metadata":{"unresolvedName":"this.db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta","to":"external:this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get","kind":"calls","metadata":{"unresolvedName":"this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getMeta","to":"external:this.db.prepare","kind":"calls","metadata":{"unresolvedName":"this.db.prepare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta","to":"external:this.db\n .prepare","kind":"calls","metadata":{"unresolvedName":"this.db\n .prepare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setMeta","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getSettings","to":"external:this.getNamespace","kind":"calls","metadata":{"unresolvedName":"this.getNamespace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","to":"symbol-name:normalizeSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","to":"external:this.db.exec","kind":"calls","metadata":{"unresolvedName":"this.db.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","to":"external:this.setNamespace","kind":"calls","metadata":{"unresolvedName":"this.setNamespace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","to":"external:this.setMeta","kind":"calls","metadata":{"unresolvedName":"this.setMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:saveSettings","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","to":"external:this.db.exec","kind":"calls","metadata":{"unresolvedName":"this.db.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","to":"external:this.setMeta","kind":"calls","metadata":{"unresolvedName":"this.setMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:initialize","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","to":"external:this.getMeta","kind":"calls","metadata":{"unresolvedName":"this.getMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:readLegacyJsonSettings","kind":"calls","metadata":{"unresolvedName":"readLegacyJsonSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","to":"external:this.saveSettings","kind":"calls","metadata":{"unresolvedName":"this.saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","to":"external:this.setMeta","kind":"calls","metadata":{"unresolvedName":"this.setMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:importLegacyJsonOnce","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace","to":"external:this.db\n .prepare","kind":"calls","metadata":{"unresolvedName":"this.db\n .prepare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:getNamespace","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:parseJsonObject","kind":"calls","metadata":{"unresolvedName":"parseJsonObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","to":"external:this.db\n .prepare","kind":"calls","metadata":{"unresolvedName":"this.db\n .prepare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:setNamespace","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/extensions/piagentui-settings-store.ts:createPiAgentUiSettingsStore","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:event.notification.close","kind":"calls","metadata":{"unresolvedName":"event.notification.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:event.waitUntil","kind":"calls","metadata":{"unresolvedName":"event.waitUntil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:clients.matchAll({ type: 'window', includeUncontrolled: true }).then","kind":"calls","metadata":{"unresolvedName":"clients.matchAll({ type: 'window', includeUncontrolled: true }).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:clients.matchAll","kind":"calls","metadata":{"unresolvedName":"clients.matchAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.url.startsWith","kind":"calls","metadata":{"unresolvedName":"client.url.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.postMessage","kind":"calls","metadata":{"unresolvedName":"client.postMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.focus","kind":"calls","metadata":{"unresolvedName":"client.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:clients.openWindow","kind":"calls","metadata":{"unresolvedName":"clients.openWindow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.url.startsWith","kind":"calls","metadata":{"unresolvedName":"client.url.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.postMessage","kind":"calls","metadata":{"unresolvedName":"client.postMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:client.focus","kind":"calls","metadata":{"unresolvedName":"client.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/public/notification-sw.js:","to":"external:clients.openWindow","kind":"calls","metadata":{"unresolvedName":"clients.openWindow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"external:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"external:child_process","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"external:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"external:url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:formatWithPrettier","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:formatWithPrettier","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:formatWithPrettier","to":"symbol-name:execSync","kind":"calls","metadata":{"unresolvedName":"execSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","to":"external:lockContent.split","kind":"calls","metadata":{"unresolvedName":"lockContent.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","to":"external:packageBlocks.map","kind":"calls","metadata":{"unresolvedName":"packageBlocks.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","to":"external:block.includes","kind":"calls","metadata":{"unresolvedName":"block.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","to":"external:block.replace","kind":"calls","metadata":{"unresolvedName":"block.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:replaceCargoPackageVersion","to":"external:updatedBlocks.join","kind":"calls","metadata":{"unresolvedName":"updatedBlocks.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:","to":"external:block.includes","kind":"calls","metadata":{"unresolvedName":"block.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:","to":"external:block.replace","kind":"calls","metadata":{"unresolvedName":"block.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","to":"symbol-name:execSync","kind":"calls","metadata":{"unresolvedName":"execSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","to":"external:tag.trim","kind":"calls","metadata":{"unresolvedName":"tag.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","to":"external:mergedTags.find","kind":"calls","metadata":{"unresolvedName":"mergedTags.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/bump-version.mjs:getReleaseBaseTag","to":"external:stableTagRe.test","kind":"calls","metadata":{"unresolvedName":"stableTagRe.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","to":"external:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","to":"external:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/copy-material-icons.mjs","to":"external:url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"external:child_process","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"external:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"external:url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:run","to":"symbol-name:execSync","kind":"calls","metadata":{"unresolvedName":"execSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:read","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:read","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/scripts/prepare-release.mjs:read","to":"symbol-name:execSync","kind":"calls","metadata":{"unresolvedName":"execSync"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getAgents","kind":"calls","metadata":{"unresolvedName":"getAgents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"calls","metadata":{"unresolvedName":"getActiveModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:expect(models).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(models).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:expect(models[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(models[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"calls","metadata":{"unresolvedName":"getActiveModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:expect(models).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(models).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:expect(models[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(models[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"calls","metadata":{"unresolvedName":"getActiveModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"external:expect(models[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(models[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","to":"external:data.models.map","kind":"calls","metadata":{"unresolvedName":"data.models.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","to":"external:model.input?.includes","kind":"calls","metadata":{"unresolvedName":"model.input?.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getDefaultModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getDefaultModels","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:updateProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:updateProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:updateProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:expect(commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:expect(commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:expect(commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"external:expect(commands).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(commands).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands","to":"external:i18n.t","kind":"calls","metadata":{"unresolvedName":"i18n.t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getFrontendCommands","kind":"calls","metadata":{"unresolvedName":"getFrontendCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:frontendCommands.map","kind":"calls","metadata":{"unresolvedName":"frontendCommands.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:apiCommands\n .map","kind":"calls","metadata":{"unresolvedName":"apiCommands\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:frontendNames.has","kind":"calls","metadata":{"unresolvedName":"frontendNames.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:commandsFromApi.map","kind":"calls","metadata":{"unresolvedName":"commandsFromApi.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:frontendCommands.filter","kind":"calls","metadata":{"unresolvedName":"frontendCommands.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","to":"external:apiNames.has","kind":"calls","metadata":{"unresolvedName":"apiNames.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommandCacheKey","kind":"calls","metadata":{"unresolvedName":"getCommandCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:commandCache.get","kind":"calls","metadata":{"unresolvedName":"commandCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:commandInflight.get","kind":"calls","metadata":{"unresolvedName":"commandInflight.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:fetchCommands(directory)\n .then","kind":"calls","metadata":{"unresolvedName":"fetchCommands(directory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:fetchCommands","kind":"calls","metadata":{"unresolvedName":"fetchCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:commandCache.set","kind":"calls","metadata":{"unresolvedName":"commandCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:commandInflight.delete","kind":"calls","metadata":{"unresolvedName":"commandInflight.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","to":"external:commandInflight.set","kind":"calls","metadata":{"unresolvedName":"commandInflight.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","to":"external:commandCache.set","kind":"calls","metadata":{"unresolvedName":"commandCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:","to":"external:commandInflight.delete","kind":"calls","metadata":{"unresolvedName":"commandInflight.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/config.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getConfig","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getConfig","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:updateConfig","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:updateConfig","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getProviderConfigs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/config.ts:getProviderConfigs","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","to":"external:parts.reduce","kind":"calls","metadata":{"unresolvedName":"parts.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","to":"external:result.set","kind":"calls","metadata":{"unresolvedName":"result.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","to":"external:raw.split","kind":"calls","metadata":{"unresolvedName":"raw.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","to":"external:encoder.encode","kind":"calls","metadata":{"unresolvedName":"encoder.encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:concatBytes","kind":"calls","metadata":{"unresolvedName":"concatBytes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","to":"external:deltaBytes.slice","kind":"calls","metadata":{"unresolvedName":"deltaBytes.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","to":"external:controller.enqueue","kind":"calls","metadata":{"unresolvedName":"controller.enqueue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","to":"external:controller.close","kind":"calls","metadata":{"unresolvedName":"controller.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start","to":"external:controller.enqueue","kind":"calls","metadata":{"unresolvedName":"controller.enqueue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:start","to":"external:controller.close","kind":"calls","metadata":{"unresolvedName":"controller.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createStream","kind":"calls","metadata":{"unresolvedName":"createStream"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createDeferred","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createDeferred","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","to":"external:encoder.encode","kind":"calls","metadata":{"unresolvedName":"encoder.encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"calls","metadata":{"unresolvedName":"createEventChunks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toBe","kind":"calls","metadata":{"unresolvedName":"expect(received).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"calls","metadata":{"unresolvedName":"createEventChunk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(received).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn()\n .mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"vi\n .fn()\n .mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn","kind":"calls","metadata":{"unresolvedName":"vi\n .fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:received.push","kind":"calls","metadata":{"unresolvedName":"received.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"calls","metadata":{"unresolvedName":"reconnectSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:secondFetch.resolve","kind":"calls","metadata":{"unresolvedName":"secondFetch.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(received).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:firstFetch.resolve","kind":"calls","metadata":{"unresolvedName":"firstFetch.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:firstFetch.reject","kind":"calls","metadata":{"unresolvedName":"firstFetch.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(onError).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onError).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(getConnectionInfo().state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getConnectionInfo().state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo","kind":"calls","metadata":{"unresolvedName":"getConnectionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:secondFetch.reject","kind":"calls","metadata":{"unresolvedName":"secondFetch.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"calls","metadata":{"unresolvedName":"createEventChunks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toBe","kind":"calls","metadata":{"unresolvedName":"expect(received).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunks","kind":"calls","metadata":{"unresolvedName":"createEventChunks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toBe","kind":"calls","metadata":{"unresolvedName":"expect(received).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartDelta","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"calls","metadata":{"unresolvedName":"createEventChunk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toBe","kind":"calls","metadata":{"unresolvedName":"expect(received).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"calls","metadata":{"unresolvedName":"createEventChunk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(received).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onMessageUpdated","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"calls","metadata":{"unresolvedName":"createEventChunk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(received).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onPartUpdated","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onError","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn()\n .mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"vi\n .fn()\n .mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn","kind":"calls","metadata":{"unresolvedName":"vi\n .fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:received.push","kind":"calls","metadata":{"unresolvedName":"received.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"calls","metadata":{"unresolvedName":"reconnectSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:secondFetch.resolve","kind":"calls","metadata":{"unresolvedName":"secondFetch.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createFetchResponse","kind":"calls","metadata":{"unresolvedName":"createFetchResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:createEventChunk","kind":"calls","metadata":{"unresolvedName":"createEventChunk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.waitFor","kind":"calls","metadata":{"unresolvedName":"vi.waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(received).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:firstFetch.resolve","kind":"calls","metadata":{"unresolvedName":"firstFetch.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:onServerConnected","to":"external:received.push","kind":"calls","metadata":{"unresolvedName":"received.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(received).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(received).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn()\n .mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"vi\n .fn()\n .mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi\n .fn","kind":"calls","metadata":{"unresolvedName":"vi\n .fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"calls","metadata":{"unresolvedName":"reconnectSSE"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:firstFetch.reject","kind":"calls","metadata":{"unresolvedName":"firstFetch.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(onError).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onError).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:expect(getConnectionInfo().state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getConnectionInfo().state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo","kind":"calls","metadata":{"unresolvedName":"getConnectionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:secondFetch.reject","kind":"calls","metadata":{"unresolvedName":"secondFetch.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","to":"external:connectionListeners.forEach","kind":"calls","metadata":{"unresolvedName":"connectionListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getConnectionInfo","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","to":"external:connectionListeners.add","kind":"calls","metadata":{"unresolvedName":"connectionListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","to":"external:connectionListeners.delete","kind":"calls","metadata":{"unresolvedName":"connectionListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","to":"external:cb.onReconnected","kind":"calls","metadata":{"unresolvedName":"cb.onReconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onReconnected","kind":"calls","metadata":{"unresolvedName":"cb.onReconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"external:pendingDisconnect.then","kind":"calls","metadata":{"unresolvedName":"pendingDisconnect.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"external:import('@tauri-apps/api/core')\n .then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/core')\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"external:invoke('bridge_disconnect', { args: { bridgeId: 'sse' } }).then","kind":"calls","metadata":{"unresolvedName":"invoke('bridge_disconnect', { args: { bridgeId: 'sse' } }).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"calls","metadata":{"unresolvedName":"forceReconnectNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"calls","metadata":{"unresolvedName":"forceReconnectNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","kind":"calls","metadata":{"unresolvedName":"registerLifecycleListeners"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","kind":"calls","metadata":{"unresolvedName":"connectViaTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","kind":"calls","metadata":{"unresolvedName":"connectViaBrowser"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","kind":"calls","metadata":{"unresolvedName":"getApiBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","kind":"calls","metadata":{"unresolvedName":"getAuthHeader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"calls","metadata":{"unresolvedName":"resetHeartbeat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"calls","metadata":{"unresolvedName":"broadcastReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"external:sseParser.push","kind":"calls","metadata":{"unresolvedName":"sseParser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"calls","metadata":{"unresolvedName":"parseGlobalEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"calls","metadata":{"unresolvedName":"broadcastEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"calls","metadata":{"unresolvedName":"finalizeConnectionAttempt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaTauri","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"calls","metadata":{"unresolvedName":"resetHeartbeat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"calls","metadata":{"unresolvedName":"broadcastReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:sseParser.push","kind":"calls","metadata":{"unresolvedName":"sseParser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"calls","metadata":{"unresolvedName":"parseGlobalEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"calls","metadata":{"unresolvedName":"broadcastEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"calls","metadata":{"unresolvedName":"finalizeConnectionAttempt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","kind":"calls","metadata":{"unresolvedName":"getApiBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","kind":"calls","metadata":{"unresolvedName":"getAuthHeader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:response.body?.cancel?.().catch","kind":"calls","metadata":{"unresolvedName":"response.body?.cancel?.().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:response.body?.cancel","kind":"calls","metadata":{"unresolvedName":"response.body?.cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"calls","metadata":{"unresolvedName":"finalizeConnectionAttempt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"calls","metadata":{"unresolvedName":"resetHeartbeat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"calls","metadata":{"unresolvedName":"broadcastReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:response.body?.getReader","kind":"calls","metadata":{"unresolvedName":"response.body?.getReader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:reader.cancel().catch","kind":"calls","metadata":{"unresolvedName":"reader.cancel().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:reader.cancel","kind":"calls","metadata":{"unresolvedName":"reader.cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:reader.read","kind":"calls","metadata":{"unresolvedName":"reader.read"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:sseParser.push","kind":"calls","metadata":{"unresolvedName":"sseParser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:decoder.decode","kind":"calls","metadata":{"unresolvedName":"decoder.decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"calls","metadata":{"unresolvedName":"parseGlobalEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"calls","metadata":{"unresolvedName":"broadcastEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectViaBrowser","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:response.body?.cancel?.().catch","kind":"calls","metadata":{"unresolvedName":"response.body?.cancel?.().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:response.body?.cancel","kind":"calls","metadata":{"unresolvedName":"response.body?.cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"calls","metadata":{"unresolvedName":"finalizeConnectionAttempt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"calls","metadata":{"unresolvedName":"resetHeartbeat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastReconnected","kind":"calls","metadata":{"unresolvedName":"broadcastReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:response.body?.getReader","kind":"calls","metadata":{"unresolvedName":"response.body?.getReader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:reader.cancel().catch","kind":"calls","metadata":{"unresolvedName":"reader.cancel().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:reader.cancel","kind":"calls","metadata":{"unresolvedName":"reader.cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:reader.read","kind":"calls","metadata":{"unresolvedName":"reader.read"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:sseParser.push","kind":"calls","metadata":{"unresolvedName":"sseParser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:decoder.decode","kind":"calls","metadata":{"unresolvedName":"decoder.decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"calls","metadata":{"unresolvedName":"parseGlobalEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"calls","metadata":{"unresolvedName":"broadcastEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:finalizeConnectionAttempt","kind":"calls","metadata":{"unresolvedName":"finalizeConnectionAttempt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:cb.onError","kind":"calls","metadata":{"unresolvedName":"cb.onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","kind":"calls","metadata":{"unresolvedName":"isGlobalEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:parseGlobalEvent","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"calls","metadata":{"unresolvedName":"isRecord"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isGlobalEvent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType","kind":"calls","metadata":{"unresolvedName":"isEventType"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isEventType","to":"external:EVENT_TYPE_SET.has","kind":"calls","metadata":{"unresolvedName":"EVENT_TYPE_SET.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"calls","metadata":{"unresolvedName":"isRecord"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"stopBackgroundKeepalive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:scheduleReconnect","kind":"calls","metadata":{"unresolvedName":"scheduleReconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"stopBackgroundKeepalive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"stopBackgroundKeepalive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"calls","metadata":{"unresolvedName":"forceReconnectNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:resetHeartbeat","kind":"calls","metadata":{"unresolvedName":"resetHeartbeat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleVisibilityChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:startBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"startBackgroundKeepalive"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOnline","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:forceReconnectNow","kind":"calls","metadata":{"unresolvedName":"forceReconnectNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"stopBackgroundKeepalive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleOffline","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:registerLifecycleListeners","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents","to":"external:window.localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"window.localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:shouldLogSseEvents","kind":"calls","metadata":{"unresolvedName":"shouldLogSseEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","to":"external:console.debug","kind":"calls","metadata":{"unresolvedName":"console.debug"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","to":"external:allSubscribers.forEach","kind":"calls","metadata":{"unresolvedName":"allSubscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:broadcastEvent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","kind":"calls","metadata":{"unresolvedName":"handleEventForSubscriber"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","kind":"calls","metadata":{"unresolvedName":"handleEventForSubscriber"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:getMessageInfo","kind":"calls","metadata":{"unresolvedName":"getMessageInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"calls","metadata":{"unresolvedName":"isRecord"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onMessageUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onPartUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onPartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onPartDelta","kind":"calls","metadata":{"unresolvedName":"callbacks.onPartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onPartRemoved","kind":"calls","metadata":{"unresolvedName":"callbacks.onPartRemoved"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionDeleted","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionDeleted"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onProjectUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onProjectUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionError","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError","kind":"calls","metadata":{"unresolvedName":"normalizeSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onSessionStatus","kind":"calls","metadata":{"unresolvedName":"callbacks.onSessionStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"callbacks.onPermissionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"callbacks.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"callbacks.onQuestionRejected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onWorktreeReady","kind":"calls","metadata":{"unresolvedName":"callbacks.onWorktreeReady"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onWorktreeFailed","kind":"calls","metadata":{"unresolvedName":"callbacks.onWorktreeFailed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onVcsBranchUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onVcsBranchUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onTodoUpdated","kind":"calls","metadata":{"unresolvedName":"callbacks.onTodoUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","kind":"calls","metadata":{"unresolvedName":"normalizeTodoItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"external:callbacks.onServerConnected","kind":"calls","metadata":{"unresolvedName":"callbacks.onServerConnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:handleEventForSubscriber","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected","kind":"calls","metadata":{"unresolvedName":"normalizeServerConnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeServerConnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"calls","metadata":{"unresolvedName":"isRecord"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:normalizeSessionError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:isRecord","kind":"calls","metadata":{"unresolvedName":"isRecord"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:stopBackgroundKeepalive","kind":"calls","metadata":{"unresolvedName":"stopBackgroundKeepalive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectTauri","kind":"calls","metadata":{"unresolvedName":"disconnectTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"external:singletonController.abort","kind":"calls","metadata":{"unresolvedName":"singletonController.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:updateConnectionState","kind":"calls","metadata":{"unresolvedName":"updateConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","to":"external:allSubscribers.add","kind":"calls","metadata":{"unresolvedName":"allSubscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:connectSingleton","kind":"calls","metadata":{"unresolvedName":"connectSingleton"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","to":"external:allSubscribers.delete","kind":"calls","metadata":{"unresolvedName":"allSubscribers.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","kind":"calls","metadata":{"unresolvedName":"disconnectSingleton"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","kind":"calls","metadata":{"unresolvedName":"unregisterLifecycleListeners"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"external:allSubscribers.delete","kind":"calls","metadata":{"unresolvedName":"allSubscribers.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:disconnectSingleton","kind":"calls","metadata":{"unresolvedName":"disconnectSingleton"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:unregisterLifecycleListeners","kind":"calls","metadata":{"unresolvedName":"unregisterLifecycleListeners"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.delete).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.delete).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(getExtensions('/repo')).resolves.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(getExtensions('/repo')).resolves.toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"calls","metadata":{"unresolvedName":"getExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"calls","metadata":{"unresolvedName":"installExtension"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.delete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.delete).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.delete).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:vi.mocked(piClient.delete).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.delete).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(getExtensions('/repo')).resolves.toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(getExtensions('/repo')).resolves.toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"calls","metadata":{"unresolvedName":"getExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"calls","metadata":{"unresolvedName":"installExtension"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.test.ts:","to":"external:expect(piClient.delete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.delete).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/extension.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:withDirectoryQuery","kind":"calls","metadata":{"unresolvedName":"withDirectoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","to":"external:piClient.delete","kind":"calls","metadata":{"unresolvedName":"piClient.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:isRootDirectoryPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:isRootDirectoryPath","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","to":"external:/^[a-zA-Z]:/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","to":"external:path.startsWith","kind":"calls","metadata":{"unresolvedName":"path.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:isRootDirectoryPath","kind":"calls","metadata":{"unresolvedName":"isRootDirectoryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:fetchDirectory","kind":"calls","metadata":{"unresolvedName":"fetchDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getRootDirectoryCacheKey","kind":"calls","metadata":{"unresolvedName":"getRootDirectoryCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:rootDirectoryCache.get","kind":"calls","metadata":{"unresolvedName":"rootDirectoryCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:rootDirectoryInflight.get","kind":"calls","metadata":{"unresolvedName":"rootDirectoryInflight.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:fetchDirectory(path === '' ? '.' : path, directory)\n .then","kind":"calls","metadata":{"unresolvedName":"fetchDirectory(path === '' ? '.' : path, directory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:rootDirectoryCache.set","kind":"calls","metadata":{"unresolvedName":"rootDirectoryCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:rootDirectoryInflight.delete","kind":"calls","metadata":{"unresolvedName":"rootDirectoryInflight.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","to":"external:rootDirectoryInflight.set","kind":"calls","metadata":{"unresolvedName":"rootDirectoryInflight.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","to":"external:rootDirectoryCache.set","kind":"calls","metadata":{"unresolvedName":"rootDirectoryCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:","to":"external:rootDirectoryInflight.delete","kind":"calls","metadata":{"unresolvedName":"rootDirectoryInflight.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileStatus","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchSymbols","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchDirectories","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchDirectories","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchDirectories","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"calls","metadata":{"unresolvedName":"searchFiles"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:getHealth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:getHealth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:getHealth","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeGlobal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeGlobal","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeGlobal","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(buildQueryString({})).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buildQueryString({})).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(buildQueryString({ a: 'hello', b: undefined })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buildQueryString({ a: 'hello', b: undefined })).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(buildQueryString({})).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buildQueryString({})).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(buildQueryString({ a: 'hello', b: undefined })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buildQueryString({ a: 'hello', b: undefined })).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"calls","metadata":{"unresolvedName":"buildQueryString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"external:expect(result).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getApiBaseUrl","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","to":"external:serverStore.getActiveToken","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","to":"external:serverStore.getActiveAuth","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:getAuthHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"calls","metadata":{"unresolvedName":"makeBasicAuthHeader"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/http.ts:buildQueryString","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getLspStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getLspStatus","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getFormatterStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/lsp.ts:getFormatterStatus","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"calls","metadata":{"unresolvedName":"getMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:expect(status.servers.context7).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(status.servers.context7).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"calls","metadata":{"unresolvedName":"getMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.test.ts:","to":"external:expect(status.servers.context7).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(status.servers.context7).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","to":"external:Promise.reject","kind":"calls","metadata":{"unresolvedName":"Promise.reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:removeMcpAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:removeMcpAuth","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:completeMcpAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:completeMcpAuth","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isTextUserContentPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isTextUserContentPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isFileUserContentPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isFileUserContentPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isAgentUserContentPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isAgentUserContentPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessageCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessageCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessageCount","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"external:parts.filter","kind":"calls","metadata":{"unresolvedName":"parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isTextUserContentPart","kind":"calls","metadata":{"unresolvedName":"isTextUserContentPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"external:textParts.map(p => p.text).join","kind":"calls","metadata":{"unresolvedName":"textParts.map(p => p.text).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"external:textParts.map","kind":"calls","metadata":{"unresolvedName":"textParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isFileUserContentPart","kind":"calls","metadata":{"unresolvedName":"isFileUserContentPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSourcePath","kind":"calls","metadata":{"unresolvedName":"getSourcePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"external:attachments.push","kind":"calls","metadata":{"unresolvedName":"attachments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:isAgentUserContentPart","kind":"calls","metadata":{"unresolvedName":"isAgentUserContentPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSourcePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSourcePath","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessage","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(info.primaryLanUrl).toBe","kind":"calls","metadata":{"unresolvedName":"expect(info.primaryLanUrl).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"calls","metadata":{"unresolvedName":"updateNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(info.lanAccessEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(info.lanAccessEnabled).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(info.primaryLanUrl).toBe","kind":"calls","metadata":{"unresolvedName":"expect(info.primaryLanUrl).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"calls","metadata":{"unresolvedName":"updateNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.test.ts:","to":"external:expect(info.lanAccessEnabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(info.lanAccessEnabled).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","to":"external:permissions.filter","kind":"calls","metadata":{"unresolvedName":"permissions.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","to":"external:questions.filter","kind":"calls","metadata":{"unresolvedName":"questions.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'isPiMode').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'isPiMode').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveToken').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveToken').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi\n .spyOn","kind":"calls","metadata":{"unresolvedName":"vi\n .spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(result.ok).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.ok).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(fetchSpy).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(fetchSpy).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(globalThis, 'fetch').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(globalThis, 'fetch').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(piClient.get('/api/vcs/status')).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get('/api/vcs/status')).rejects.toThrow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'isPiMode').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'isPiMode').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveToken').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveToken').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi\n .spyOn(globalThis, 'fetch')\n .mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi\n .spyOn","kind":"calls","metadata":{"unresolvedName":"vi\n .spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(result.ok).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.ok).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(fetchSpy).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(fetchSpy).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveToken').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveToken').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(serverStore, 'getActiveBaseUrl').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:vi.spyOn(globalThis, 'fetch').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(globalThis, 'fetch').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:expect(piClient.get('/api/vcs/status')).rejects.toThrow","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get('/api/vcs/status')).rejects.toThrow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.test.ts:","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getTauriFetch","kind":"calls","metadata":{"unresolvedName":"getTauriFetch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","to":"external:serverStore.getActiveToken","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","to":"external:serverStore.getActiveAuth","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","to":"external:response.text","kind":"calls","metadata":{"unresolvedName":"response.text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","to":"external:data.error.trim","kind":"calls","metadata":{"unresolvedName":"data.error.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","to":"external:data.message.trim","kind":"calls","metadata":{"unresolvedName":"data.message.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getResponseErrorMessage","kind":"calls","metadata":{"unresolvedName":"getResponseErrorMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"calls","metadata":{"unresolvedName":"buildHeaders"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"calls","metadata":{"unresolvedName":"getFetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"calls","metadata":{"unresolvedName":"f"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"calls","metadata":{"unresolvedName":"throwIfNotOk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:get","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"calls","metadata":{"unresolvedName":"buildHeaders"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"calls","metadata":{"unresolvedName":"getFetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"calls","metadata":{"unresolvedName":"f"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"calls","metadata":{"unresolvedName":"throwIfNotOk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:post","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:buildHeaders","kind":"calls","metadata":{"unresolvedName":"buildHeaders"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:getFetch","kind":"calls","metadata":{"unresolvedName":"getFetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"calls","metadata":{"unresolvedName":"f"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:throwIfNotOk","kind":"calls","metadata":{"unresolvedName":"throwIfNotOk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts:delete","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piContract.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtySession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtySession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","to":"symbol-name:onError","kind":"calls","metadata":{"unresolvedName":"onError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:send","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:send","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:close","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:close","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:expect(usage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(usage).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.test.ts:","to":"external:expect(usage).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(usage).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","to":"external:sessionId.slice","kind":"calls","metadata":{"unresolvedName":"sessionId.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:fallbackSessionTitle","kind":"calls","metadata":{"unresolvedName":"fallbackSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"calls","metadata":{"unresolvedName":"getSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:expect(skills[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(skills[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"calls","metadata":{"unresolvedName":"getSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.test.ts:","to":"external:expect(skills[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(skills[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: {\"text\":\"中')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: {\"text\":\"中')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:parser.push","kind":"calls","metadata":{"unresolvedName":"parser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('文\"}\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('文\"}\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 第二行\\n\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 第二行\\n\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 你好\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 你好\\r\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: {\"text\":\"中')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: {\"text\":\"中')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:parser.push","kind":"calls","metadata":{"unresolvedName":"parser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('文\"}\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('文\"}\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 第二行\\n\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 第二行\\n\\n')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"calls","metadata":{"unresolvedName":"createSseTextParser"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 你好\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 你好\\r\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:parser.push","kind":"calls","metadata":{"unresolvedName":"parser.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.test.ts:","to":"external:expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parser.push('data: 世界\\r\\n\\r\\n')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:buffer.replace(/\\r\\n/g, '\\n').replace","kind":"calls","metadata":{"unresolvedName":"buffer.replace(/\\r\\n/g, '\\n').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:buffer.replace","kind":"calls","metadata":{"unresolvedName":"buffer.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:buffer.split","kind":"calls","metadata":{"unresolvedName":"buffer.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:blocks.pop","kind":"calls","metadata":{"unresolvedName":"blocks.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:block.split","kind":"calls","metadata":{"unresolvedName":"block.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:dataLines.push","kind":"calls","metadata":{"unresolvedName":"dataLines.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:events.push","kind":"calls","metadata":{"unresolvedName":"events.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:createSseTextParser","to":"external:dataLines.join","kind":"calls","metadata":{"unresolvedName":"dataLines.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:buffer.replace(/\\r\\n/g, '\\n').replace","kind":"calls","metadata":{"unresolvedName":"buffer.replace(/\\r\\n/g, '\\n').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:buffer.replace","kind":"calls","metadata":{"unresolvedName":"buffer.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:buffer.split","kind":"calls","metadata":{"unresolvedName":"buffer.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:blocks.pop","kind":"calls","metadata":{"unresolvedName":"blocks.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:block.split","kind":"calls","metadata":{"unresolvedName":"block.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:dataLines.push","kind":"calls","metadata":{"unresolvedName":"dataLines.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:events.push","kind":"calls","metadata":{"unresolvedName":"events.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/sse.ts:push","to":"external:dataLines.join","kind":"calls","metadata":{"unresolvedName":"dataLines.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(serverStore.getActiveToken).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveToken).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect((await getSttSettings()).apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await getSttSettings()).apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(updated.language).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated.language).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(fetchMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(fetchMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(result.text).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveBaseUrl).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(serverStore.getActiveToken).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(serverStore.getActiveToken).mockReturnValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.get).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect((await getSttSettings()).apiKeyConfigured).toBe","kind":"calls","metadata":{"unresolvedName":"expect((await getSttSettings()).apiKeyConfigured).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(piClient.get).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(piClient.post).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(updated.language).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updated.language).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(fetchMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(fetchMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.test.ts:","to":"external:expect(result.text).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.text).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:updateSttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:updateSttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:updateSttSettings","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","to":"external:serverStore.getActiveToken","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","to":"external:serverStore.getActiveAuth","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","to":"external:form.set","kind":"calls","metadata":{"unresolvedName":"form.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:buildUploadHeaders","kind":"calls","metadata":{"unresolvedName":"buildUploadHeaders"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:transcribeAudio","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","to":"external:String(todo.content ?? '').slice","kind":"calls","metadata":{"unresolvedName":"String(todo.content ?? '').slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoStatus","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoPriority","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoPriority","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoStatus","kind":"calls","metadata":{"unresolvedName":"isTodoStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:isTodoPriority","kind":"calls","metadata":{"unresolvedName":"isTodoPriority"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","to":"external:(todos ?? []).map","kind":"calls","metadata":{"unresolvedName":"(todos ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:buildTodoId","kind":"calls","metadata":{"unresolvedName":"buildTodoId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoStatus","kind":"calls","metadata":{"unresolvedName":"normalizeTodoStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoItems","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/todo.ts:normalizeTodoPriority","kind":"calls","metadata":{"unresolvedName":"normalizeTodoPriority"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tool.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getToolIds","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tool.ts:getTools","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:updateTtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:updateTtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:updateTtsSettings","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","to":"external:serverStore.getActiveToken","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveToken"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","to":"external:serverStore.getActiveAuth","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"calls","metadata":{"unresolvedName":"makeBasicAuthHeader"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","to":"external:serverStore.getActiveBaseUrl","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveBaseUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:buildSpeechHeaders","kind":"calls","metadata":{"unresolvedName":"buildSpeechHeaders"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:synthesizeSpeech","to":"external:response.blob","kind":"calls","metadata":{"unresolvedName":"response.blob"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.get)\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get)\n .mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"calls","metadata":{"unresolvedName":"getVcsStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"calls","metadata":{"unresolvedName":"getVcsBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:expect(piClient.get).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:expect(piClient.post).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenNthCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.get).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.post).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.get)\n .mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.get)\n .mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"calls","metadata":{"unresolvedName":"getVcsStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"calls","metadata":{"unresolvedName":"getVcsBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:expect(piClient.get).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.get).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked(piClient.post).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(piClient.post).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"external:expect(piClient.post).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(piClient.post).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/piClient.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"calls","metadata":{"unresolvedName":"formatPathForApi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","to":"external:piClient.get","kind":"calls","metadata":{"unresolvedName":"piClient.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:checkoutGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:createGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:stageGitPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:unstageGitPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:commitGitChanges","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pullGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch","to":"external:piClient.post","kind":"calls","metadata":{"unresolvedName":"piClient.post"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:pushGitBranch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:directoryQuery","kind":"calls","metadata":{"unresolvedName":"directoryQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/worktree.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"external:@tauri-apps/api/core","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"calls","metadata":{"unresolvedName":"useRouter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","kind":"calls","metadata":{"unresolvedName":"useChatViewportController"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"calls","metadata":{"unresolvedName":"canUseSplitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout","kind":"calls","metadata":{"unresolvedName":"usePaneLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","kind":"calls","metadata":{"unresolvedName":"usePaneController"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","kind":"calls","metadata":{"unresolvedName":"usePaneControllers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","kind":"calls","metadata":{"unresolvedName":"initNotificationSound"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:invoke('desktop_window_ready').catch","kind":"calls","metadata":{"unresolvedName":"invoke('desktop_window_ready').catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:updateStore.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"updateStore.checkForUpdates"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","kind":"calls","metadata":{"unresolvedName":"useViewportHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","kind":"calls","metadata":{"unresolvedName":"useWakeLock"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"calls","metadata":{"unresolvedName":"collectActiveDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneControllers\r\n .map","kind":"calls","metadata":{"unresolvedName":"paneControllers\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:savedDirectories.map","kind":"calls","metadata":{"unresolvedName":"savedDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.setFocusedSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setFocusedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:replaceSession","kind":"calls","metadata":{"unresolvedName":"replaceSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.setPaneSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setPaneSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:navigateRouteToSession","kind":"calls","metadata":{"unresolvedName":"navigateRouteToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:navigateRouteHome","kind":"calls","metadata":{"unresolvedName":"navigateRouteHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:navigatePaneHome","kind":"calls","metadata":{"unresolvedName":"navigatePaneHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.enterSplitMode","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.enterSplitMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.togglePaneFullscreen","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.togglePaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"setSidebarExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:setSettingsInitialTab","kind":"calls","metadata":{"unresolvedName":"setSettingsInitialTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:setSettingsDialogOpen","kind":"calls","metadata":{"unresolvedName":"setSettingsDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:openSettingsTab","kind":"calls","metadata":{"unresolvedName":"openSettingsTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:setProjectDialogOpen","kind":"calls","metadata":{"unresolvedName":"setProjectDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:openProject","kind":"calls","metadata":{"unresolvedName":"openProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:openSettings","kind":"calls","metadata":{"unresolvedName":"openSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:setCommandPaletteOpen","kind":"calls","metadata":{"unresolvedName":"setCommandPaletteOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:layoutStore.toggleRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.newSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.newSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.archiveSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.archiveSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.previousSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.previousSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.nextSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.nextSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:layoutStore.toggleBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.openModelSelector","kind":"calls","metadata":{"unresolvedName":"focusedController?.openModelSelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.toggleAgent","kind":"calls","metadata":{"unresolvedName":"focusedController?.toggleAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.cancelMessage","kind":"calls","metadata":{"unresolvedName":"focusedController?.cancelMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.copyLastResponse","kind":"calls","metadata":{"unresolvedName":"focusedController?.copyLastResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:focusedController?.toggleFullAuto","kind":"calls","metadata":{"unresolvedName":"focusedController?.toggleFullAuto"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.focusNextPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusNextPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.focusPrevPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPrevPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:handleToggleFocusedPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"handleToggleFocusedPaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","kind":"calls","metadata":{"unresolvedName":"useGlobalKeybindings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"symbol-name:getShortcut","kind":"calls","metadata":{"unresolvedName":"getShortcut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:App","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","kind":"calls","metadata":{"unresolvedName":"useCloseServiceDialog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","kind":"calls","metadata":{"unresolvedName":"initNotificationSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:invoke('desktop_window_ready').catch","kind":"calls","metadata":{"unresolvedName":"invoke('desktop_window_ready').catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:updateStore.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"updateStore.checkForUpdates"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.setFocusedSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setFocusedSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:replaceSession","kind":"calls","metadata":{"unresolvedName":"replaceSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.setPaneSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setPaneSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:navigateRouteToSession","kind":"calls","metadata":{"unresolvedName":"navigateRouteToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.setPaneSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setPaneSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:navigateRouteHome","kind":"calls","metadata":{"unresolvedName":"navigateRouteHome"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:navigatePaneHome","kind":"calls","metadata":{"unresolvedName":"navigatePaneHome"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.enterSplitMode","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.enterSplitMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.togglePaneFullscreen","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.togglePaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:setSettingsInitialTab","kind":"calls","metadata":{"unresolvedName":"setSettingsInitialTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:setSettingsDialogOpen","kind":"calls","metadata":{"unresolvedName":"setSettingsDialogOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:openSettingsTab","kind":"calls","metadata":{"unresolvedName":"openSettingsTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:openSettingsTab","kind":"calls","metadata":{"unresolvedName":"openSettingsTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:openProject","kind":"calls","metadata":{"unresolvedName":"openProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:openSettings","kind":"calls","metadata":{"unresolvedName":"openSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusInput","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","to":"external:paneLayoutStore.focusNextPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusNextPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusNextPane","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","to":"external:paneLayoutStore.focusPrevPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPrevPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:focusPrevPane","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitRight","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:splitDown","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:closePane","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:togglePaneFullscreen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:togglePaneFullscreen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:togglePaneFullscreen","to":"symbol-name:handleToggleFocusedPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"handleToggleFocusedPaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:getShortcut","kind":"calls","metadata":{"unresolvedName":"getShortcut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:openSettingsTab","kind":"calls","metadata":{"unresolvedName":"openSettingsTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"setSidebarExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:layoutStore.toggleRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.newSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.newSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.archiveSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.archiveSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.previousSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.previousSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.nextSession","kind":"calls","metadata":{"unresolvedName":"focusedController?.nextSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:layoutStore.toggleBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.openModelSelector","kind":"calls","metadata":{"unresolvedName":"focusedController?.openModelSelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.toggleAgent","kind":"calls","metadata":{"unresolvedName":"focusedController?.toggleAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.copyLastResponse","kind":"calls","metadata":{"unresolvedName":"focusedController?.copyLastResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:focusedController?.cancelMessage","kind":"calls","metadata":{"unresolvedName":"focusedController?.cancelMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.focusNextPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusNextPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.focusPrevPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPrevPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:","to":"symbol-name:handleToggleFocusedPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"handleToggleFocusedPaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"symbol-name:openSettingsTab","kind":"calls","metadata":{"unresolvedName":"openSettingsTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","to":"symbol-name:handleToggleFocusedPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"handleToggleFocusedPaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:PanelFallback","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.setCurrentTerminalDirectory","kind":"calls","metadata":{"unresolvedName":"layoutStore.setCurrentTerminalDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:setIsPanelResizing","kind":"calls","metadata":{"unresolvedName":"setIsPanelResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:setIsRestoring","kind":"calls","metadata":{"unresolvedName":"setIsRestoring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"calls","metadata":{"unresolvedName":"listPtySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","kind":"calls","metadata":{"unresolvedName":"restoreSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.setBottomPanelHeight","kind":"calls","metadata":{"unresolvedName":"layoutStore.setBottomPanelHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.closeBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeBottomPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.setCurrentTerminalDirectory","kind":"calls","metadata":{"unresolvedName":"layoutStore.setCurrentTerminalDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:setIsPanelResizing","kind":"calls","metadata":{"unresolvedName":"setIsPanelResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:setIsRestoring","kind":"calls","metadata":{"unresolvedName":"setIsRestoring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"calls","metadata":{"unresolvedName":"listPtySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","kind":"calls","metadata":{"unresolvedName":"restoreSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"symbol-name:setIsRestoring","kind":"calls","metadata":{"unresolvedName":"setIsRestoring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"calls","metadata":{"unresolvedName":"listPtySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"external:layoutStore.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:restoreSessions","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:terminalTabs.map","kind":"calls","metadata":{"unresolvedName":"terminalTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:fileTabs.map","kind":"calls","metadata":{"unresolvedName":"fileTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/BottomPanel.tsx:","to":"external:changeTabs.map","kind":"calls","metadata":{"unresolvedName":"changeTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx:CircularProgress","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"symbol-name:setClosing","kind":"calls","metadata":{"unresolvedName":"setClosing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"symbol-name:onConfirm","kind":"calls","metadata":{"unresolvedName":"onConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:CloseServiceDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","kind":"calls","metadata":{"unresolvedName":"handleConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","to":"symbol-name:setClosing","kind":"calls","metadata":{"unresolvedName":"setClosing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CloseServiceDialog.tsx:handleConfirm","to":"symbol-name:onConfirm","kind":"calls","metadata":{"unresolvedName":"onConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReset","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(container.firstChild).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.firstChild).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(container.firstChild).not.toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.firstChild).not.toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(screen.getByText('ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReset","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(container.firstChild).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.firstChild).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(container.firstChild).not.toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.firstChild).not.toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:expect(screen.getByText('ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"calls","metadata":{"unresolvedName":"useIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"calls","metadata":{"unresolvedName":"useInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:code.includes","kind":"calls","metadata":{"unresolvedName":"code.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"calls","metadata":{"unresolvedName":"useSyntaxHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:HIDDEN_LANGS.has","kind":"calls","metadata":{"unresolvedName":"HIDDEN_LANGS.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:language.toLowerCase","kind":"calls","metadata":{"unresolvedName":"language.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:event.target.closest","kind":"calls","metadata":{"unresolvedName":"event.target.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:event.currentTarget.focus","kind":"calls","metadata":{"unresolvedName":"event.currentTarget.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:code.includes","kind":"calls","metadata":{"unresolvedName":"code.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:event.target.closest","kind":"calls","metadata":{"unresolvedName":"event.target.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx:","to":"external:event.currentTarget.focus","kind":"calls","metadata":{"unresolvedName":"event.currentTarget.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"external:@codemirror/state","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"external:@codemirror/search","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"external:@codemirror/view","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","kind":"calls","metadata":{"unresolvedName":"getLineNumberColumnWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","kind":"calls","metadata":{"unresolvedName":"getLineCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","kind":"calls","metadata":{"unresolvedName":"createReadonlyCodeMirrorExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"external:EditorState.create","kind":"calls","metadata":{"unresolvedName":"EditorState.create"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"calls","metadata":{"unresolvedName":"dispatchShikiTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"external:view.destroy","kind":"calls","metadata":{"unresolvedName":"view.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"external:event.key.toLowerCase","kind":"calls","metadata":{"unresolvedName":"event.key.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:CodeMirrorReadonly","to":"symbol-name:openSearchPanel","kind":"calls","metadata":{"unresolvedName":"openSearchPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"external:EditorState.create","kind":"calls","metadata":{"unresolvedName":"EditorState.create"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"calls","metadata":{"unresolvedName":"dispatchShikiTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"external:view.destroy","kind":"calls","metadata":{"unresolvedName":"view.destroy"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"external:view.destroy","kind":"calls","metadata":{"unresolvedName":"view.destroy"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"calls","metadata":{"unresolvedName":"dispatchShikiTokens"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"external:event.key.toLowerCase","kind":"calls","metadata":{"unresolvedName":"event.key.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx:","to":"symbol-name:openSearchPanel","kind":"calls","metadata":{"unresolvedName":"openSearchPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"external:@codemirror/commands","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"external:@codemirror/state","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"external:@codemirror/search","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"external:@codemirror/view","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:codeLineHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:codeLineHeight","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"external:EditorState.readOnly.of","kind":"calls","metadata":{"unresolvedName":"EditorState.readOnly.of"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"symbol-name:highlightActiveLineGutter","kind":"calls","metadata":{"unresolvedName":"highlightActiveLineGutter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"symbol-name:drawSelection","kind":"calls","metadata":{"unresolvedName":"drawSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"external:keymap.of","kind":"calls","metadata":{"unresolvedName":"keymap.of"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"symbol-name:search","kind":"calls","metadata":{"unresolvedName":"search"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"symbol-name:highlightSelectionMatches","kind":"calls","metadata":{"unresolvedName":"highlightSelectionMatches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme","kind":"calls","metadata":{"unresolvedName":"readonlyCodeMirrorTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"external:extensions.unshift","kind":"calls","metadata":{"unresolvedName":"extensions.unshift"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"symbol-name:lineNumbers","kind":"calls","metadata":{"unresolvedName":"lineNumbers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createReadonlyCodeMirrorExtensions","to":"external:extensions.push","kind":"calls","metadata":{"unresolvedName":"extensions.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","to":"external:view.dispatch","kind":"calls","metadata":{"unresolvedName":"view.dispatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:dispatchShikiTokens","to":"external:setShikiTokensEffect.of","kind":"calls","metadata":{"unresolvedName":"setShikiTokensEffect.of"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","to":"external:effect.is","kind":"calls","metadata":{"unresolvedName":"effect.is"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","kind":"calls","metadata":{"unresolvedName":"buildShikiDecorations"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:update","to":"external:decorations.map","kind":"calls","metadata":{"unresolvedName":"decorations.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:state.doc.line","kind":"calls","metadata":{"unresolvedName":"state.doc.line"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:ranges.push","kind":"calls","metadata":{"unresolvedName":"ranges.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:Decoration.mark({ attributes: { style: `color: ${token.color}` } }).range","kind":"calls","metadata":{"unresolvedName":"Decoration.mark({ attributes: { style: `color: ${token.color}` } }).range"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:Decoration.mark","kind":"calls","metadata":{"unresolvedName":"Decoration.mark"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:buildShikiDecorations","to":"external:Decoration.set","kind":"calls","metadata":{"unresolvedName":"Decoration.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:readonlyCodeMirrorTheme","to":"external:EditorView.theme","kind":"calls","metadata":{"unresolvedName":"EditorView.theme"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:input.setAttribute","kind":"calls","metadata":{"unresolvedName":"input.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","kind":"calls","metadata":{"unresolvedName":"createSearchButton"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"calls","metadata":{"unresolvedName":"applyQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:input.focus","kind":"calls","metadata":{"unresolvedName":"input.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:inputWrap.append","kind":"calls","metadata":{"unresolvedName":"inputWrap.append"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:nav.append","kind":"calls","metadata":{"unresolvedName":"nav.append"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"symbol-name:findPrevious","kind":"calls","metadata":{"unresolvedName":"findPrevious"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"symbol-name:findNext","kind":"calls","metadata":{"unresolvedName":"findNext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"symbol-name:selectMatches","kind":"calls","metadata":{"unresolvedName":"selectMatches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","kind":"calls","metadata":{"unresolvedName":"createSearchToggle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:options.append","kind":"calls","metadata":{"unresolvedName":"options.append"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"symbol-name:closeSearchPanel","kind":"calls","metadata":{"unresolvedName":"closeSearchPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:view.focus","kind":"calls","metadata":{"unresolvedName":"view.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:dom.append","kind":"calls","metadata":{"unresolvedName":"dom.append"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","kind":"calls","metadata":{"unresolvedName":"createSearchDivider"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"symbol-name:getSearchQuery","kind":"calls","metadata":{"unresolvedName":"getSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:caseSensitive.setPressed","kind":"calls","metadata":{"unresolvedName":"caseSensitive.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:regexp.setPressed","kind":"calls","metadata":{"unresolvedName":"regexp.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:wholeWord.setPressed","kind":"calls","metadata":{"unresolvedName":"wholeWord.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","kind":"calls","metadata":{"unresolvedName":"getSearchCountLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:view.dispatch","kind":"calls","metadata":{"unresolvedName":"view.dispatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:setSearchQuery.of","kind":"calls","metadata":{"unresolvedName":"setSearchQuery.of"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:caseSensitive.pressed","kind":"calls","metadata":{"unresolvedName":"caseSensitive.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:regexp.pressed","kind":"calls","metadata":{"unresolvedName":"regexp.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:wholeWord.pressed","kind":"calls","metadata":{"unresolvedName":"wholeWord.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:input.addEventListener","kind":"calls","metadata":{"unresolvedName":"input.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:option.button.addEventListener","kind":"calls","metadata":{"unresolvedName":"option.button.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:option.setPressed","kind":"calls","metadata":{"unresolvedName":"option.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:option.pressed","kind":"calls","metadata":{"unresolvedName":"option.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","kind":"calls","metadata":{"unresolvedName":"syncFromState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createCodeMirrorSearchPanel","to":"external:input.select","kind":"calls","metadata":{"unresolvedName":"input.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"calls","metadata":{"unresolvedName":"applyQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:input.focus","kind":"calls","metadata":{"unresolvedName":"input.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"symbol-name:closeSearchPanel","kind":"calls","metadata":{"unresolvedName":"closeSearchPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:view.focus","kind":"calls","metadata":{"unresolvedName":"view.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","to":"symbol-name:getSearchQuery","kind":"calls","metadata":{"unresolvedName":"getSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","to":"external:caseSensitive.setPressed","kind":"calls","metadata":{"unresolvedName":"caseSensitive.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","to":"external:regexp.setPressed","kind":"calls","metadata":{"unresolvedName":"regexp.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","to":"external:wholeWord.setPressed","kind":"calls","metadata":{"unresolvedName":"wholeWord.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:syncFromState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","kind":"calls","metadata":{"unresolvedName":"getSearchCountLabel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"symbol-name:getSearchQuery","kind":"calls","metadata":{"unresolvedName":"getSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"external:view.dispatch","kind":"calls","metadata":{"unresolvedName":"view.dispatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"external:setSearchQuery.of","kind":"calls","metadata":{"unresolvedName":"setSearchQuery.of"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"external:caseSensitive.pressed","kind":"calls","metadata":{"unresolvedName":"caseSensitive.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"external:regexp.pressed","kind":"calls","metadata":{"unresolvedName":"regexp.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","to":"external:wholeWord.pressed","kind":"calls","metadata":{"unresolvedName":"wholeWord.pressed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"calls","metadata":{"unresolvedName":"applyQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"symbol-name:findPrevious","kind":"calls","metadata":{"unresolvedName":"findPrevious"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"symbol-name:findNext","kind":"calls","metadata":{"unresolvedName":"findNext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"symbol-name:closeSearchPanel","kind":"calls","metadata":{"unresolvedName":"closeSearchPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:view.focus","kind":"calls","metadata":{"unresolvedName":"view.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:option.setPressed","kind":"calls","metadata":{"unresolvedName":"option.setPressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"external:option.pressed","kind":"calls","metadata":{"unresolvedName":"option.pressed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:applyQuery","kind":"calls","metadata":{"unresolvedName":"applyQuery"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount","to":"external:input.focus","kind":"calls","metadata":{"unresolvedName":"input.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:mount","to":"external:input.select","kind":"calls","metadata":{"unresolvedName":"input.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","to":"external:query.getCursor","kind":"calls","metadata":{"unresolvedName":"query.getCursor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:getSearchCountLabel","to":"external:cursor.next","kind":"calls","metadata":{"unresolvedName":"cursor.next"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchDivider","to":"external:divider.setAttribute","kind":"calls","metadata":{"unresolvedName":"divider.setAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","to":"external:button.setAttribute","kind":"calls","metadata":{"unresolvedName":"button.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","to":"external:button.addEventListener","kind":"calls","metadata":{"unresolvedName":"button.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchButton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","to":"external:button.setAttribute","kind":"calls","metadata":{"unresolvedName":"button.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts:createSearchToggle","to":"external:button.getAttribute","kind":"calls","metadata":{"unresolvedName":"button.getAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('first line')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('first line')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('second line')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('second line')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('2')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(container.querySelector('.cm-editor')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.cm-editor')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(container.querySelector('.cm-content')).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.cm-content')).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByPlaceholderText('Find')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByPlaceholderText('Find')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('No results')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('No results')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('first line')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('first line')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('second line')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('second line')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('2')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(container.querySelector('.cm-editor')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.cm-editor')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(container.querySelector('.cm-content')).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.cm-content')).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByPlaceholderText('Find')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByPlaceholderText('Find')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Match case' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Clear search' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:expect(screen.getByText('No results')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('No results')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeMirrorReadonly.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/codeMirrorReadonlyExtensions.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","kind":"calls","metadata":{"unresolvedName":"useSyntaxHighlightRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx:CodePreview","to":"symbol-name:codeLineHeight","kind":"calls","metadata":{"unresolvedName":"codeLineHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(input.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(input.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(onClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(action).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(action).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.queryByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.queryByPlaceholderText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(input.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(input.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(onClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:expect(action).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(action).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:screen.queryByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.queryByPlaceholderText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:Kbd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:Kbd","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"calls","metadata":{"unresolvedName":"parseKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","kind":"calls","metadata":{"unresolvedName":"formatKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","to":"external:formatted.split","kind":"calls","metadata":{"unresolvedName":"formatted.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:ShortcutDisplay","to":"external:parts.map","kind":"calls","metadata":{"unresolvedName":"parts.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:commands.filter","kind":"calls","metadata":{"unresolvedName":"commands.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.when","kind":"calls","metadata":{"unresolvedName":"cmd.when"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:query.trim","kind":"calls","metadata":{"unresolvedName":"query.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:visible\r\n .filter","kind":"calls","metadata":{"unresolvedName":"visible\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.label.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.label.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.description?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.description?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.category?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.category?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.category?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.category?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.id.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.id.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.id.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.id.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:a.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:a.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:b.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:b.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:cmd.action","kind":"calls","metadata":{"unresolvedName":"cmd.action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"calls","metadata":{"unresolvedName":"executeCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:listRef.current.querySelector","kind":"calls","metadata":{"unresolvedName":"listRef.current.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:el?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"el?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:CommandPalette","to":"external:filteredCommands.map","kind":"calls","metadata":{"unresolvedName":"filteredCommands.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:commands.filter","kind":"calls","metadata":{"unresolvedName":"commands.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.when","kind":"calls","metadata":{"unresolvedName":"cmd.when"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:query.trim","kind":"calls","metadata":{"unresolvedName":"query.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:visible\r\n .filter","kind":"calls","metadata":{"unresolvedName":"visible\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.label.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.label.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.description?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.description?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.category?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.category?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.category?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.category?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.id.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.id.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.id.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.id.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:a.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:a.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:b.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:b.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:a.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:a.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:b.label.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:b.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"b.label.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:cmd.action","kind":"calls","metadata":{"unresolvedName":"cmd.action"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"calls","metadata":{"unresolvedName":"executeCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"calls","metadata":{"unresolvedName":"executeCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:handleKeyDown","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:listRef.current.querySelector","kind":"calls","metadata":{"unresolvedName":"listRef.current.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"external:el?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"el?.scrollIntoView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CommandPalette.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"external:diff","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"calls","metadata":{"unresolvedName":"useResponsiveMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:content?.trim","kind":"calls","metadata":{"unresolvedName":"content?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:filePath?.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"filePath?.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:filePath?.split","kind":"calls","metadata":{"unresolvedName":"filePath?.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:(diff as string).split","kind":"calls","metadata":{"unresolvedName":"(diff as string).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"calls","metadata":{"unresolvedName":"useDiffViewerData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setDiffViewMode","kind":"calls","metadata":{"unresolvedName":"setDiffViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","kind":"calls","metadata":{"unresolvedName":"updateViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setFullscreenDiffViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenDiffViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:checkWidth","kind":"calls","metadata":{"unresolvedName":"checkWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setCollapsed","kind":"calls","metadata":{"unresolvedName":"setCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:(diff as string).split","kind":"calls","metadata":{"unresolvedName":"(diff as string).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setDiffViewMode","kind":"calls","metadata":{"unresolvedName":"setDiffViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","kind":"calls","metadata":{"unresolvedName":"updateViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:updateViewMode","to":"symbol-name:setDiffViewMode","kind":"calls","metadata":{"unresolvedName":"setDiffViewMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setFullscreenDiffViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenDiffViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:checkWidth","kind":"calls","metadata":{"unresolvedName":"checkWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ContentBlock.tsx:","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:expect(controlsHost).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(controlsHost).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:controlsHost!.appendChild","kind":"calls","metadata":{"unresolvedName":"controlsHost!.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:expect(screen.getByText('Minimize')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Minimize')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:expect(controlsHost).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(controlsHost).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:controlsHost!.appendChild","kind":"calls","metadata":{"unresolvedName":"controlsHost!.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:expect(screen.getByText('Minimize')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Minimize')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"calls","metadata":{"unresolvedName":"useUpdateStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","kind":"calls","metadata":{"unresolvedName":"getDesktopPlatform"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebar"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:document.documentElement.style.setProperty","kind":"calls","metadata":{"unresolvedName":"document.documentElement.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:document.documentElement.style.removeProperty","kind":"calls","metadata":{"unresolvedName":"document.documentElement.style.removeProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:import('@tauri-apps/api/window').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/window').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:getCurrentWindow().setTheme","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow().setTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:getCurrentWindow","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:window.history.back","kind":"calls","metadata":{"unresolvedName":"window.history.back"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:window.history.forward","kind":"calls","metadata":{"unresolvedName":"window.history.forward"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:import('@tauri-apps/api/core').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/core').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"external:invoke('open_new_window', { directory: null }).catch","kind":"calls","metadata":{"unresolvedName":"invoke('open_new_window', { directory: null }).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:DesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:document.documentElement.style.setProperty","kind":"calls","metadata":{"unresolvedName":"document.documentElement.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:document.documentElement.style.removeProperty","kind":"calls","metadata":{"unresolvedName":"document.documentElement.style.removeProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:document.documentElement.style.removeProperty","kind":"calls","metadata":{"unresolvedName":"document.documentElement.style.removeProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:import('@tauri-apps/api/window').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/window').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:getCurrentWindow().setTheme","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow().setTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:getCurrentWindow","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:getCurrentWindow().setTheme","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow().setTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:getCurrentWindow","kind":"calls","metadata":{"unresolvedName":"getCurrentWindow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:window.history.back","kind":"calls","metadata":{"unresolvedName":"window.history.back"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:window.history.forward","kind":"calls","metadata":{"unresolvedName":"window.history.forward"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:import('@tauri-apps/api/core').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/core').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:invoke('open_new_window', { directory: null }).catch","kind":"calls","metadata":{"unresolvedName":"invoke('open_new_window', { directory: null }).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"external:invoke('open_new_window', { directory: null }).catch","kind":"calls","metadata":{"unresolvedName":"invoke('open_new_window', { directory: null }).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DesktopTitlebar.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('app.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('app.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('+1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('+1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('-1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('-1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('app.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('app.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('+1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('+1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByText('-1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('-1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('fullscreen-viewer')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"external:diff","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"external:clsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:setFullscreenViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:checkWidth","kind":"calls","metadata":{"unresolvedName":"checkWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"calls","metadata":{"unresolvedName":"useDiffViewerData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","kind":"calls","metadata":{"unresolvedName":"computeDiffStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:filePath.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"filePath.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:filePath.split","kind":"calls","metadata":{"unresolvedName":"filePath.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:setCollapsed","kind":"calls","metadata":{"unresolvedName":"setCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:setModalOpen","kind":"calls","metadata":{"unresolvedName":"setModalOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:clsx","kind":"calls","metadata":{"unresolvedName":"clsx"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:setFullscreenViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:checkWidth","kind":"calls","metadata":{"unresolvedName":"checkWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:computeDiffStats","kind":"calls","metadata":{"unresolvedName":"computeDiffStats"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx:","to":"symbol-name:setModalOpen","kind":"calls","metadata":{"unresolvedName":"setModalOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:importOriginal","kind":"calls","metadata":{"unresolvedName":"importOriginal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(container.querySelector('.sticky')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.sticky')).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['same', 'tail'].join","kind":"calls","metadata":{"unresolvedName":"['same', 'tail'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['same', 'added only line', 'tail'].join","kind":"calls","metadata":{"unresolvedName":"['same', 'added only line', 'tail'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:emptyBuffer.style.backgroundPosition.split","kind":"calls","metadata":{"unresolvedName":"emptyBuffer.style.backgroundPosition.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:fireEvent.scroll","kind":"calls","metadata":{"unresolvedName":"fireEvent.scroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:updatedBuffer.style.backgroundPosition.split","kind":"calls","metadata":{"unresolvedName":"updatedBuffer.style.backgroundPosition.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(updatedX - initialX).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updatedX - initialX).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['node_modules', '.git', '.gitignore'].join","kind":"calls","metadata":{"unresolvedName":"['node_modules', '.git', '.gitignore'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['node_modules', 'root', '.gitignore'].join","kind":"calls","metadata":{"unresolvedName":"['node_modules', 'root', '.gitignore'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Array.from(container.querySelectorAll('span')).filter","kind":"calls","metadata":{"unresolvedName":"Array.from(container.querySelectorAll('span')).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:segment.classList.contains","kind":"calls","metadata":{"unresolvedName":"segment.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(changedSegments.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(changedSegments.length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(segment.closest('.text-text-100')).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(segment.closest('.text-text-100')).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:segment.closest","kind":"calls","metadata":{"unresolvedName":"segment.closest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(container.querySelector('.sticky')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(container.querySelector('.sticky')).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['same', 'tail'].join","kind":"calls","metadata":{"unresolvedName":"['same', 'tail'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['same', 'added only line', 'tail'].join","kind":"calls","metadata":{"unresolvedName":"['same', 'added only line', 'tail'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:emptyBuffer.style.backgroundPosition.split","kind":"calls","metadata":{"unresolvedName":"emptyBuffer.style.backgroundPosition.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:fireEvent.scroll","kind":"calls","metadata":{"unresolvedName":"fireEvent.scroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:updatedBuffer.style.backgroundPosition.split","kind":"calls","metadata":{"unresolvedName":"updatedBuffer.style.backgroundPosition.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(updatedX - initialX).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updatedX - initialX).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:updatedBuffer.style.backgroundPosition.split","kind":"calls","metadata":{"unresolvedName":"updatedBuffer.style.backgroundPosition.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(updatedX - initialX).toBe","kind":"calls","metadata":{"unresolvedName":"expect(updatedX - initialX).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['node_modules', '.git', '.gitignore'].join","kind":"calls","metadata":{"unresolvedName":"['node_modules', '.git', '.gitignore'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:['node_modules', 'root', '.gitignore'].join","kind":"calls","metadata":{"unresolvedName":"['node_modules', 'root', '.gitignore'].join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Array.from(container.querySelectorAll('span')).filter","kind":"calls","metadata":{"unresolvedName":"Array.from(container.querySelectorAll('span')).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:segment.classList.contains","kind":"calls","metadata":{"unresolvedName":"segment.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(changedSegments.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(changedSegments.length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:expect(segment.closest('.text-text-100')).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(segment.closest('.text-text-100')).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.test.tsx:","to":"external:segment.closest","kind":"calls","metadata":{"unresolvedName":"segment.closest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"external:diff","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:codeLineHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:codeLineHeight","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","to":"external:next.get","kind":"calls","metadata":{"unresolvedName":"next.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","to":"external:next.set","kind":"calls","metadata":{"unresolvedName":"next.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","to":"external:expandedRegions?.get","kind":"calls","metadata":{"unresolvedName":"expandedRegions?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","to":"external:expandedRegions?.get","kind":"calls","metadata":{"unresolvedName":"expandedRegions?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"calls","metadata":{"unresolvedName":"getLineBgClass"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle","kind":"calls","metadata":{"unresolvedName":"getEmptyBufferBackgroundStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","to":"external:content.split","kind":"calls","metadata":{"unresolvedName":"content.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","kind":"calls","metadata":{"unresolvedName":"getLineNumberColumnWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","kind":"calls","metadata":{"unresolvedName":"getLineCount"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:LineNumberCell","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:LineNumberCell","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffMarkerCell","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffMarkerCell","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:EmptyContentBuffer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:EmptyContentBuffer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:EmptyContentBuffer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","kind":"calls","metadata":{"unresolvedName":"getEmptyBufferRowStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:ExpandIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:ExpandIcon","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","to":"external:directions.push","kind":"calls","metadata":{"unresolvedName":"directions.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton","to":"external:directions.map","kind":"calls","metadata":{"unresolvedName":"directions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedExpandButton","to":"symbol-name:onExpand","kind":"calls","metadata":{"unresolvedName":"onExpand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel","to":"symbol-name:onExpand","kind":"calls","metadata":{"unresolvedName":"onExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabelOverlay","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedLabelOverlay","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedContinuation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedContinuation","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedBar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedBar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:CollapsedBar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"calls","metadata":{"unresolvedName":"getSeparatorDirections"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"calls","metadata":{"unresolvedName":"useSyntaxHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","kind":"calls","metadata":{"unresolvedName":"computePairedLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","kind":"calls","metadata":{"unresolvedName":"computeUnifiedLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffLineNumberWidth","kind":"calls","metadata":{"unresolvedName":"useDiffLineNumberWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffViewerWithData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffViewerWithData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:DiffViewerWithData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"calls","metadata":{"unresolvedName":"useDiffViewerData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:codeLineHeight","kind":"calls","metadata":{"unresolvedName":"codeLineHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:before.trim","kind":"calls","metadata":{"unresolvedName":"before.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:after.trim","kind":"calls","metadata":{"unresolvedName":"after.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","kind":"calls","metadata":{"unresolvedName":"collapseContextPaired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"calls","metadata":{"unresolvedName":"estimateWrappedVisualLineCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent","kind":"calls","metadata":{"unresolvedName":"getWrappedPairContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","kind":"calls","metadata":{"unresolvedName":"useDynamicVirtualScroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureRef","kind":"calls","metadata":{"unresolvedName":"measureRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:el.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"el.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"calls","metadata":{"unresolvedName":"alignDeleteChangeBars"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:visibleRows.push","kind":"calls","metadata":{"unresolvedName":"visibleRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureWrappedRowRef","kind":"calls","metadata":{"unresolvedName":"measureWrappedRowRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:handleExpand","kind":"calls","metadata":{"unresolvedName":"handleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferBackgroundStyle","kind":"calls","metadata":{"unresolvedName":"getEmptyBufferBackgroundStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","kind":"calls","metadata":{"unresolvedName":"getContentBgClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"calls","metadata":{"unresolvedName":"getChangeBarProps"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"calls","metadata":{"unresolvedName":"estimateWrappedVisualLineCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getWrappedPairContent","kind":"calls","metadata":{"unresolvedName":"getWrappedPairContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureRef","kind":"calls","metadata":{"unresolvedName":"measureRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:el.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"el.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"calls","metadata":{"unresolvedName":"alignDeleteChangeBars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextPaired","kind":"calls","metadata":{"unresolvedName":"collapseContextPaired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftContentWidth","kind":"calls","metadata":{"unresolvedName":"setLeftContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightContentWidth","kind":"calls","metadata":{"unresolvedName":"setRightContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftClientWidth","kind":"calls","metadata":{"unresolvedName":"setLeftClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightClientWidth","kind":"calls","metadata":{"unresolvedName":"setRightClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.observe","kind":"calls","metadata":{"unresolvedName":"mo.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftScrollLeft","kind":"calls","metadata":{"unresolvedName":"setLeftScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightScrollLeft","kind":"calls","metadata":{"unresolvedName":"setRightScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"calls","metadata":{"unresolvedName":"getSeparatorDirections"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:leftGutterRows.push","kind":"calls","metadata":{"unresolvedName":"leftGutterRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:handleExpand","kind":"calls","metadata":{"unresolvedName":"handleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:leftContentRows.push","kind":"calls","metadata":{"unresolvedName":"leftContentRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:rightGutterRows.push","kind":"calls","metadata":{"unresolvedName":"rightGutterRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:rightContentRows.push","kind":"calls","metadata":{"unresolvedName":"rightContentRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass","kind":"calls","metadata":{"unresolvedName":"getGutterBgClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getEmptyBufferRowStyle","kind":"calls","metadata":{"unresolvedName":"getEmptyBufferRowStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"calls","metadata":{"unresolvedName":"getChangeBarProps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getContentBgClass","kind":"calls","metadata":{"unresolvedName":"getContentBgClass"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftContentWidth","kind":"calls","metadata":{"unresolvedName":"setLeftContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightContentWidth","kind":"calls","metadata":{"unresolvedName":"setRightContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftClientWidth","kind":"calls","metadata":{"unresolvedName":"setLeftClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightClientWidth","kind":"calls","metadata":{"unresolvedName":"setRightClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.observe","kind":"calls","metadata":{"unresolvedName":"mo.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setLeftContentWidth","kind":"calls","metadata":{"unresolvedName":"setLeftContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setRightContentWidth","kind":"calls","metadata":{"unresolvedName":"setRightContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setLeftClientWidth","kind":"calls","metadata":{"unresolvedName":"setLeftClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setRightClientWidth","kind":"calls","metadata":{"unresolvedName":"setRightClientWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftScrollLeft","kind":"calls","metadata":{"unresolvedName":"setLeftScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightScrollLeft","kind":"calls","metadata":{"unresolvedName":"setRightScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setLeftScrollLeft","kind":"calls","metadata":{"unresolvedName":"setLeftScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setRightScrollLeft","kind":"calls","metadata":{"unresolvedName":"setRightScrollLeft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","kind":"calls","metadata":{"unresolvedName":"collapseContextUnified"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContentWidth","kind":"calls","metadata":{"unresolvedName":"setContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContentClientWidth","kind":"calls","metadata":{"unresolvedName":"setContentClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.observe","kind":"calls","metadata":{"unresolvedName":"mo.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getSeparatorDirections","kind":"calls","metadata":{"unresolvedName":"getSeparatorDirections"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:gutterRows.push","kind":"calls","metadata":{"unresolvedName":"gutterRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:handleExpand","kind":"calls","metadata":{"unresolvedName":"handleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:contentRows.push","kind":"calls","metadata":{"unresolvedName":"contentRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getGutterBgClass","kind":"calls","metadata":{"unresolvedName":"getGutterBgClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"calls","metadata":{"unresolvedName":"getChangeBarProps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"calls","metadata":{"unresolvedName":"getLineBgClass"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContentWidth","kind":"calls","metadata":{"unresolvedName":"setContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setContentClientWidth","kind":"calls","metadata":{"unresolvedName":"setContentClientWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.observe","kind":"calls","metadata":{"unresolvedName":"mo.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setContentWidth","kind":"calls","metadata":{"unresolvedName":"setContentWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:measure","to":"symbol-name:setContentClientWidth","kind":"calls","metadata":{"unresolvedName":"setContentClientWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:mo.disconnect","kind":"calls","metadata":{"unresolvedName":"mo.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:collapseContextUnified","kind":"calls","metadata":{"unresolvedName":"collapseContextUnified"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"calls","metadata":{"unresolvedName":"estimateWrappedVisualLineCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","kind":"calls","metadata":{"unresolvedName":"useDynamicVirtualScroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureRef","kind":"calls","metadata":{"unresolvedName":"measureRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"calls","metadata":{"unresolvedName":"alignDeleteChangeBars"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:visibleRows.push","kind":"calls","metadata":{"unresolvedName":"visibleRows.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureWrappedUnifiedRowRef","kind":"calls","metadata":{"unresolvedName":"measureWrappedUnifiedRowRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:handleExpand","kind":"calls","metadata":{"unresolvedName":"handleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getLineBgClass","kind":"calls","metadata":{"unresolvedName":"getLineBgClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:getChangeBarProps","kind":"calls","metadata":{"unresolvedName":"getChangeBarProps"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:setExpandedRegions","kind":"calls","metadata":{"unresolvedName":"setExpandedRegions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:expandRegion","kind":"calls","metadata":{"unresolvedName":"expandRegion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isCollapsed","kind":"calls","metadata":{"unresolvedName":"isCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:estimateWrappedVisualLineCount","kind":"calls","metadata":{"unresolvedName":"estimateWrappedVisualLineCount"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"symbol-name:measureRef","kind":"calls","metadata":{"unresolvedName":"measureRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:alignDeleteChangeBars","kind":"calls","metadata":{"unresolvedName":"alignDeleteChangeBars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:line.wordDiffSegments.map","kind":"calls","metadata":{"unresolvedName":"line.wordDiffSegments.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:","to":"external:lineTokens.map","kind":"calls","metadata":{"unresolvedName":"lineTokens.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","to":"external:token.content.substring","kind":"calls","metadata":{"unresolvedName":"token.content.substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","to":"external:children.push","kind":"calls","metadata":{"unresolvedName":"children.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","to":"external:seg.text.substring","kind":"calls","metadata":{"unresolvedName":"seg.text.substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:MergedWordDiffLine","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"external:before.split","kind":"calls","metadata":{"unresolvedName":"before.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"external:after.split","kind":"calls","metadata":{"unresolvedName":"after.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","kind":"calls","metadata":{"unresolvedName":"computeWordDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isTooFragmented","kind":"calls","metadata":{"unresolvedName":"isTooFragmented"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computePairedLines","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","to":"external:before.split","kind":"calls","metadata":{"unresolvedName":"before.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","to":"external:after.split","kind":"calls","metadata":{"unresolvedName":"after.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeUnifiedLines","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isTooFragmented","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:isTooFragmented","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","to":"symbol-name:diffWords","kind":"calls","metadata":{"unresolvedName":"diffWords"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","to":"external:/^\\s*$/.test","kind":"calls","metadata":{"unresolvedName":"/^\\s*$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","to":"external:mergedChanges.push","kind":"calls","metadata":{"unresolvedName":"mergedChanges.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","to":"external:left.push","kind":"calls","metadata":{"unresolvedName":"left.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:computeWordDiff","to":"external:right.push","kind":"calls","metadata":{"unresolvedName":"right.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:getDerivedStateFromError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:getDerivedStateFromError","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:componentDidCatch","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","to":"external:window.location.reload","kind":"calls","metadata":{"unresolvedName":"window.location.reload"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:","to":"external:window.location.reload","kind":"calls","metadata":{"unresolvedName":"window.location.reload"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","to":"external:this.state.error?.toString","kind":"calls","metadata":{"unresolvedName":"this.state.error?.toString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:getExtensionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getExtensionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:installExtensionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"installExtensionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:removeExtensionPackageMock.mockReset","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackageMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:vi.spyOn(window, 'confirm').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'confirm').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:getExtensionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getExtensionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:installExtensionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"installExtensionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:removeExtensionPackageMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackageMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('pi-hud')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('pi-hud')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('(3)')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('(3)')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Active').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Active').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Inactive').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Inactive').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Missing').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Missing').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('Skills 1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Skills 1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('index.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('index.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(installExtensionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(installExtensionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(removeExtensionPackageMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(removeExtensionPackageMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:getExtensionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getExtensionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:installExtensionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"installExtensionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:removeExtensionPackageMock.mockReset","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackageMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:vi.spyOn(window, 'confirm').mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'confirm').mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:getExtensionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getExtensionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:installExtensionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"installExtensionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:removeExtensionPackageMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackageMock.mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('pi-hud')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('pi-hud')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('(3)')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('(3)')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Active').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Active').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Inactive').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Inactive').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Missing').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Missing').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Persistent HUD extension')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('Extensions 1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('Skills 1')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Skills 1')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(screen.getByText('index.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('index.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(installExtensionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(installExtensionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.test.tsx:","to":"external:expect(removeExtensionPackageMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(removeExtensionPackageMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"calls","metadata":{"unresolvedName":"getExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:loadExtensions","kind":"calls","metadata":{"unresolvedName":"loadExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filter.trim().toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.trim().toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filter.trim","kind":"calls","metadata":{"unresolvedName":"filter.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:catalog.packages.filter","kind":"calls","metadata":{"unresolvedName":"catalog.packages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:value.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:scopes\n .map","kind":"calls","metadata":{"unresolvedName":"scopes\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filteredPackages.filter","kind":"calls","metadata":{"unresolvedName":"filteredPackages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:installCommand.trim","kind":"calls","metadata":{"unresolvedName":"installCommand.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionError","kind":"calls","metadata":{"unresolvedName":"setActionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"calls","metadata":{"unresolvedName":"installExtension"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setInstallCommand","kind":"calls","metadata":{"unresolvedName":"setInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setReloadRequired","kind":"calls","metadata":{"unresolvedName":"setReloadRequired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setFilter","kind":"calls","metadata":{"unresolvedName":"setFilter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:groupedPackages.map","kind":"calls","metadata":{"unresolvedName":"groupedPackages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:group.packages.map","kind":"calls","metadata":{"unresolvedName":"group.packages.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:getExtensions","kind":"calls","metadata":{"unresolvedName":"getExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:loadExtensions","kind":"calls","metadata":{"unresolvedName":"loadExtensions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filter.trim().toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.trim().toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filter.trim","kind":"calls","metadata":{"unresolvedName":"filter.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:catalog.packages.filter","kind":"calls","metadata":{"unresolvedName":"catalog.packages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:value.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:scopes\n .map","kind":"calls","metadata":{"unresolvedName":"scopes\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:filteredPackages.filter","kind":"calls","metadata":{"unresolvedName":"filteredPackages.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:loadExtensions","kind":"calls","metadata":{"unresolvedName":"loadExtensions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:installCommand.trim","kind":"calls","metadata":{"unresolvedName":"installCommand.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionError","kind":"calls","metadata":{"unresolvedName":"setActionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:installExtension","kind":"calls","metadata":{"unresolvedName":"installExtension"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setInstallCommand","kind":"calls","metadata":{"unresolvedName":"setInstallCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setReloadRequired","kind":"calls","metadata":{"unresolvedName":"setReloadRequired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:loadExtensions","kind":"calls","metadata":{"unresolvedName":"loadExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setActionError","kind":"calls","metadata":{"unresolvedName":"setActionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/extension.ts:removeExtensionPackage","kind":"calls","metadata":{"unresolvedName":"removeExtensionPackage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:setReloadRequired","kind":"calls","metadata":{"unresolvedName":"setReloadRequired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:loadExtensions","kind":"calls","metadata":{"unresolvedName":"loadExtensions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","to":"symbol-name:onCommandChange","kind":"calls","metadata":{"unresolvedName":"onCommandChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:InstallCommandCard","to":"external:command.trim","kind":"calls","metadata":{"unresolvedName":"command.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","to":"external:STATUS_ORDER.map","kind":"calls","metadata":{"unresolvedName":"STATUS_ORDER.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:SummaryBar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources","kind":"calls","metadata":{"unresolvedName":"countResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"external:detailRows.join","kind":"calls","metadata":{"unresolvedName":"detailRows.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"symbol-name:onUninstall","kind":"calls","metadata":{"unresolvedName":"onUninstall"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"external:resourceCounts.map","kind":"calls","metadata":{"unresolvedName":"resourceCounts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:ExtensionPackageCard","to":"external:extensionResources.map","kind":"calls","metadata":{"unresolvedName":"extensionResources.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:StatusBadge","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ExtensionPanel.tsx:countResources","to":"external:(['extensions', 'skills', 'prompts', 'themes'] as const)\n .map","kind":"calls","metadata":{"unresolvedName":"(['extensions', 'skills', 'prompts', 'themes'] as const)\n .map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","to":"external:MARKDOWN_MIME_TYPES.has","kind":"calls","metadata":{"unresolvedName":"MARKDOWN_MIME_TYPES.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","to":"external:mimeType.split(';', 1)[0].toLowerCase","kind":"calls","metadata":{"unresolvedName":"mimeType.split(';', 1)[0].toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","to":"external:mimeType.split","kind":"calls","metadata":{"unresolvedName":"mimeType.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","kind":"calls","metadata":{"unresolvedName":"useVerticalSplitResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"calls","metadata":{"unresolvedName":"useFileExplorer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:loadPreview","kind":"calls","metadata":{"unresolvedName":"loadPreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:clearPreview","kind":"calls","metadata":{"unresolvedName":"clearPreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:toggleExpand","kind":"calls","metadata":{"unresolvedName":"toggleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.openFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.openFilePreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.closeAllFilePreviews","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeAllFilePreviews"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.activateFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.activateFilePreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.closeFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeFilePreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.reorderFilePreviews","kind":"calls","metadata":{"unresolvedName":"layoutStore.reorderFilePreviews"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:tree.map","kind":"calls","metadata":{"unresolvedName":"tree.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:loadPreview","kind":"calls","metadata":{"unresolvedName":"loadPreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:clearPreview","kind":"calls","metadata":{"unresolvedName":"clearPreview"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:loadPreview","kind":"calls","metadata":{"unresolvedName":"loadPreview"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:toggleExpand","kind":"calls","metadata":{"unresolvedName":"toggleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.openFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.openFilePreview"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.closeAllFilePreviews","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeAllFilePreviews"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.activateFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.activateFilePreview"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.closeFilePreview","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeFilePreview"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:layoutStore.reorderFilePreviews","kind":"calls","metadata":{"unresolvedName":"layoutStore.reorderFilePreviews"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:fileStatus.get","kind":"calls","metadata":{"unresolvedName":"fileStatus.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:node.path.replace","kind":"calls","metadata":{"unresolvedName":"node.path.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:onClick","kind":"calls","metadata":{"unresolvedName":"onClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:node.children.map","kind":"calls","metadata":{"unresolvedName":"node.children.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"external:path?.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"path?.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"external:path?.split","kind":"calls","metadata":{"unresolvedName":"path?.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","kind":"calls","metadata":{"unresolvedName":"downloadFileContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"external:previewFiles.map","kind":"calls","metadata":{"unresolvedName":"previewFiles.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","kind":"calls","metadata":{"unresolvedName":"getPreviewCategory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","kind":"calls","metadata":{"unresolvedName":"isMarkdownPreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"calls","metadata":{"unresolvedName":"isBinaryContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","kind":"calls","metadata":{"unresolvedName":"decodeBase64Text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","kind":"calls","metadata":{"unresolvedName":"isTextualMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl","kind":"calls","metadata":{"unresolvedName":"buildDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","kind":"calls","metadata":{"unresolvedName":"buildTextDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:FilePreview","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","kind":"calls","metadata":{"unresolvedName":"downloadFileContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","kind":"calls","metadata":{"unresolvedName":"getPreviewCategory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:isMarkdownPreview","kind":"calls","metadata":{"unresolvedName":"isMarkdownPreview"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"calls","metadata":{"unresolvedName":"isBinaryContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","kind":"calls","metadata":{"unresolvedName":"decodeBase64Text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","kind":"calls","metadata":{"unresolvedName":"isTextualMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl","kind":"calls","metadata":{"unresolvedName":"buildDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","kind":"calls","metadata":{"unresolvedName":"buildTextDataUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MediaPreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MediaPreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MediaPreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","kind":"calls","metadata":{"unresolvedName":"formatMimeType"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:el.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"el.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:computeFitScale","kind":"calls","metadata":{"unresolvedName":"computeFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:setFitScale","kind":"calls","metadata":{"unresolvedName":"setFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:setInitialized","kind":"calls","metadata":{"unresolvedName":"setInitialized"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","kind":"calls","metadata":{"unresolvedName":"updateFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:ImagePreview","to":"symbol-name:setNaturalSize","kind":"calls","metadata":{"unresolvedName":"setNaturalSize"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:el.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"el.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:computeFitScale","kind":"calls","metadata":{"unresolvedName":"computeFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setFitScale","kind":"calls","metadata":{"unresolvedName":"setFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setInitialized","kind":"calls","metadata":{"unresolvedName":"setInitialized"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","kind":"calls","metadata":{"unresolvedName":"updateFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","to":"symbol-name:computeFitScale","kind":"calls","metadata":{"unresolvedName":"computeFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","to":"symbol-name:setFitScale","kind":"calls","metadata":{"unresolvedName":"setFitScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:updateFitScale","to":"symbol-name:setInitialized","kind":"calls","metadata":{"unresolvedName":"setInitialized"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:el.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"el.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"external:el.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"el.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:handler","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onMove","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:onUp","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"symbol-name:setNaturalSize","kind":"calls","metadata":{"unresolvedName":"setNaturalSize"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:TextMediaPreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:MarkdownFilePreview","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","kind":"calls","metadata":{"unresolvedName":"formatMimeType"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:BinaryPlaceholder","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","to":"external:hunks.map","kind":"calls","metadata":{"unresolvedName":"hunks.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","to":"external:hunk.lines.map","kind":"calls","metadata":{"unresolvedName":"hunk.lines.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:DiffPreview","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FileExplorer.tsx:","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:usesCustomDesktopTitlebarMock.mockReset","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:usesCustomDesktopTitlebarMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByRole('dialog')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByText('app.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('app.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByTestId('content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('content')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.queryByRole('dialog')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('dialog')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.queryByText('closeEsc')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('closeEsc')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByRole('dialog')).toHaveStyle","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toHaveStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:usesCustomDesktopTitlebarMock.mockReset","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:usesCustomDesktopTitlebarMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByRole('dialog')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByText('app.ts')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('app.ts')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByTestId('content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('content')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.queryByRole('dialog')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('dialog')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByRole('dialog')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByTestId('content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('content')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.queryByText('closeEsc')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('closeEsc')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:usesCustomDesktopTitlebarMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebarMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:expect(screen.getByRole('dialog')).toHaveStyle","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog')).toHaveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","kind":"calls","metadata":{"unresolvedName":"usesCustomDesktopTitlebar"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:DeferredFullscreenContent","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx:ViewModeSwitch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","to":"external:lucide-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","to":"external:lucide-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx:wrap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx:wrap","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(codeEl).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.tagName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.tagName).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.className).not.toMatch","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.className).not.toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.className).toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByTestId('code-block')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('code-block')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('paragraph')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('paragraph')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(heading.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(heading.className).toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(paragraph.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(paragraph.className).toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(block.dataset.variant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(block.dataset.variant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('table')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('table')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByTestId('copy-button')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('copy-button')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.queryByTestId","kind":"calls","metadata":{"unresolvedName":"screen.queryByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(img).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(img).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(img.tagName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(img.tagName).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.queryByTitle('Download image')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTitle('Download image')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.queryByTitle","kind":"calls","metadata":{"unresolvedName":"screen.queryByTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('heading', { name: 'Title' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(codeEl).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.tagName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.tagName).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.className).not.toMatch","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.className).not.toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.className).toMatch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByTestId('code-block')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('code-block')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('paragraph')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('paragraph')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(heading.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(heading.className).toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(paragraph.className).toMatch","kind":"calls","metadata":{"unresolvedName":"expect(paragraph.className).toMatch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(codeEl.className).not.toMatch","kind":"calls","metadata":{"unresolvedName":"expect(codeEl.className).not.toMatch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(block.dataset.variant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(block.dataset.variant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(block.dataset.variant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(block.dataset.variant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('table')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('table')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByTestId('copy-button')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('copy-button')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.getByRole('table')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('table')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTestId('copy-button')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.queryByTestId","kind":"calls","metadata":{"unresolvedName":"screen.queryByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(img).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(img).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(img.tagName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(img.tagName).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:expect(screen.queryByTitle('Download image')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTitle('Download image')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.test.tsx:","to":"external:screen.queryByTitle","kind":"calls","metadata":{"unresolvedName":"screen.queryByTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"external:streamdown","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"external:@streamdown/math","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"external:node.map(extractText).join","kind":"calls","metadata":{"unresolvedName":"node.map(extractText).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"external:node.map","kind":"calls","metadata":{"unresolvedName":"node.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"calls","metadata":{"unresolvedName":"extractText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","to":"external:/language-([\\w-]+)/.exec","kind":"calls","metadata":{"unresolvedName":"/language-([\\w-]+)/.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","to":"external:extractText(props.children).replace","kind":"calls","metadata":{"unresolvedName":"extractText(props.children).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"calls","metadata":{"unresolvedName":"extractText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:cells\r\n .filter(isValidElement)\r\n .map","kind":"calls","metadata":{"unresolvedName":"cells\r\n .filter(isValidElement)\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:cells\r\n .filter","kind":"calls","metadata":{"unresolvedName":"cells\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractText","kind":"calls","metadata":{"unresolvedName":"extractText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:String(sectionType).toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:String(sectionType).toLowerCase","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:headers.push","kind":"calls","metadata":{"unresolvedName":"headers.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","to":"external:rows.push","kind":"calls","metadata":{"unresolvedName":"rows.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:headers.map","kind":"calls","metadata":{"unresolvedName":"headers.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:headers.join","kind":"calls","metadata":{"unresolvedName":"headers.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:sep.join","kind":"calls","metadata":{"unresolvedName":"sep.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:rows.map","kind":"calls","metadata":{"unresolvedName":"rows.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:r.join","kind":"calls","metadata":{"unresolvedName":"r.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","to":"external:lines.join","kind":"calls","metadata":{"unresolvedName":"lines.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:Children.map","kind":"calls","metadata":{"unresolvedName":"Children.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:String(sectionType).toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:String(sectionType).toLowerCase","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:Children.toArray","kind":"calls","metadata":{"unresolvedName":"Children.toArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"symbol-name:cloneElement","kind":"calls","metadata":{"unresolvedName":"cloneElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:rows.map","kind":"calls","metadata":{"unresolvedName":"rows.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","to":"external:cells.map","kind":"calls","metadata":{"unresolvedName":"cells.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:String(sectionType).toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:String(sectionType).toLowerCase","kind":"calls","metadata":{"unresolvedName":"String(sectionType).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:Children.toArray","kind":"calls","metadata":{"unresolvedName":"Children.toArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:cloneElement","kind":"calls","metadata":{"unresolvedName":"cloneElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:rows.map","kind":"calls","metadata":{"unresolvedName":"rows.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:cells.map","kind":"calls","metadata":{"unresolvedName":"cells.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:Children.toArray","kind":"calls","metadata":{"unresolvedName":"Children.toArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:cloneElement","kind":"calls","metadata":{"unresolvedName":"cloneElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"external:cells.map","kind":"calls","metadata":{"unresolvedName":"cells.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:isValidElement","kind":"calls","metadata":{"unresolvedName":"isValidElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:cloneElement","kind":"calls","metadata":{"unresolvedName":"cloneElement"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","kind":"calls","metadata":{"unresolvedName":"extractTableData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","kind":"calls","metadata":{"unresolvedName":"tableToMarkdown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","kind":"calls","metadata":{"unresolvedName":"injectTableCopyButton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractTableData","kind":"calls","metadata":{"unresolvedName":"extractTableData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:tableToMarkdown","kind":"calls","metadata":{"unresolvedName":"tableToMarkdown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:injectTableCopyButton","kind":"calls","metadata":{"unresolvedName":"injectTableCopyButton"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","kind":"calls","metadata":{"unresolvedName":"extractBlockCode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:inlineCode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:inlineCode","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:pre","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:pre","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:pre","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:extractBlockCode","kind":"calls","metadata":{"unresolvedName":"extractBlockCode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/mcp.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"calls","metadata":{"unresolvedName":"getMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:Object.entries(statusResponse.servers).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(statusResponse.servers).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:entries.sort","kind":"calls","metadata":{"unresolvedName":"entries.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setServers","kind":"calls","metadata":{"unresolvedName":"setServers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer","kind":"calls","metadata":{"unresolvedName":"connectMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer","kind":"calls","metadata":{"unresolvedName":"disconnectMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp","kind":"calls","metadata":{"unresolvedName":"authenticateMcp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","kind":"calls","metadata":{"unresolvedName":"startMcpAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:(await import('../utils/tauri')).isTauri","kind":"calls","metadata":{"unresolvedName":"(await import('../utils/tauri')).isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:import('@tauri-apps/plugin-opener')\n .then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener')\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer","kind":"calls","metadata":{"unresolvedName":"addMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setShowAddForm","kind":"calls","metadata":{"unresolvedName":"setShowAddForm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:servers.map","kind":"calls","metadata":{"unresolvedName":"servers.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:getMcpStatus","kind":"calls","metadata":{"unresolvedName":"getMcpStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:Object.entries(statusResponse.servers).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(statusResponse.servers).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:entries.sort","kind":"calls","metadata":{"unresolvedName":"entries.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setServers","kind":"calls","metadata":{"unresolvedName":"setServers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:connectMcpServer","kind":"calls","metadata":{"unresolvedName":"connectMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:disconnectMcpServer","kind":"calls","metadata":{"unresolvedName":"disconnectMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:authenticateMcp","kind":"calls","metadata":{"unresolvedName":"authenticateMcp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:startMcpAuth","kind":"calls","metadata":{"unresolvedName":"startMcpAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:(await import('../utils/tauri')).isTauri","kind":"calls","metadata":{"unresolvedName":"(await import('../utils/tauri')).isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:import('@tauri-apps/plugin-opener')\n .then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener')\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/mcp.ts:addMcpServer","kind":"calls","metadata":{"unresolvedName":"addMcpServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setShowAddForm","kind":"calls","metadata":{"unresolvedName":"setShowAddForm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:command.trim","kind":"calls","metadata":{"unresolvedName":"command.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:command.trim().split","kind":"calls","metadata":{"unresolvedName":"command.trim().split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:cmdParts.slice","kind":"calls","metadata":{"unresolvedName":"cmdParts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setServerType","kind":"calls","metadata":{"unresolvedName":"setServerType"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setCommand","kind":"calls","metadata":{"unresolvedName":"setCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setUrl","kind":"calls","metadata":{"unresolvedName":"setUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:command.trim","kind":"calls","metadata":{"unresolvedName":"command.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:command.trim().split","kind":"calls","metadata":{"unresolvedName":"command.trim().split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:cmdParts.slice","kind":"calls","metadata":{"unresolvedName":"cmdParts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:handleSubmit","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getErrorMessage","kind":"calls","metadata":{"unresolvedName":"getErrorMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo","kind":"calls","metadata":{"unresolvedName":"getStatusInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onDisconnect","kind":"calls","metadata":{"unresolvedName":"onDisconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onConnect","kind":"calls","metadata":{"unresolvedName":"onConnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onAuth","kind":"calls","metadata":{"unresolvedName":"onAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusDotColor","kind":"calls","metadata":{"unresolvedName":"getStatusDotColor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","kind":"calls","metadata":{"unresolvedName":"renderActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:status.args?.join","kind":"calls","metadata":{"unresolvedName":"status.args?.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getErrorMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getErrorMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","to":"symbol-name:onDisconnect","kind":"calls","metadata":{"unresolvedName":"onDisconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","to":"symbol-name:onConnect","kind":"calls","metadata":{"unresolvedName":"onConnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:renderActions","to":"symbol-name:onAuth","kind":"calls","metadata":{"unresolvedName":"onAuth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onDisconnect","kind":"calls","metadata":{"unresolvedName":"onDisconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onConnect","kind":"calls","metadata":{"unresolvedName":"onConnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:","to":"symbol-name:onAuth","kind":"calls","metadata":{"unresolvedName":"onAuth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusDotColor","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/McpPanel.tsx:getStatusDotColor","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength","to":"external:Math.cos","kind":"calls","metadata":{"unresolvedName":"Math.cos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","to":"external:Array.from(container.querySelectorAll(ITEM_SEL))\r\n .map","kind":"calls","metadata":{"unresolvedName":"Array.from(container.querySelectorAll(ITEM_SEL))\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","to":"external:el.querySelector","kind":"calls","metadata":{"unresolvedName":"el.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","to":"external:items[i].el.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"items[i].el.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:cosineStrength","kind":"calls","metadata":{"unresolvedName":"cosineStrength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:smoothStep","kind":"calls","metadata":{"unresolvedName":"smoothStep"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate","to":"external:s.slice","kind":"calls","metadata":{"unresolvedName":"s.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","to":"external:s.replace(/\\s+/g, ' ').trim","kind":"calls","metadata":{"unresolvedName":"s.replace(/\\s+/g, ' ').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","to":"external:s.replace","kind":"calls","metadata":{"unresolvedName":"s.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"calls","metadata":{"unresolvedName":"hasRenderableParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:messageHasContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage","kind":"calls","metadata":{"unresolvedName":"isAbortedMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:messages.filter","kind":"calls","metadata":{"unresolvedName":"messages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"symbol-name:isUserMessage","kind":"calls","metadata":{"unresolvedName":"isUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:msg.info.summary?.title?.trim","kind":"calls","metadata":{"unresolvedName":"msg.info.summary?.title?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:getMessageText(msg)\r\n .trim()\r\n .split(/\\r?\\n/)\r\n .map","kind":"calls","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim()\r\n .split(/\\r?\\n/)\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:getMessageText(msg)\r\n .trim()\r\n .split","kind":"calls","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim()\r\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:getMessageText(msg)\r\n .trim","kind":"calls","metadata":{"unresolvedName":"getMessageText(msg)\r\n .trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:l.trim","kind":"calls","metadata":{"unresolvedName":"l.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:normalizeWhitespace","kind":"calls","metadata":{"unresolvedName":"normalizeWhitespace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"external:entries.push","kind":"calls","metadata":{"unresolvedName":"entries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:truncate","kind":"calls","metadata":{"unresolvedName":"truncate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","to":"external:visibleSet.has","kind":"calls","metadata":{"unresolvedName":"visibleSet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","to":"external:entries.slice","kind":"calls","metadata":{"unresolvedName":"entries.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:TickRail","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:TickRail","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:TickRail","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:extractEntries","kind":"calls","metadata":{"unresolvedName":"extractEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:sliceAroundVisible","kind":"calls","metadata":{"unresolvedName":"sliceAroundVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"calls","metadata":{"unresolvedName":"queryCachedItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"calls","metadata":{"unresolvedName":"applyFisheye"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"calls","metadata":{"unresolvedName":"getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setZoneActive","kind":"calls","metadata":{"unresolvedName":"setZoneActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:kick","kind":"calls","metadata":{"unresolvedName":"kick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:deactivate","kind":"calls","metadata":{"unresolvedName":"deactivate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"calls","metadata":{"unresolvedName":"queryCachedItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"calls","metadata":{"unresolvedName":"applyFisheye"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"calls","metadata":{"unresolvedName":"getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setZoneActive","kind":"calls","metadata":{"unresolvedName":"setZoneActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:kick","kind":"calls","metadata":{"unresolvedName":"kick"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setZoneActive","kind":"calls","metadata":{"unresolvedName":"setZoneActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:kick","kind":"calls","metadata":{"unresolvedName":"kick"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:deactivate","kind":"calls","metadata":{"unresolvedName":"deactivate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"calls","metadata":{"unresolvedName":"queryCachedItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:bridge.vibrate","kind":"calls","metadata":{"unresolvedName":"bridge.vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:navigator.vibrate","kind":"calls","metadata":{"unresolvedName":"navigator.vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"calls","metadata":{"unresolvedName":"applyFisheye"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"calls","metadata":{"unresolvedName":"getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:vibrate","kind":"calls","metadata":{"unresolvedName":"vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setOverlayVisible","kind":"calls","metadata":{"unresolvedName":"setOverlayVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:kickRef.current","kind":"calls","metadata":{"unresolvedName":"kickRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:onSelectRef.current","kind":"calls","metadata":{"unresolvedName":"onSelectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:queryCachedItems","kind":"calls","metadata":{"unresolvedName":"queryCachedItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:bridge.vibrate","kind":"calls","metadata":{"unresolvedName":"bridge.vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:navigator.vibrate","kind":"calls","metadata":{"unresolvedName":"navigator.vibrate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:applyFisheye","kind":"calls","metadata":{"unresolvedName":"applyFisheye"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"calls","metadata":{"unresolvedName":"getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:vibrate","kind":"calls","metadata":{"unresolvedName":"vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setOverlayVisible","kind":"calls","metadata":{"unresolvedName":"setOverlayVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"symbol-name:setOverlayVisible","kind":"calls","metadata":{"unresolvedName":"setOverlayVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:kickRef.current","kind":"calls","metadata":{"unresolvedName":"kickRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:onSelectRef.current","kind":"calls","metadata":{"unresolvedName":"onSelectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","to":"symbol-name:setOverlayVisible","kind":"calls","metadata":{"unresolvedName":"setOverlayVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onStart","to":"external:kickRef.current","kind":"calls","metadata":{"unresolvedName":"kickRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onMove","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd","to":"external:onSelectRef.current","kind":"calls","metadata":{"unresolvedName":"onSelectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:onEnd","to":"external:kickRef.current","kind":"calls","metadata":{"unresolvedName":"kickRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","to":"external:tabs.filter","kind":"calls","metadata":{"unresolvedName":"tabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","to":"external:fileTabs.findIndex","kind":"calls","metadata":{"unresolvedName":"fileTabs.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","to":"external:changesTabs.findIndex","kind":"calls","metadata":{"unresolvedName":"changesTabs.findIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layout.panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"layout.panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabs.find","kind":"calls","metadata":{"unresolvedName":"tabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addButtonRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addButtonRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:contextMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"contextMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingTabId","kind":"calls","metadata":{"unresolvedName":"setEditingTabId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabs.some","kind":"calls","metadata":{"unresolvedName":"tabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:renameInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:renameInputRef.current?.select","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.select"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.closeBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.closeRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.setActiveTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.setActiveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onCloseTerminal","kind":"calls","metadata":{"unresolvedName":"onCloseTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.removeTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.removeTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.moveTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.moveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingValue","kind":"calls","metadata":{"unresolvedName":"setEditingValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:editingValue.trim","kind":"calls","metadata":{"unresolvedName":"editingValue.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:cancelRename","kind":"calls","metadata":{"unresolvedName":"cancelRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.updateTerminalCustomTitle","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalCustomTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.reorderTabs","kind":"calls","metadata":{"unresolvedName":"layoutStore.reorderTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabs.map","kind":"calls","metadata":{"unresolvedName":"tabs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:getTabLabel","kind":"calls","metadata":{"unresolvedName":"getTabLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:handleSelectTab","kind":"calls","metadata":{"unresolvedName":"handleSelectTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:handleCloseTab","kind":"calls","metadata":{"unresolvedName":"handleCloseTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:handleContextMenu","kind":"calls","metadata":{"unresolvedName":"handleContextMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:startRename","kind":"calls","metadata":{"unresolvedName":"startRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:handleDragStart","kind":"calls","metadata":{"unresolvedName":"handleDragStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:handleDragOver","kind":"calls","metadata":{"unresolvedName":"handleDragOver"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:submitRename","kind":"calls","metadata":{"unresolvedName":"submitRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addButtonRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"addButtonRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:children","kind":"calls","metadata":{"unresolvedName":"children"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onNewTerminal","kind":"calls","metadata":{"unresolvedName":"onNewTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addFilesTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addFilesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addChangesTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addChangesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addMcpTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addMcpTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addSkillTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addSkillTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addWorktreeTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addWorktreeTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addExtensionTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addExtensionTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addButtonRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addButtonRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","to":"external:addMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","to":"external:addButtonRef.current.contains","kind":"calls","metadata":{"unresolvedName":"addButtonRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:contextMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"contextMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","to":"external:contextMenuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"contextMenuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleClickOutside","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingTabId","kind":"calls","metadata":{"unresolvedName":"setEditingTabId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabs.some","kind":"calls","metadata":{"unresolvedName":"tabs.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:renameInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:renameInputRef.current?.select","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.closeBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.closeRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeRightPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.setActiveTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.setActiveTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onCloseTerminal","kind":"calls","metadata":{"unresolvedName":"onCloseTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.removeTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.removeTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.moveTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.moveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setContextMenu","kind":"calls","metadata":{"unresolvedName":"setContextMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingTabId","kind":"calls","metadata":{"unresolvedName":"setEditingTabId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingValue","kind":"calls","metadata":{"unresolvedName":"setEditingValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.setActiveTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.setActiveTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingTabId","kind":"calls","metadata":{"unresolvedName":"setEditingTabId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setEditingValue","kind":"calls","metadata":{"unresolvedName":"setEditingValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:editingValue.trim","kind":"calls","metadata":{"unresolvedName":"editingValue.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:cancelRename","kind":"calls","metadata":{"unresolvedName":"cancelRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.updateTerminalCustomTitle","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalCustomTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.reorderTabs","kind":"calls","metadata":{"unresolvedName":"layoutStore.reorderTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:addButtonRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"addButtonRef.current.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onNewTerminal","kind":"calls","metadata":{"unresolvedName":"onNewTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addFilesTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addFilesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addChangesTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addChangesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addMcpTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addMcpTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addSkillTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addSkillTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addWorktreeTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addWorktreeTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:layoutStore.addExtensionTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addExtensionTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setAddMenuPos","kind":"calls","metadata":{"unresolvedName":"setAddMenuPos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragStart","kind":"calls","metadata":{"unresolvedName":"onDragStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.elementFromPoint","kind":"calls","metadata":{"unresolvedName":"document.elementFromPoint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:target?.closest","kind":"calls","metadata":{"unresolvedName":"target?.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabEl.getAttribute","kind":"calls","metadata":{"unresolvedName":"tabEl.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragOver","kind":"calls","metadata":{"unresolvedName":"onDragOver"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragEnd","kind":"calls","metadata":{"unresolvedName":"onDragEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onEditingValueChange","kind":"calls","metadata":{"unresolvedName":"onEditingValueChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onEditSubmit","kind":"calls","metadata":{"unresolvedName":"onEditSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onEditCancel","kind":"calls","metadata":{"unresolvedName":"onEditCancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:handleDragStart","to":"symbol-name:onDragStart","kind":"calls","metadata":{"unresolvedName":"onDragStart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragStart","kind":"calls","metadata":{"unresolvedName":"onDragStart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragStart","kind":"calls","metadata":{"unresolvedName":"onDragStart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:document.elementFromPoint","kind":"calls","metadata":{"unresolvedName":"document.elementFromPoint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:target?.closest","kind":"calls","metadata":{"unresolvedName":"target?.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:tabEl.getAttribute","kind":"calls","metadata":{"unresolvedName":"tabEl.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragOver","kind":"calls","metadata":{"unresolvedName":"onDragOver"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragEnd","kind":"calls","metadata":{"unresolvedName":"onDragEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onDragOver","kind":"calls","metadata":{"unresolvedName":"onDragOver"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onEditSubmit","kind":"calls","metadata":{"unresolvedName":"onEditSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onEditCancel","kind":"calls","metadata":{"unresolvedName":"onEditCancel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onReorder","kind":"calls","metadata":{"unresolvedName":"onReorder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"event.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onActivate","kind":"calls","metadata":{"unresolvedName":"onActivate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onReorder","kind":"calls","metadata":{"unresolvedName":"onReorder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"event.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onActivate","kind":"calls","metadata":{"unresolvedName":"onActivate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"event.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDraggedId","kind":"calls","metadata":{"unresolvedName":"setDraggedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:setDragOverId","kind":"calls","metadata":{"unresolvedName":"setDragOverId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PanelContainer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:PanelFallback","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:setIsPanelResizing","kind":"calls","metadata":{"unresolvedName":"setIsPanelResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:layoutStore.setRightPanelWidth","kind":"calls","metadata":{"unresolvedName":"layoutStore.setRightPanelWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:layoutStore.closeRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.closeRightPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:setIsPanelResizing","kind":"calls","metadata":{"unresolvedName":"setIsPanelResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:createPtySession","kind":"calls","metadata":{"unresolvedName":"createPtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:layoutStore.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:terminalTabs.map","kind":"calls","metadata":{"unresolvedName":"terminalTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:fileTabs.map","kind":"calls","metadata":{"unresolvedName":"fileTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/RightPanel.tsx:","to":"external:changeTabs.map","kind":"calls","metadata":{"unresolvedName":"changeTabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:changeScopeStore.clearAll","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getCurrentProject.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getVcsInfo.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getVcsInfo.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getVcsDiff.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getVcsDiff.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getSessionDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getLastTurnDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:initGitProject.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"initGitProject.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByText('2f')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2f')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('+1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('+1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('-1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('-1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByTestId('diff-viewer')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('diff-viewer')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('app.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('app.ts').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getLastTurnDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getLastTurnDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(changeScopeStore.getMode('session-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(changeScopeStore.getMode('session-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:changeScopeStore.getMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.getMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByText('1f')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1f')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('turn.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('turn.ts').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getVcsDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getVcsDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('branch.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('branch.ts').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(sessionChangesOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(sessionChangesOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(lastTurnOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(lastTurnOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(treeButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(treeButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(unifiedButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(unifiedButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(listButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(listButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(splitButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(splitButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getCurrentProject.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(initGitProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(initGitProject).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:changeScopeStore.clearAll","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getCurrentProject.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getVcsInfo.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getVcsInfo.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getVcsDiff.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getVcsDiff.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getSessionDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getLastTurnDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:initGitProject.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"initGitProject.mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByText('2f')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2f')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('+1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('+1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('-1').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('-1').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByTestId('diff-viewer')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('diff-viewer')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('app.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('app.ts').length).toBeGreaterThan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getLastTurnDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getLastTurnDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(changeScopeStore.getMode('session-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(changeScopeStore.getMode('session-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:changeScopeStore.getMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.getMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getByText('1f')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1f')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('turn.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('turn.ts').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getVcsDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getVcsDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(changeScopeStore.getMode('session-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(changeScopeStore.getMode('session-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:changeScopeStore.getMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.getMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(screen.getAllByText('branch.ts').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('branch.ts').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(sessionChangesOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(sessionChangesOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(lastTurnOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(lastTurnOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(treeButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(treeButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(unifiedButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(unifiedButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(listButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(listButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(splitButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(splitButton).toHaveAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:getCurrentProject.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"getCurrentProject.mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(initGitProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(initGitProject).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/PreviewTabsBar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode","to":"external:options.includes","kind":"calls","metadata":{"unresolvedName":"options.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","to":"external:diffs.map","kind":"calls","metadata":{"unresolvedName":"diffs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","to":"external:openFiles.filter","kind":"calls","metadata":{"unresolvedName":"openFiles.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","to":"external:availableFiles.has","kind":"calls","metadata":{"unresolvedName":"availableFiles.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","to":"external:nextOpenFiles.push","kind":"calls","metadata":{"unresolvedName":"nextOpenFiles.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","to":"external:nextOpenFiles.includes","kind":"calls","metadata":{"unresolvedName":"nextOpenFiles.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","kind":"calls","metadata":{"unresolvedName":"useVerticalSplitResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","kind":"calls","metadata":{"unresolvedName":"useSessionChangeScope"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useId","kind":"calls","metadata":{"unresolvedName":"useId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeScopeStore.setMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.setMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:options.push","kind":"calls","metadata":{"unresolvedName":"options.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getDefaultChangeMode","kind":"calls","metadata":{"unresolvedName":"getDefaultChangeMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuOptionRefs.current[mode]?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuOptionRefs.current[mode]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:element?.closest","kind":"calls","metadata":{"unresolvedName":"element?.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:focusables[currentIndex + direction]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[currentIndex + direction]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setMountedPreviewFiles","kind":"calls","metadata":{"unresolvedName":"setMountedPreviewFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...prev].filter","kind":"calls","metadata":{"unresolvedName":"[...prev].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:openFiles.has","kind":"calls","metadata":{"unresolvedName":"openFiles.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...next].every","kind":"calls","metadata":{"unresolvedName":"[...next].every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.has","kind":"calls","metadata":{"unresolvedName":"prev.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:isVisibleFocusableElement","kind":"calls","metadata":{"unresolvedName":"isVisibleFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.includes","kind":"calls","metadata":{"unresolvedName":"changeOptions.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusChangeMenuOption","kind":"calls","metadata":{"unresolvedName":"focusChangeMenuOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.findIndex","kind":"calls","metadata":{"unresolvedName":"changeOptions.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusRelativeToChangeTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToChangeTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"calls","metadata":{"unresolvedName":"focusByIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProjectLoading","kind":"calls","metadata":{"unresolvedName":"setProjectLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:getVcsInfo(directory).catch","kind":"calls","metadata":{"unresolvedName":"getVcsInfo(directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"calls","metadata":{"unresolvedName":"getVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadingModes","kind":"calls","metadata":{"unresolvedName":"setLoadingModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"calls","metadata":{"unresolvedName":"getVcsDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"calls","metadata":{"unresolvedName":"getSessionDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setGitDiffs","kind":"calls","metadata":{"unresolvedName":"setGitDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setBranchDiffs","kind":"calls","metadata":{"unresolvedName":"setBranchDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSessionDiffs","kind":"calls","metadata":{"unresolvedName":"setSessionDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setTurnDiffs","kind":"calls","metadata":{"unresolvedName":"setTurnDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadedModes","kind":"calls","metadata":{"unresolvedName":"setLoadedModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setExpandedDirs","kind":"calls","metadata":{"unresolvedName":"setExpandedDirs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadProjectState","kind":"calls","metadata":{"unresolvedName":"loadProjectState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMode","kind":"calls","metadata":{"unresolvedName":"setChangeMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadDiffMode","kind":"calls","metadata":{"unresolvedName":"loadDiffMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","kind":"calls","metadata":{"unresolvedName":"collectExpandedDirPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","kind":"calls","metadata":{"unresolvedName":"buildChangesTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","kind":"calls","metadata":{"unresolvedName":"reconcileDiffPreviewState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setInitializingGit","kind":"calls","metadata":{"unresolvedName":"setInitializingGit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","kind":"calls","metadata":{"unresolvedName":"initGitProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.indexOf","kind":"calls","metadata":{"unresolvedName":"prev.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:diffs.find","kind":"calls","metadata":{"unresolvedName":"diffs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:openDiffFiles\r\n .map","kind":"calls","metadata":{"unresolvedName":"openDiffFiles\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiffs.filter","kind":"calls","metadata":{"unresolvedName":"previewDiffs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:mountedPreviewFiles.has","kind":"calls","metadata":{"unresolvedName":"mountedPreviewFiles.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:diffs.reduce","kind":"calls","metadata":{"unresolvedName":"diffs.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.map","kind":"calls","metadata":{"unresolvedName":"changeOptions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:node.focus","kind":"calls","metadata":{"unresolvedName":"node.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setListMode","kind":"calls","metadata":{"unresolvedName":"setListMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setViewMode","kind":"calls","metadata":{"unresolvedName":"setViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changesTree.map","kind":"calls","metadata":{"unresolvedName":"changesTree.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:diffs.map","kind":"calls","metadata":{"unresolvedName":"diffs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:handleSelectFile","kind":"calls","metadata":{"unresolvedName":"handleSelectFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:mountedPreviewDiffs.map","kind":"calls","metadata":{"unresolvedName":"mountedPreviewDiffs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeScopeStore.setMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.setMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:options.push","kind":"calls","metadata":{"unresolvedName":"options.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuOptionRefs.current[mode]?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuOptionRefs.current[mode]?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:element?.closest","kind":"calls","metadata":{"unresolvedName":"element?.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:focusables[currentIndex + direction]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[currentIndex + direction]?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setMountedPreviewFiles","kind":"calls","metadata":{"unresolvedName":"setMountedPreviewFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...prev].filter","kind":"calls","metadata":{"unresolvedName":"[...prev].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:openFiles.has","kind":"calls","metadata":{"unresolvedName":"openFiles.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...next].every","kind":"calls","metadata":{"unresolvedName":"[...next].every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.has","kind":"calls","metadata":{"unresolvedName":"prev.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...prev].filter","kind":"calls","metadata":{"unresolvedName":"[...prev].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:openFiles.has","kind":"calls","metadata":{"unresolvedName":"openFiles.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:[...next].every","kind":"calls","metadata":{"unresolvedName":"[...next].every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.has","kind":"calls","metadata":{"unresolvedName":"prev.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:isVisibleFocusableElement","kind":"calls","metadata":{"unresolvedName":"isVisibleFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","to":"external:changeMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","to":"external:changeMenuTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","to":"symbol-name:isVisibleFocusableElement","kind":"calls","metadata":{"unresolvedName":"isVisibleFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handlePointerDown","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:handleKeyDown","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.includes","kind":"calls","metadata":{"unresolvedName":"changeOptions.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusChangeMenuOption","kind":"calls","metadata":{"unresolvedName":"focusChangeMenuOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusChangeMenuOption","kind":"calls","metadata":{"unresolvedName":"focusChangeMenuOption"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.findIndex","kind":"calls","metadata":{"unresolvedName":"changeOptions.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusRelativeToChangeTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToChangeTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusChangeMenuOption","kind":"calls","metadata":{"unresolvedName":"focusChangeMenuOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"calls","metadata":{"unresolvedName":"focusByIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:focusRelativeToChangeTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToChangeTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","to":"symbol-name:focusChangeMenuOption","kind":"calls","metadata":{"unresolvedName":"focusChangeMenuOption"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProjectLoading","kind":"calls","metadata":{"unresolvedName":"setProjectLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:getVcsInfo(directory).catch","kind":"calls","metadata":{"unresolvedName":"getVcsInfo(directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"calls","metadata":{"unresolvedName":"getVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadingModes","kind":"calls","metadata":{"unresolvedName":"setLoadingModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"calls","metadata":{"unresolvedName":"getVcsDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"calls","metadata":{"unresolvedName":"getSessionDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setGitDiffs","kind":"calls","metadata":{"unresolvedName":"setGitDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setBranchDiffs","kind":"calls","metadata":{"unresolvedName":"setBranchDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSessionDiffs","kind":"calls","metadata":{"unresolvedName":"setSessionDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setTurnDiffs","kind":"calls","metadata":{"unresolvedName":"setTurnDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadedModes","kind":"calls","metadata":{"unresolvedName":"setLoadedModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setGitDiffs","kind":"calls","metadata":{"unresolvedName":"setGitDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setBranchDiffs","kind":"calls","metadata":{"unresolvedName":"setBranchDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSessionDiffs","kind":"calls","metadata":{"unresolvedName":"setSessionDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setTurnDiffs","kind":"calls","metadata":{"unresolvedName":"setTurnDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadedModes","kind":"calls","metadata":{"unresolvedName":"setLoadedModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadingModes","kind":"calls","metadata":{"unresolvedName":"setLoadingModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setMountedPreviewFiles","kind":"calls","metadata":{"unresolvedName":"setMountedPreviewFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setExpandedDirs","kind":"calls","metadata":{"unresolvedName":"setExpandedDirs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadProjectState","kind":"calls","metadata":{"unresolvedName":"loadProjectState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.includes","kind":"calls","metadata":{"unresolvedName":"changeOptions.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMode","kind":"calls","metadata":{"unresolvedName":"setChangeMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeOptions.includes","kind":"calls","metadata":{"unresolvedName":"changeOptions.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadDiffMode","kind":"calls","metadata":{"unresolvedName":"loadDiffMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setExpandedDirs","kind":"calls","metadata":{"unresolvedName":"setExpandedDirs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","kind":"calls","metadata":{"unresolvedName":"collectExpandedDirPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","kind":"calls","metadata":{"unresolvedName":"buildChangesTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:reconcileDiffPreviewState","kind":"calls","metadata":{"unresolvedName":"reconcileDiffPreviewState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadProjectState","kind":"calls","metadata":{"unresolvedName":"loadProjectState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadDiffMode","kind":"calls","metadata":{"unresolvedName":"loadDiffMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setInitializingGit","kind":"calls","metadata":{"unresolvedName":"setInitializingGit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:initGitProject","kind":"calls","metadata":{"unresolvedName":"initGitProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setGitDiffs","kind":"calls","metadata":{"unresolvedName":"setGitDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setBranchDiffs","kind":"calls","metadata":{"unresolvedName":"setBranchDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSessionDiffs","kind":"calls","metadata":{"unresolvedName":"setSessionDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setTurnDiffs","kind":"calls","metadata":{"unresolvedName":"setTurnDiffs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadedModes","kind":"calls","metadata":{"unresolvedName":"setLoadedModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setLoadingModes","kind":"calls","metadata":{"unresolvedName":"setLoadingModes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:loadProjectState","kind":"calls","metadata":{"unresolvedName":"loadProjectState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setExpandedDirs","kind":"calls","metadata":{"unresolvedName":"setExpandedDirs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:resetSplitHeight","kind":"calls","metadata":{"unresolvedName":"resetSplitHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.indexOf","kind":"calls","metadata":{"unresolvedName":"prev.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.indexOf","kind":"calls","metadata":{"unresolvedName":"prev.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setSelectedFile","kind":"calls","metadata":{"unresolvedName":"setSelectedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setOpenDiffFiles","kind":"calls","metadata":{"unresolvedName":"setOpenDiffFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.indexOf","kind":"calls","metadata":{"unresolvedName":"prev.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:prev.indexOf","kind":"calls","metadata":{"unresolvedName":"prev.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:node.focus","kind":"calls","metadata":{"unresolvedName":"node.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMode","kind":"calls","metadata":{"unresolvedName":"setChangeMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:node.focus","kind":"calls","metadata":{"unresolvedName":"node.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMode","kind":"calls","metadata":{"unresolvedName":"setChangeMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setChangeMenuOpen","kind":"calls","metadata":{"unresolvedName":"setChangeMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:changeMenuTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"changeMenuTriggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:handleSelectFile","kind":"calls","metadata":{"unresolvedName":"handleSelectFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffViewer.tsx:useDiffViewerData","kind":"calls","metadata":{"unresolvedName":"useDiffViewerData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:diff.file.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"diff.file.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:diff.file.split","kind":"calls","metadata":{"unresolvedName":"diff.file.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiffs.map","kind":"calls","metadata":{"unresolvedName":"previewDiffs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiff.file.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"previewDiff.file.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiff.file.split","kind":"calls","metadata":{"unresolvedName":"previewDiff.file.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setFullscreenViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"calls","metadata":{"unresolvedName":"extractContentFromUnifiedDiff"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiff.file.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"previewDiff.file.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:previewDiff.file.split","kind":"calls","metadata":{"unresolvedName":"previewDiff.file.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setFullscreenViewMode","kind":"calls","metadata":{"unresolvedName":"setFullscreenViewMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus","to":"external:diff.before.trim","kind":"calls","metadata":{"unresolvedName":"diff.before.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:getFileStatus","to":"external:diff.after.trim","kind":"calls","metadata":{"unresolvedName":"diff.after.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:diff.file.split(/[/\\\\]/).filter","kind":"calls","metadata":{"unresolvedName":"diff.file.split(/[/\\\\]/).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:diff.file.split","kind":"calls","metadata":{"unresolvedName":"diff.file.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:parts.slice(0, i + 1).join","kind":"calls","metadata":{"unresolvedName":"parts.slice(0, i + 1).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:parts.slice","kind":"calls","metadata":{"unresolvedName":"parts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:currentLevel.find","kind":"calls","metadata":{"unresolvedName":"currentLevel.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"symbol-name:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:currentLevel.push","kind":"calls","metadata":{"unresolvedName":"currentLevel.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:nodes\r\n .map","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"calls","metadata":{"unresolvedName":"processNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:processedChildren.some","kind":"calls","metadata":{"unresolvedName":"processedChildren.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:buildChangesTree","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","to":"external:nodes\r\n .map","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"calls","metadata":{"unresolvedName":"processNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","to":"external:processedChildren.some","kind":"calls","metadata":{"unresolvedName":"processedChildren.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:processNodes","kind":"calls","metadata":{"unresolvedName":"processNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:processedChildren.some","kind":"calls","metadata":{"unresolvedName":"processedChildren.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","to":"external:allDirPaths.add","kind":"calls","metadata":{"unresolvedName":"allDirPaths.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectExpandedDirPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","kind":"calls","metadata":{"unresolvedName":"collectDirs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","to":"external:allDirPaths.add","kind":"calls","metadata":{"unresolvedName":"allDirPaths.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:collectDirs","kind":"calls","metadata":{"unresolvedName":"collectDirs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:expandedDirs.has","kind":"calls","metadata":{"unresolvedName":"expandedDirs.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:onToggleDir","kind":"calls","metadata":{"unresolvedName":"onToggleDir"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"external:node.children.map","kind":"calls","metadata":{"unresolvedName":"node.children.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","to":"symbol-name:onSelectFile","kind":"calls","metadata":{"unresolvedName":"onSelectFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:getSkillsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSkillsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:getSkillsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSkillsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('Global')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Global')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('Project')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Project')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('(2)')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('(2)')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(searchInput).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(searchInput).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(itemButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(itemButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('skill content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('skill content')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:getSkillsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSkillsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:getSkillsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSkillsMock.mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Refresh' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('Global')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Global')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('Project')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Project')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('(2)')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('(2)')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(searchInput).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(searchInput).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(itemButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(itemButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.test.tsx:","to":"external:expect(screen.getByText('skill content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('skill content')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/skill.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"calls","metadata":{"unresolvedName":"getSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setSkills","kind":"calls","metadata":{"unresolvedName":"setSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:loadSkills","kind":"calls","metadata":{"unresolvedName":"loadSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:skills.filter","kind":"calls","metadata":{"unresolvedName":"skills.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:skill.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"skill.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:skill.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"skill.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:filter.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:skill.description.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"skill.description.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:skill.description.toLowerCase","kind":"calls","metadata":{"unresolvedName":"skill.description.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:SKILL_SOURCE_ORDER.map","kind":"calls","metadata":{"unresolvedName":"SKILL_SOURCE_ORDER.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:filteredSkills.filter","kind":"calls","metadata":{"unresolvedName":"filteredSkills.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setFilter","kind":"calls","metadata":{"unresolvedName":"setFilter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:groupedSkills.map","kind":"calls","metadata":{"unresolvedName":"groupedSkills.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"external:group.skills.map","kind":"calls","metadata":{"unresolvedName":"group.skills.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/skill.ts:getSkills","kind":"calls","metadata":{"unresolvedName":"getSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setSkills","kind":"calls","metadata":{"unresolvedName":"setSkills"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:loadSkills","kind":"calls","metadata":{"unresolvedName":"loadSkills"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SkillPanel.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:@xterm/xterm","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:@xterm/addon-fit","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:@xterm/addon-serialize","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:@xterm/addon-web-links","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"external:@xterm/xterm/css/xterm.css","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:getComputedStyle(document.documentElement).getPropertyValue(varName).trim","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(document.documentElement).getPropertyValue(varName).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:getComputedStyle(document.documentElement).getPropertyValue","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(document.documentElement).getPropertyValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:value.split","kind":"calls","metadata":{"unresolvedName":"value.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:Math.round(255 * color)\r\n .toString(16)\r\n .padStart","kind":"calls","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString(16)\r\n .padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:Math.round(255 * color)\r\n .toString","kind":"calls","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"calls","metadata":{"unresolvedName":"f"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","to":"external:Math.round(255 * color)\r\n .toString(16)\r\n .padStart","kind":"calls","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString(16)\r\n .padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","to":"external:Math.round(255 * color)\r\n .toString","kind":"calls","metadata":{"unresolvedName":"Math.round(255 * color)\r\n .toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getHSLColor","kind":"calls","metadata":{"unresolvedName":"getHSLColor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","to":"external:document.documentElement.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","to":"external:data.toUpperCase","kind":"calls","metadata":{"unresolvedName":"data.toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","to":"external:String.fromCharCode","kind":"calls","metadata":{"unresolvedName":"String.fromCharCode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","to":"external:upper.charCodeAt","kind":"calls","metadata":{"unresolvedName":"upper.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","to":"external:event.key.toLowerCase","kind":"calls","metadata":{"unresolvedName":"event.key.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:toCtrlSequence","kind":"calls","metadata":{"unresolvedName":"toCtrlSequence"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"symbol-name:onFocusTerminal","kind":"calls","metadata":{"unresolvedName":"onFocusTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"external:MOBILE_EXTRA_KEY_ROWS.map","kind":"calls","metadata":{"unresolvedName":"MOBILE_EXTRA_KEY_ROWS.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"external:row.map","kind":"calls","metadata":{"unresolvedName":"row.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"symbol-name:onToggleSticky","kind":"calls","metadata":{"unresolvedName":"onToggleSticky"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:MobileExtraKeys","to":"symbol-name:handleSend","kind":"calls","metadata":{"unresolvedName":"handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onFocusTerminal","kind":"calls","metadata":{"unresolvedName":"onFocusTerminal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onToggleSticky","kind":"calls","metadata":{"unresolvedName":"onToggleSticky"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onFocusTerminal","kind":"calls","metadata":{"unresolvedName":"onFocusTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:handleSend","kind":"calls","metadata":{"unresolvedName":"handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onToggleSticky","kind":"calls","metadata":{"unresolvedName":"onToggleSticky"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:onFocusTerminal","kind":"calls","metadata":{"unresolvedName":"onFocusTerminal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:handleSend","kind":"calls","metadata":{"unresolvedName":"handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers","kind":"calls","metadata":{"unresolvedName":"createStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:panelTabs.find","kind":"calls","metadata":{"unresolvedName":"panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Number.isSafeInteger","kind":"calls","metadata":{"unresolvedName":"Number.isSafeInteger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setStickyModifiers","kind":"calls","metadata":{"unresolvedName":"setStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"terminalRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","kind":"calls","metadata":{"unresolvedName":"applyStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:transportSendRef.current","kind":"calls","metadata":{"unresolvedName":"transportSendRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier","kind":"calls","metadata":{"unresolvedName":"hasStickyModifier"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearStickyModifiers","kind":"calls","metadata":{"unresolvedName":"clearStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setHasBeenActive","kind":"calls","metadata":{"unresolvedName":"setHasBeenActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"calls","metadata":{"unresolvedName":"getTerminalTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"calls","metadata":{"unresolvedName":"isDarkMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--fs-terminal').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--fs-terminal-line-height').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal-line-height').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--font-mono').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--font-mono').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.loadAddon","kind":"calls","metadata":{"unresolvedName":"terminal.loadAddon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.open","kind":"calls","metadata":{"unresolvedName":"terminal.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.attachCustomKeyEventHandler","kind":"calls","metadata":{"unresolvedName":"terminal.attachCustomKeyEventHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:keybindingStore.findMatchingAction","kind":"calls","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"calls","metadata":{"unresolvedName":"isNativePasteShortcut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.hasSelection","kind":"calls","metadata":{"unresolvedName":"terminal.hasSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.getSelection","kind":"calls","metadata":{"unresolvedName":"terminal.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:copyTextToClipboard(selected).catch","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.clearSelection","kind":"calls","metadata":{"unresolvedName":"terminal.clearSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:copyTextToClipboard(selected)\r\n .then","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"calls","metadata":{"unresolvedName":"canReadClipboardText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.focus","kind":"calls","metadata":{"unresolvedName":"terminal.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalElement?.addEventListener","kind":"calls","metadata":{"unresolvedName":"terminalElement?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea.setAttribute","kind":"calls","metadata":{"unresolvedName":"textarea.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea.addEventListener","kind":"calls","metadata":{"unresolvedName":"textarea.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch","kind":"calls","metadata":{"unresolvedName":"updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"calls","metadata":{"unresolvedName":"resetTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:(delay / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(delay / 1000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"calls","metadata":{"unresolvedName":"connectTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('../api/ptyBridge')\r\n .then","kind":"calls","metadata":{"unresolvedName":"import('../api/ptyBridge')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"calls","metadata":{"unresolvedName":"connectTauriPty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.close","kind":"calls","metadata":{"unresolvedName":"connection.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.send","kind":"calls","metadata":{"unresolvedName":"connection.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"calls","metadata":{"unresolvedName":"handleDisconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"calls","metadata":{"unresolvedName":"getPtyConnectUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeData?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeData?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.onData","kind":"calls","metadata":{"unresolvedName":"terminal.onData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.scrollToLine","kind":"calls","metadata":{"unresolvedName":"terminal.scrollToLine"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"calls","metadata":{"unresolvedName":"scheduleInitialConnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.onTitleChange","kind":"calls","metadata":{"unresolvedName":"terminal.onTitleChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalShellTitle","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalShellTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.serialize","kind":"calls","metadata":{"unresolvedName":"serializeAddon.serialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:transportDisconnectRef.current","kind":"calls","metadata":{"unresolvedName":"transportDisconnectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeTitle?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeTitle?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"textarea?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalElement?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"terminalElement?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddon.dispose","kind":"calls","metadata":{"unresolvedName":"fitAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.dispose","kind":"calls","metadata":{"unresolvedName":"serializeAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:webLinksAddon.dispose","kind":"calls","metadata":{"unresolvedName":"webLinksAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.dispose","kind":"calls","metadata":{"unresolvedName":"terminal.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.element?.querySelector","kind":"calls","metadata":{"unresolvedName":"terminal.element?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"calls","metadata":{"unresolvedName":"stopMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"calls","metadata":{"unresolvedName":"startMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:container.addEventListener","kind":"calls","metadata":{"unresolvedName":"container.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:container.removeEventListener","kind":"calls","metadata":{"unresolvedName":"container.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:handleResize","kind":"calls","metadata":{"unresolvedName":"handleResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalRef.current.focus","kind":"calls","metadata":{"unresolvedName":"terminalRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current?.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current?.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:focusTerminal","kind":"calls","metadata":{"unresolvedName":"focusTerminal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:createStickyModifiers","kind":"calls","metadata":{"unresolvedName":"createStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setStickyModifiers","kind":"calls","metadata":{"unresolvedName":"setStickyModifiers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setStickyModifiers","kind":"calls","metadata":{"unresolvedName":"setStickyModifiers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"terminalRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:applyStickyModifiers","kind":"calls","metadata":{"unresolvedName":"applyStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:transportSendRef.current","kind":"calls","metadata":{"unresolvedName":"transportSendRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:hasStickyModifier","kind":"calls","metadata":{"unresolvedName":"hasStickyModifier"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearStickyModifiers","kind":"calls","metadata":{"unresolvedName":"clearStickyModifiers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setHasBeenActive","kind":"calls","metadata":{"unresolvedName":"setHasBeenActive"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"calls","metadata":{"unresolvedName":"getTerminalTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"calls","metadata":{"unresolvedName":"isDarkMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--fs-terminal').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--fs-terminal-line-height').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--fs-terminal-line-height').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:rootStyle.getPropertyValue('--font-mono').trim","kind":"calls","metadata":{"unresolvedName":"rootStyle.getPropertyValue('--font-mono').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.loadAddon","kind":"calls","metadata":{"unresolvedName":"terminal.loadAddon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.open","kind":"calls","metadata":{"unresolvedName":"terminal.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearStickyModifiers","kind":"calls","metadata":{"unresolvedName":"clearStickyModifiers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.attachCustomKeyEventHandler","kind":"calls","metadata":{"unresolvedName":"terminal.attachCustomKeyEventHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:keybindingStore.findMatchingAction","kind":"calls","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"calls","metadata":{"unresolvedName":"isNativePasteShortcut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.hasSelection","kind":"calls","metadata":{"unresolvedName":"terminal.hasSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.getSelection","kind":"calls","metadata":{"unresolvedName":"terminal.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:copyTextToClipboard(selected).catch","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.clearSelection","kind":"calls","metadata":{"unresolvedName":"terminal.clearSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:copyTextToClipboard(selected)\r\n .then","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"calls","metadata":{"unresolvedName":"canReadClipboardText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.focus","kind":"calls","metadata":{"unresolvedName":"terminal.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalElement?.addEventListener","kind":"calls","metadata":{"unresolvedName":"terminalElement?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea.setAttribute","kind":"calls","metadata":{"unresolvedName":"textarea.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea.addEventListener","kind":"calls","metadata":{"unresolvedName":"textarea.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch","kind":"calls","metadata":{"unresolvedName":"updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"calls","metadata":{"unresolvedName":"resetTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:(delay / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(delay / 1000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"calls","metadata":{"unresolvedName":"connectTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('../api/ptyBridge')\r\n .then","kind":"calls","metadata":{"unresolvedName":"import('../api/ptyBridge')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"calls","metadata":{"unresolvedName":"connectTauriPty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.close","kind":"calls","metadata":{"unresolvedName":"connection.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.send","kind":"calls","metadata":{"unresolvedName":"connection.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"calls","metadata":{"unresolvedName":"handleDisconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"calls","metadata":{"unresolvedName":"getPtyConnectUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeData?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeData?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.onData","kind":"calls","metadata":{"unresolvedName":"terminal.onData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.scrollToLine","kind":"calls","metadata":{"unresolvedName":"terminal.scrollToLine"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"calls","metadata":{"unresolvedName":"scheduleInitialConnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.onTitleChange","kind":"calls","metadata":{"unresolvedName":"terminal.onTitleChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalShellTitle","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalShellTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.serialize","kind":"calls","metadata":{"unresolvedName":"serializeAddon.serialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:transportDisconnectRef.current","kind":"calls","metadata":{"unresolvedName":"transportDisconnectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeTitle?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeTitle?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"textarea?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalElement?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"terminalElement?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddon.dispose","kind":"calls","metadata":{"unresolvedName":"fitAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.dispose","kind":"calls","metadata":{"unresolvedName":"serializeAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:webLinksAddon.dispose","kind":"calls","metadata":{"unresolvedName":"webLinksAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.dispose","kind":"calls","metadata":{"unresolvedName":"terminal.dispose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then(mod => mod.openUrl(uri)).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:import('@tauri-apps/plugin-opener').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:keybindingStore.findMatchingAction","kind":"calls","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isNativePasteShortcut","kind":"calls","metadata":{"unresolvedName":"isNativePasteShortcut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.hasSelection","kind":"calls","metadata":{"unresolvedName":"terminal.hasSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.getSelection","kind":"calls","metadata":{"unresolvedName":"terminal.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:copyTextToClipboard(selected).catch","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.clearSelection","kind":"calls","metadata":{"unresolvedName":"terminal.clearSelection"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","to":"external:terminal.hasSelection","kind":"calls","metadata":{"unresolvedName":"terminal.hasSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","to":"external:terminal.getSelection","kind":"calls","metadata":{"unresolvedName":"terminal.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","to":"external:copyTextToClipboard(selected)\r\n .then","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleSelectionCopy","to":"external:terminal.clearSelection","kind":"calls","metadata":{"unresolvedName":"terminal.clearSelection"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:terminal.hasSelection","kind":"calls","metadata":{"unresolvedName":"terminal.hasSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:terminal.getSelection","kind":"calls","metadata":{"unresolvedName":"terminal.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:copyTextToClipboard(selected).catch","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard(selected).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:terminal.clearSelection","kind":"calls","metadata":{"unresolvedName":"terminal.clearSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:canReadClipboardText","kind":"calls","metadata":{"unresolvedName":"canReadClipboardText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:terminal.focus","kind":"calls","metadata":{"unresolvedName":"terminal.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"external:readTextFromClipboard()\r\n .then","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard()\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"calls","metadata":{"unresolvedName":"readTextFromClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleContextMenuPaste","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.focus","kind":"calls","metadata":{"unresolvedName":"terminal.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","to":"external:layoutStore.updateTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","to":"external:updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch","kind":"calls","metadata":{"unresolvedName":"updatePtySession(ptyId, { size: { cols, rows } }, terminalDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleConnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"calls","metadata":{"unresolvedName":"resetTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:layoutStore.updateTerminalTab","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:(delay / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(delay / 1000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"calls","metadata":{"unresolvedName":"connectTransport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"calls","metadata":{"unresolvedName":"connectTransport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:import('../api/ptyBridge')\r\n .then","kind":"calls","metadata":{"unresolvedName":"import('../api/ptyBridge')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/ptyBridge.ts:connectTauriPty","kind":"calls","metadata":{"unresolvedName":"connectTauriPty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:connection.close","kind":"calls","metadata":{"unresolvedName":"connection.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:connection.send","kind":"calls","metadata":{"unresolvedName":"connection.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"calls","metadata":{"unresolvedName":"handleDisconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:getPtyConnectUrl","kind":"calls","metadata":{"unresolvedName":"getPtyConnectUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:ws?.close","kind":"calls","metadata":{"unresolvedName":"ws?.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:disposeData?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeData?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"external:terminal.onData","kind":"calls","metadata":{"unresolvedName":"terminal.onData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:connectTransport","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onMessage","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:onError","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.close","kind":"calls","metadata":{"unresolvedName":"connection.close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:connection.send","kind":"calls","metadata":{"unresolvedName":"connection.send"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"calls","metadata":{"unresolvedName":"handleDisconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.write","kind":"calls","metadata":{"unresolvedName":"terminal.write"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleDisconnected","kind":"calls","metadata":{"unresolvedName":"handleDisconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:sendTerminalData","kind":"calls","metadata":{"unresolvedName":"sendTerminalData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.scrollToLine","kind":"calls","metadata":{"unresolvedName":"terminal.scrollToLine"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:scheduleInitialConnect","kind":"calls","metadata":{"unresolvedName":"scheduleInitialConnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalShellTitle","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalShellTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:layoutStore.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"layoutStore.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.serialize","kind":"calls","metadata":{"unresolvedName":"serializeAddon.serialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:transportDisconnectRef.current","kind":"calls","metadata":{"unresolvedName":"transportDisconnectRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeData?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeData?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:disposeTitle?.dispose","kind":"calls","metadata":{"unresolvedName":"disposeTitle?.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:textarea?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"textarea?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalElement?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"terminalElement?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:resetTransport","kind":"calls","metadata":{"unresolvedName":"resetTransport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddon.dispose","kind":"calls","metadata":{"unresolvedName":"fitAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:serializeAddon.dispose","kind":"calls","metadata":{"unresolvedName":"serializeAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:webLinksAddon.dispose","kind":"calls","metadata":{"unresolvedName":"webLinksAddon.dispose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.dispose","kind":"calls","metadata":{"unresolvedName":"terminal.dispose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminal.element?.querySelector","kind":"calls","metadata":{"unresolvedName":"terminal.element?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"calls","metadata":{"unresolvedName":"stopMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"calls","metadata":{"unresolvedName":"startMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:container.addEventListener","kind":"calls","metadata":{"unresolvedName":"container.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:container.removeEventListener","kind":"calls","metadata":{"unresolvedName":"container.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","to":"external:terminal.element?.querySelector","kind":"calls","metadata":{"unresolvedName":"terminal.element?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:step","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"calls","metadata":{"unresolvedName":"stopMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","to":"external:terminal.element?.querySelector","kind":"calls","metadata":{"unresolvedName":"terminal.element?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","to":"external:terminal.element?.querySelector","kind":"calls","metadata":{"unresolvedName":"terminal.element?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","to":"symbol-name:setIsTouchScrolling","kind":"calls","metadata":{"unresolvedName":"setIsTouchScrolling"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchMove","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchEnd","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:startMomentum","kind":"calls","metadata":{"unresolvedName":"startMomentum"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:stopMomentum","kind":"calls","metadata":{"unresolvedName":"stopMomentum"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:container.removeEventListener","kind":"calls","metadata":{"unresolvedName":"container.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:handleResize","kind":"calls","metadata":{"unresolvedName":"handleResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleResize","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeStart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"calls","metadata":{"unresolvedName":"getTerminalTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"calls","metadata":{"unresolvedName":"isDarkMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:getTerminalTheme","kind":"calls","metadata":{"unresolvedName":"getTerminalTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:isDarkMode","kind":"calls","metadata":{"unresolvedName":"isDarkMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:terminalRef.current.focus","kind":"calls","metadata":{"unresolvedName":"terminalRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current?.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current?.fit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current?.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current?.fit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:clearStickyModifiers","kind":"calls","metadata":{"unresolvedName":"clearStickyModifiers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handlePanelResizeEnd","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"external:fitAddonRef.current.fit","kind":"calls","metadata":{"unresolvedName":"fitAddonRef.current.fit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:updatePtySession","kind":"calls","metadata":{"unresolvedName":"updatePtySession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:focusTerminal","kind":"calls","metadata":{"unresolvedName":"focusTerminal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:","to":"symbol-name:focusTerminal","kind":"calls","metadata":{"unresolvedName":"focusTerminal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"external:notificationStore.pauseToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.pauseToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"external:notificationStore.resumeToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.resumeToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"symbol-name:onDismiss","kind":"calls","metadata":{"unresolvedName":"onDismiss"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:Toast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:notificationStore.pauseToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.pauseToast"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:notificationStore.resumeToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.resumeToast"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:onDismiss","kind":"calls","metadata":{"unresolvedName":"onDismiss"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"calls","metadata":{"unresolvedName":"useUpdateStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"external:updateStore.hideToastForCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.hideToastForCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"symbol-name:onOpenAbout","kind":"calls","metadata":{"unresolvedName":"onOpenAbout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:UpdateToast","to":"external:updateStore.dismissCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.dismissCurrentVersion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:updateStore.hideToastForCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.hideToastForCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"symbol-name:onOpenAbout","kind":"calls","metadata":{"unresolvedName":"onOpenAbout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:","to":"external:updateStore.dismissCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.dismissCurrentVersion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"calls","metadata":{"unresolvedName":"useNotificationStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"calls","metadata":{"unresolvedName":"useUpdateStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"external:notificationStore.dismissToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.dismissToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"external:notificationStore.markRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"external:toasts.map","kind":"calls","metadata":{"unresolvedName":"toasts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"external:notificationStore.dismissAllToasts","kind":"calls","metadata":{"unresolvedName":"notificationStore.dismissAllToasts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:ToastContainer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","to":"external:notificationStore.dismissToast","kind":"calls","metadata":{"unresolvedName":"notificationStore.dismissToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","to":"external:notificationStore.markRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ToastContainer.tsx:handleClick","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:AnimatedPresence","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:ExpandableSection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/AnimatedPresence.tsx:ExpandableSection","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","to":"symbol-name:onConfirm","kind":"calls","metadata":{"unresolvedName":"onConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx:","to":"symbol-name:onConfirm","kind":"calls","metadata":{"unresolvedName":"onConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"external:clsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:CopyButton","to":"symbol-name:clsx","kind":"calls","metadata":{"unresolvedName":"clsx"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/CopyButton.tsx:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByText('Test Dialog')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Test Dialog')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByText('dialog body')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('dialog body')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(onClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.queryByText('dialog body')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('dialog body')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(backdrop).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(backdrop).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.pointerDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.pointerDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:trigger.focus","kind":"calls","metadata":{"unresolvedName":"trigger.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsFirstOpen","kind":"calls","metadata":{"unresolvedName":"setIsFirstOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsSecondOpen","kind":"calls","metadata":{"unresolvedName":"setIsSecondOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(document.getElementById('first-trigger')).not.toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(document.getElementById('first-trigger')).not.toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(secondClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(secondClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(firstClose).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(firstClose).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Test Dialog' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByText('Test Dialog')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Test Dialog')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByText('dialog body')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('dialog body')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(onClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.queryByText('dialog body')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('dialog body')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(backdrop).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(backdrop).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.pointerDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.pointerDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(onClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:trigger.focus","kind":"calls","metadata":{"unresolvedName":"trigger.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Close' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Settings' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsFirstOpen","kind":"calls","metadata":{"unresolvedName":"setIsFirstOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsSecondOpen","kind":"calls","metadata":{"unresolvedName":"setIsSecondOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('dialog', { name: 'Second Dialog' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(document.getElementById('first-trigger')).not.toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(document.getElementById('first-trigger')).not.toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","to":"symbol-name:setIsFirstOpen","kind":"calls","metadata":{"unresolvedName":"setIsFirstOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:Harness","to":"symbol-name:setIsSecondOpen","kind":"calls","metadata":{"unresolvedName":"setIsSecondOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsFirstOpen","kind":"calls","metadata":{"unresolvedName":"setIsFirstOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:setIsSecondOpen","kind":"calls","metadata":{"unresolvedName":"setIsSecondOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(secondClose).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(secondClose).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.test.tsx:","to":"external:expect(firstClose).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(firstClose).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useId","kind":"calls","metadata":{"unresolvedName":"useId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:document.contains","kind":"calls","metadata":{"unresolvedName":"document.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:previousFocusedElement.focus","kind":"calls","metadata":{"unresolvedName":"previousFocusedElement.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:replacement?.focus","kind":"calls","metadata":{"unresolvedName":"replacement?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:dialogs.at","kind":"calls","metadata":{"unresolvedName":"dialogs.at"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:activeDialog.contains","kind":"calls","metadata":{"unresolvedName":"activeDialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:restorePreviousFocus","kind":"calls","metadata":{"unresolvedName":"restorePreviousFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:handle.contains","kind":"calls","metadata":{"unresolvedName":"handle.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:setIsDraggingActive","kind":"calls","metadata":{"unresolvedName":"setIsDraggingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:setDragY","kind":"calls","metadata":{"unresolvedName":"setDragY"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:requestClose","kind":"calls","metadata":{"unresolvedName":"requestClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:dialog.contains","kind":"calls","metadata":{"unresolvedName":"dialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:dialogRef.current.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"dialogRef.current.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:dialogRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dialogRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:last.focus","kind":"calls","metadata":{"unresolvedName":"last.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:first.focus","kind":"calls","metadata":{"unresolvedName":"first.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:handleFocusTrap","kind":"calls","metadata":{"unresolvedName":"handleFocusTrap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:focusDialogContent","kind":"calls","metadata":{"unresolvedName":"focusDialogContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:handleBackdropPointerDown","kind":"calls","metadata":{"unresolvedName":"handleBackdropPointerDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"symbol-name:handleBackdropClick","kind":"calls","metadata":{"unresolvedName":"handleBackdropClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:Dialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:container.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"container.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.contains","kind":"calls","metadata":{"unresolvedName":"document.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:previousFocusedElement.focus","kind":"calls","metadata":{"unresolvedName":"previousFocusedElement.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:replacement?.focus","kind":"calls","metadata":{"unresolvedName":"replacement?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:dialogs.at","kind":"calls","metadata":{"unresolvedName":"dialogs.at"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:activeDialog.contains","kind":"calls","metadata":{"unresolvedName":"activeDialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:restorePreviousFocus","kind":"calls","metadata":{"unresolvedName":"restorePreviousFocus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:dialogs.at","kind":"calls","metadata":{"unresolvedName":"dialogs.at"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:activeDialog.contains","kind":"calls","metadata":{"unresolvedName":"activeDialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:restorePreviousFocus","kind":"calls","metadata":{"unresolvedName":"restorePreviousFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:handle.contains","kind":"calls","metadata":{"unresolvedName":"handle.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsDraggingActive","kind":"calls","metadata":{"unresolvedName":"setIsDraggingActive"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsDraggingActive","kind":"calls","metadata":{"unresolvedName":"setIsDraggingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setDragY","kind":"calls","metadata":{"unresolvedName":"setDragY"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:requestClose","kind":"calls","metadata":{"unresolvedName":"requestClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsDraggingActive","kind":"calls","metadata":{"unresolvedName":"setIsDraggingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setDragY","kind":"calls","metadata":{"unresolvedName":"setDragY"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:requestClose","kind":"calls","metadata":{"unresolvedName":"requestClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:dialog.contains","kind":"calls","metadata":{"unresolvedName":"dialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:dialogRef.current.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"dialogRef.current.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:dialogRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dialogRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:last.focus","kind":"calls","metadata":{"unresolvedName":"last.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:first.focus","kind":"calls","metadata":{"unresolvedName":"first.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:requestClose","kind":"calls","metadata":{"unresolvedName":"requestClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:handleFocusTrap","kind":"calls","metadata":{"unresolvedName":"handleFocusTrap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","to":"symbol-name:requestClose","kind":"calls","metadata":{"unresolvedName":"requestClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:handleKeyDown","to":"symbol-name:handleFocusTrap","kind":"calls","metadata":{"unresolvedName":"handleFocusTrap"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusDialogContent","kind":"calls","metadata":{"unresolvedName":"focusDialogContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:activeDialog.contains","kind":"calls","metadata":{"unresolvedName":"activeDialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:restorePreviousFocus","kind":"calls","metadata":{"unresolvedName":"restorePreviousFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:getTopOpenDialog","kind":"calls","metadata":{"unresolvedName":"getTopOpenDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:activeDialog.contains","kind":"calls","metadata":{"unresolvedName":"activeDialog.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:restorePreviousFocus","kind":"calls","metadata":{"unresolvedName":"restorePreviousFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:focusFirstFocusable","kind":"calls","metadata":{"unresolvedName":"focusFirstFocusable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:handleBackdropPointerDown","kind":"calls","metadata":{"unresolvedName":"handleBackdropPointerDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"symbol-name:handleBackdropClick","kind":"calls","metadata":{"unresolvedName":"handleBackdropClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:DropdownHarness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:DropdownHarness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:DropdownHarness","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:ConstrainedDropdownHarness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:ConstrainedDropdownHarness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:ConstrainedDropdownHarness","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(screen.getByText('dropdown content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('dropdown content')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(screen.queryByText('dropdown content')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('dropdown content')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(menu).toHaveStyle","kind":"calls","metadata":{"unresolvedName":"expect(menu).toHaveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:observe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:observe","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:disconnect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:disconnect","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(screen.getByText('dropdown content')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('dropdown content')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(screen.queryByText('dropdown content')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('dropdown content')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:expect(menu).toHaveStyle","kind":"calls","metadata":{"unresolvedName":"expect(menu).toHaveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:triggerRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"triggerRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:constrainToRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"constrainToRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:calcStyles","kind":"calls","metadata":{"unresolvedName":"calcStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:setPosStyle","kind":"calls","metadata":{"unresolvedName":"setPosStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:setSizeStyle","kind":"calls","metadata":{"unresolvedName":"setSizeStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"calls","metadata":{"unresolvedName":"scheduleUpdate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"external:resizeObserver?.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver?.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:DropdownMenu","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:triggerRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"triggerRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:constrainToRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"constrainToRef.current.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:calcStyles","kind":"calls","metadata":{"unresolvedName":"calcStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:setPosStyle","kind":"calls","metadata":{"unresolvedName":"setPosStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:setSizeStyle","kind":"calls","metadata":{"unresolvedName":"setSizeStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"calls","metadata":{"unresolvedName":"scheduleUpdate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:resizeObserver?.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver?.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:updateStyles","kind":"calls","metadata":{"unresolvedName":"updateStyles"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:scheduleUpdate","kind":"calls","metadata":{"unresolvedName":"scheduleUpdate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"external:resizeObserver?.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver?.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/DropdownMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/IconButton.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx:MenuItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/MenuItem.tsx:MenuItem","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","kind":"calls","metadata":{"unresolvedName":"useModalAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ModalShell.tsx:","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:onSizeChange","kind":"calls","metadata":{"unresolvedName":"onSizeChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:panel.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"panel.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:onSizeChange","kind":"calls","metadata":{"unresolvedName":"onSizeChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerMove","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handlePointerUp","to":"symbol-name:onSizeChange","kind":"calls","metadata":{"unresolvedName":"onSizeChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:panel.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"panel.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:onSizeChange","kind":"calls","metadata":{"unresolvedName":"onSizeChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchMove","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:handleTouchEnd","to":"symbol-name:onSizeChange","kind":"calls","metadata":{"unresolvedName":"onSizeChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ResizablePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ScrollArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"external:motion/mini","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:SmoothHeight","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:update","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/SmoothHeight.tsx:","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"calls","metadata":{"unresolvedName":"useVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setWorktrees","kind":"calls","metadata":{"unresolvedName":"setWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setRootDirectory","kind":"calls","metadata":{"unresolvedName":"setRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:resolveRootDirectory","kind":"calls","metadata":{"unresolvedName":"resolveRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"calls","metadata":{"unresolvedName":"listWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:refreshVcs","kind":"calls","metadata":{"unresolvedName":"refreshVcs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"calls","metadata":{"unresolvedName":"listPtySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:ptySessions.map","kind":"calls","metadata":{"unresolvedName":"ptySessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","kind":"calls","metadata":{"unresolvedName":"disposeInstance"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:requireRootDirectory","kind":"calls","metadata":{"unresolvedName":"requireRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree","kind":"calls","metadata":{"unresolvedName":"createWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setShowCreateForm","kind":"calls","metadata":{"unresolvedName":"setShowCreateForm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"calls","metadata":{"unresolvedName":"requestGitWorkspaceCatalogRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:handleOpenSession","kind":"calls","metadata":{"unresolvedName":"handleOpenSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:releaseWorktreeResources","kind":"calls","metadata":{"unresolvedName":"releaseWorktreeResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree","kind":"calls","metadata":{"unresolvedName":"removeWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree","kind":"calls","metadata":{"unresolvedName":"resetWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setResetConfirm","kind":"calls","metadata":{"unresolvedName":"setResetConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:worktrees.map","kind":"calls","metadata":{"unresolvedName":"worktrees.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:handleReset","kind":"calls","metadata":{"unresolvedName":"handleReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setWorktrees","kind":"calls","metadata":{"unresolvedName":"setWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setRootDirectory","kind":"calls","metadata":{"unresolvedName":"setRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:resolveRootDirectory","kind":"calls","metadata":{"unresolvedName":"resolveRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"calls","metadata":{"unresolvedName":"listWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:refreshVcs","kind":"calls","metadata":{"unresolvedName":"refreshVcs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeReady","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeReady","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeReady","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onWorktreeFailed","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onVcsBranchUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onVcsBranchUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:onVcsBranchUpdated","to":"symbol-name:refreshVcs","kind":"calls","metadata":{"unresolvedName":"refreshVcs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:listPtySessions","kind":"calls","metadata":{"unresolvedName":"listPtySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:ptySessions.map","kind":"calls","metadata":{"unresolvedName":"ptySessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/pty.ts:removePtySession","kind":"calls","metadata":{"unresolvedName":"removePtySession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/global.ts:disposeInstance","kind":"calls","metadata":{"unresolvedName":"disposeInstance"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:requireRootDirectory","kind":"calls","metadata":{"unresolvedName":"requireRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:createWorktree","kind":"calls","metadata":{"unresolvedName":"createWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setShowCreateForm","kind":"calls","metadata":{"unresolvedName":"setShowCreateForm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"calls","metadata":{"unresolvedName":"requestGitWorkspaceCatalogRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:handleOpenSession","kind":"calls","metadata":{"unresolvedName":"handleOpenSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:requireRootDirectory","kind":"calls","metadata":{"unresolvedName":"requireRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:releaseWorktreeResources","kind":"calls","metadata":{"unresolvedName":"releaseWorktreeResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:removeWorktree","kind":"calls","metadata":{"unresolvedName":"removeWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"calls","metadata":{"unresolvedName":"requestGitWorkspaceCatalogRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:requireRootDirectory","kind":"calls","metadata":{"unresolvedName":"requireRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:releaseWorktreeResources","kind":"calls","metadata":{"unresolvedName":"releaseWorktreeResources"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:resetWorktree","kind":"calls","metadata":{"unresolvedName":"resetWorktree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"calls","metadata":{"unresolvedName":"requestGitWorkspaceCatalogRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:setResetConfirm","kind":"calls","metadata":{"unresolvedName":"setResetConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:loadWorktrees","kind":"calls","metadata":{"unresolvedName":"loadWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:refreshVcs","kind":"calls","metadata":{"unresolvedName":"refreshVcs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:handleReset","kind":"calls","metadata":{"unresolvedName":"handleReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:CreateWorktreeForm","to":"symbol-name:setAutoOpen","kind":"calls","metadata":{"unresolvedName":"setAutoOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/WorktreePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"calls","metadata":{"unresolvedName":"useRouter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:serverStore.onServerChange","kind":"calls","metadata":{"unresolvedName":"serverStore.onServerChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:setRecentProjects","kind":"calls","metadata":{"unresolvedName":"setRecentProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:setPathInfo","kind":"calls","metadata":{"unresolvedName":"setPathInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:setUrlDirectory","kind":"calls","metadata":{"unresolvedName":"setUrlDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:getPath().then(setPathInfo).catch","kind":"calls","metadata":{"unresolvedName":"getPath().then(setPathInfo).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:getPath().then","kind":"calls","metadata":{"unresolvedName":"getPath().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:serverStorage.setJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.setJSON"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:path.replace(/\\\\/g, '/').replace","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:/^[a-zA-Z]:\\/$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:savedDirectories.some","kind":"calls","metadata":{"unresolvedName":"savedDirectories.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:next.findIndex","kind":"calls","metadata":{"unresolvedName":"next.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:import('@tauri-apps/api/core').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/core').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:invoke('get_cli_directory')\r\n .then","kind":"calls","metadata":{"unresolvedName":"invoke('get_cli_directory')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:import('@tauri-apps/api/event').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/event').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"external:layoutStore.setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:DirectoryProvider","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStore.onServerChange","kind":"calls","metadata":{"unresolvedName":"serverStore.onServerChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setRecentProjects","kind":"calls","metadata":{"unresolvedName":"setRecentProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setPathInfo","kind":"calls","metadata":{"unresolvedName":"setPathInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setUrlDirectory","kind":"calls","metadata":{"unresolvedName":"setUrlDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setRecentProjects","kind":"calls","metadata":{"unresolvedName":"setRecentProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setPathInfo","kind":"calls","metadata":{"unresolvedName":"setPathInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setUrlDirectory","kind":"calls","metadata":{"unresolvedName":"setUrlDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:getPath().then(setPathInfo).catch","kind":"calls","metadata":{"unresolvedName":"getPath().then(setPathInfo).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:getPath().then","kind":"calls","metadata":{"unresolvedName":"getPath().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.setJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.setJSON"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:serverStorage.setJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.setJSON"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setUrlDirectory","kind":"calls","metadata":{"unresolvedName":"setUrlDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setRecentProjects","kind":"calls","metadata":{"unresolvedName":"setRecentProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:path.replace(/\\\\/g, '/').replace","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:/^[a-zA-Z]:\\/$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:savedDirectories.some","kind":"calls","metadata":{"unresolvedName":"savedDirectories.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:setSavedDirectories","kind":"calls","metadata":{"unresolvedName":"setSavedDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:next.findIndex","kind":"calls","metadata":{"unresolvedName":"next.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:next.findIndex","kind":"calls","metadata":{"unresolvedName":"next.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:next.splice","kind":"calls","metadata":{"unresolvedName":"next.splice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:import('@tauri-apps/api/core').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/core').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:invoke('get_cli_directory')\r\n .then","kind":"calls","metadata":{"unresolvedName":"invoke('get_cli_directory')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:import('@tauri-apps/api/event').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/event').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:invoke('get_cli_directory')\r\n .then","kind":"calls","metadata":{"unresolvedName":"invoke('get_cli_directory')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:addDirectoryRef.current","kind":"calls","metadata":{"unresolvedName":"addDirectoryRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.tsx:","to":"external:layoutStore.setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:createDeferred","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:createDeferred","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:SessionContextProbe","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:getSessionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:deleteSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:clearChildrenMock.mockReset","kind":"calls","metadata":{"unresolvedName":"clearChildrenMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:clearFollowupQueueMock.mockReset","kind":"calls","metadata":{"unresolvedName":"clearFollowupQueueMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:setTodosMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setTodosMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:sessionErrorHandlerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandlerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:autoDetectPathStyleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyleMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:getSessionsMock.mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:expect(latestContext).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(latestContext).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestContext!.setSearch","kind":"calls","metadata":{"unresolvedName":"latestContext!.setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:getSessionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:deleteSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:clearChildrenMock.mockReset","kind":"calls","metadata":{"unresolvedName":"clearChildrenMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:clearFollowupQueueMock.mockReset","kind":"calls","metadata":{"unresolvedName":"clearFollowupQueueMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:setTodosMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setTodosMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:sessionErrorHandlerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandlerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:autoDetectPathStyleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyleMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:getSessionsMock.mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:expect(latestContext).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(latestContext).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestContext!.setSearch","kind":"calls","metadata":{"unresolvedName":"latestContext!.setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestContext!.setSearch","kind":"calls","metadata":{"unresolvedName":"latestContext!.setSearch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"calls","metadata":{"unresolvedName":"getSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:data.filter","kind":"calls","metadata":{"unresolvedName":"data.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:setHasMore","kind":"calls","metadata":{"unresolvedName":"setHasMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:matchesCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"matchesCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:apiCreateSession","kind":"calls","metadata":{"unresolvedName":"apiCreateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:childSessionStore.clearChildren","kind":"calls","metadata":{"unresolvedName":"childSessionStore.clearChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"external:followupQueueStore.clearSession","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:SessionProvider","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"calls","metadata":{"unresolvedName":"getSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:data.filter","kind":"calls","metadata":{"unresolvedName":"data.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setHasMore","kind":"calls","metadata":{"unresolvedName":"setHasMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:data.filter","kind":"calls","metadata":{"unresolvedName":"data.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:matchesCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"matchesCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","to":"symbol-name:matchesCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"matchesCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionCreated","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","to":"symbol-name:matchesCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"matchesCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onSessionUpdated","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:matchesCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"matchesCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onTodoUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onTodoUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onTodoUpdated","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:onReconnected","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:apiCreateSession","kind":"calls","metadata":{"unresolvedName":"apiCreateSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:childSessionStore.clearChildren","kind":"calls","metadata":{"unresolvedName":"childSessionStore.clearChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:followupQueueStore.clearSession","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:defaultNavigateToSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:defaultNavigateToSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:defaultNavigateToSession","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/DirectoryContext.shared.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useCurrentDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useCurrentDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useCurrentDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSavedDirectories","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSavedDirectories","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSavedDirectories","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:usePathInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:usePathInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:usePathInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useSidebarExpanded","to":"external:layoutStore.setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:","to":"external:layoutStore.setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionContext.shared.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByText('notes.txt')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('notes.txt')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByText('hello world')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('hello world')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.queryByText('notes.txt')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('notes.txt')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByAltText","kind":"calls","metadata":{"unresolvedName":"screen.getByAltText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:fireEvent.load","kind":"calls","metadata":{"unresolvedName":"fireEvent.load"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByText('notes.txt')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('notes.txt')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByText('hello world')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('hello world')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.queryByText('notes.txt')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('notes.txt')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByAltText","kind":"calls","metadata":{"unresolvedName":"screen.getByAltText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:fireEvent.load","kind":"calls","metadata":{"unresolvedName":"fireEvent.load"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom out' })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Zoom in' })).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodePreview.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","to":"external:Math.sqrt","kind":"calls","metadata":{"unresolvedName":"Math.sqrt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:clamp","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","kind":"calls","metadata":{"unresolvedName":"getAttachmentIcon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:fetch(attachment.url)\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:res.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"res.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:DownloadButton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then(res => res.arrayBuffer())\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:fetch(attachment.url)\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:res.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"res.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:containerRef.current?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef.current?.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:getContainerCenter","kind":"calls","metadata":{"unresolvedName":"getContainerCenter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:zoomToPoint","kind":"calls","metadata":{"unresolvedName":"zoomToPoint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:resetView","kind":"calls","metadata":{"unresolvedName":"resetView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:toggleZoomAtPoint","kind":"calls","metadata":{"unresolvedName":"toggleZoomAtPoint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:toggleZoomRef.current","kind":"calls","metadata":{"unresolvedName":"toggleZoomRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"calls","metadata":{"unresolvedName":"getTouchDistance"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"calls","metadata":{"unresolvedName":"getTouchCenter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:getContainerCenterRef.current","kind":"calls","metadata":{"unresolvedName":"getContainerCenterRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:setImgLoaded","kind":"calls","metadata":{"unresolvedName":"setImgLoaded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomableImage","to":"symbol-name:setImgError","kind":"calls","metadata":{"unresolvedName":"setImgError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:containerRef.current?.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef.current?.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:getContainerCenter","kind":"calls","metadata":{"unresolvedName":"getContainerCenter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:zoomToPoint","kind":"calls","metadata":{"unresolvedName":"zoomToPoint"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:zoomToPoint","kind":"calls","metadata":{"unresolvedName":"zoomToPoint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:resetView","kind":"calls","metadata":{"unresolvedName":"resetView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:toggleZoomAtPoint","kind":"calls","metadata":{"unresolvedName":"toggleZoomAtPoint"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:handleMouseMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:handleMouseMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:handleMouseMove","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:toggleZoomRef.current","kind":"calls","metadata":{"unresolvedName":"toggleZoomRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"calls","metadata":{"unresolvedName":"getTouchDistance"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"calls","metadata":{"unresolvedName":"getTouchCenter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:getContainerCenterRef.current","kind":"calls","metadata":{"unresolvedName":"getContainerCenterRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"external:toggleZoomRef.current","kind":"calls","metadata":{"unresolvedName":"toggleZoomRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"calls","metadata":{"unresolvedName":"getTouchDistance"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"calls","metadata":{"unresolvedName":"getTouchCenter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"symbol-name:setTranslate","kind":"calls","metadata":{"unresolvedName":"setTranslate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchDistance","kind":"calls","metadata":{"unresolvedName":"getTouchDistance"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"external:getContainerCenterRef.current","kind":"calls","metadata":{"unresolvedName":"getContainerCenterRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:getTouchCenter","kind":"calls","metadata":{"unresolvedName":"getTouchCenter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchMove","to":"symbol-name:setScale","kind":"calls","metadata":{"unresolvedName":"setScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchEnd","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:ZoomButton","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","kind":"calls","metadata":{"unresolvedName":"getAttachmentIcon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent","kind":"calls","metadata":{"unresolvedName":"hasExpandableContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:setIsExpanded","kind":"calls","metadata":{"unresolvedName":"setIsExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:onRemove","kind":"calls","metadata":{"unresolvedName":"onRemove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:setImageError","kind":"calls","metadata":{"unresolvedName":"setImageError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:AttachmentItemComponent","to":"symbol-name:setIsModalOpen","kind":"calls","metadata":{"unresolvedName":"setIsModalOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:onRemove","kind":"calls","metadata":{"unresolvedName":"onRemove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:MetaRow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:MetaRow","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"external:mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"external:content.slice","kind":"calls","metadata":{"unresolvedName":"content.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"external:url.startsWith","kind":"calls","metadata":{"unresolvedName":"url.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"symbol-name:decodeURIComponent","kind":"calls","metadata":{"unresolvedName":"decodeURIComponent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"external:url.replace","kind":"calls","metadata":{"unresolvedName":"url.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"external:url?.startsWith","kind":"calls","metadata":{"unresolvedName":"url?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ExpandedContent","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:fetch(attachment.url)\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:res.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"res.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"symbol-name:onOpenDetail","kind":"calls","metadata":{"unresolvedName":"onOpenDetail"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:ActionBar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:fetch(attachment.url)\r\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(attachment.url)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:res.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"res.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx:","to":"symbol-name:onOpenDetail","kind":"calls","metadata":{"unresolvedName":"onOpenDetail"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentItem.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:AttachmentPreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:AttachmentPreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentPreview.tsx:AttachmentPreview","to":"external:attachments.map","kind":"calls","metadata":{"unresolvedName":"attachments.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","to":"external:part.text.trim","kind":"calls","metadata":{"unresolvedName":"part.text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","to":"external:text.slice(0, 30).replace","kind":"calls","metadata":{"unresolvedName":"text.slice(0, 30).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","to":"external:text.replace","kind":"calls","metadata":{"unresolvedName":"text.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getMentionText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getMentionText","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:hasExpandableContent","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:getAttachmentIcon","to":"external:attachment.mime?.startsWith","kind":"calls","metadata":{"unresolvedName":"attachment.mime?.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createAssistantMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createAssistantMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"calls","metadata":{"unresolvedName":"createToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].sourceIds).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].sourceIds).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].message.parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].message.parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(getVisibleMessageForkTargetId(entries[0])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getVisibleMessageForkTargetId(entries[0])).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"calls","metadata":{"unresolvedName":"getVisibleMessageForkTargetId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].message.info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].message.info.id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"calls","metadata":{"unresolvedName":"createToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].sourceIds).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].sourceIds).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].message.parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].message.parts).toHaveLength"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"calls","metadata":{"unresolvedName":"createToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].sourceIds).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].sourceIds).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"calls","metadata":{"unresolvedName":"createToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(getVisibleMessageForkTargetId(entries[0])).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getVisibleMessageForkTargetId(entries[0])).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"calls","metadata":{"unresolvedName":"getVisibleMessageForkTargetId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:createToolPart","kind":"calls","metadata":{"unresolvedName":"createToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries[0].message.info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(entries[0].message.info.id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(entries).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(entries).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"calls","metadata":{"unresolvedName":"buildTurnDurationMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.get('assistant-2')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.get('assistant-2')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:durationMap.get","kind":"calls","metadata":{"unresolvedName":"durationMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.get('assistant-3')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.get('assistant-3')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.has('assistant-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.has('assistant-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:durationMap.has","kind":"calls","metadata":{"unresolvedName":"durationMap.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"calls","metadata":{"unresolvedName":"buildTurnDurationMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.get('assistant-2')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.get('assistant-2')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:durationMap.get","kind":"calls","metadata":{"unresolvedName":"durationMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.get('assistant-3')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.get('assistant-3')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:expect(durationMap.has('assistant-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(durationMap.has('assistant-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.test.ts:","to":"external:durationMap.has","kind":"calls","metadata":{"unresolvedName":"durationMap.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"external:motion/mini","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:NOOP","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:NOOP","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","to":"external:measuredMessageHeightCache.set","kind":"calls","metadata":{"unresolvedName":"measuredMessageHeightCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","to":"external:measuredMessageHeightCache.keys().next","kind":"calls","metadata":{"unresolvedName":"measuredMessageHeightCache.keys().next"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","to":"external:measuredMessageHeightCache.keys","kind":"calls","metadata":{"unresolvedName":"measuredMessageHeightCache.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","to":"external:measuredMessageHeightCache.delete","kind":"calls","metadata":{"unresolvedName":"measuredMessageHeightCache.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","to":"external:visibleMessages.filter(message => message.info.role === 'assistant').map","kind":"calls","metadata":{"unresolvedName":"visibleMessages.filter(message => message.info.role === 'assistant').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","to":"external:visibleMessages.filter","kind":"calls","metadata":{"unresolvedName":"visibleMessages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn","kind":"calls","metadata":{"unresolvedName":"commitTurn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","to":"external:visibleAssistantIds.has","kind":"calls","metadata":{"unresolvedName":"visibleAssistantIds.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:commitTurn","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"calls","metadata":{"unresolvedName":"buildVisibleMessageEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleMessageEntries.map","kind":"calls","metadata":{"unresolvedName":"visibleMessageEntries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"calls","metadata":{"unresolvedName":"getVisibleMessageForkTargetId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:buildTurnDurationMap","kind":"calls","metadata":{"unresolvedName":"buildTurnDurationMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleMessages.slice(-STICKY_RENDER_MESSAGE_COUNT).map","kind":"calls","metadata":{"unresolvedName":"visibleMessages.slice(-STICKY_RENDER_MESSAGE_COUNT).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleMessages.slice","kind":"calls","metadata":{"unresolvedName":"visibleMessages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setScrollRoot","kind":"calls","metadata":{"unresolvedName":"setScrollRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:onAtBottomChange","kind":"calls","metadata":{"unresolvedName":"onAtBottomChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve(fn()).finally","kind":"calls","metadata":{"unresolvedName":"Promise.resolve(fn()).finally"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:entry.target.getAttribute","kind":"calls","metadata":{"unresolvedName":"entry.target.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.has","kind":"calls","metadata":{"unresolvedName":"visibleIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.add","kind":"calls","metadata":{"unresolvedName":"visibleIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.delete","kind":"calls","metadata":{"unresolvedName":"visibleIds.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:onVisibleIdsChangeRef.current","kind":"calls","metadata":{"unresolvedName":"onVisibleIdsChangeRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:root.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"root.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:elements.forEach","kind":"calls","metadata":{"unresolvedName":"elements.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:el.scrollTo","kind":"calls","metadata":{"unresolvedName":"el.scrollTo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:scrollRef.current\n ?.querySelector","kind":"calls","metadata":{"unresolvedName":"scrollRef.current\n ?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:prev.push","kind":"calls","metadata":{"unresolvedName":"prev.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:groups.push","kind":"calls","metadata":{"unresolvedName":"groups.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messages.map","kind":"calls","metadata":{"unresolvedName":"messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:stickyRenderIds.has","kind":"calls","metadata":{"unresolvedName":"stickyRenderIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","kind":"calls","metadata":{"unresolvedName":"estimateMessageHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:turnDurationMap.get","kind":"calls","metadata":{"unresolvedName":"turnDurationMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:forkTargetIdMap.get","kind":"calls","metadata":{"unresolvedName":"forkTargetIdMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messageGroups.map","kind":"calls","metadata":{"unresolvedName":"messageGroups.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:renderMessageGroup","kind":"calls","metadata":{"unresolvedName":"renderMessageGroup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setScrollRoot","kind":"calls","metadata":{"unresolvedName":"setScrollRoot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:onAtBottomChange","kind":"calls","metadata":{"unresolvedName":"onAtBottomChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:onScroll","to":"symbol-name:onAtBottomChange","kind":"calls","metadata":{"unresolvedName":"onAtBottomChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:onAtBottomChange","kind":"calls","metadata":{"unresolvedName":"onAtBottomChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve(fn()).finally","kind":"calls","metadata":{"unresolvedName":"Promise.resolve(fn()).finally"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve(fn()).finally","kind":"calls","metadata":{"unresolvedName":"Promise.resolve(fn()).finally"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:entry.target.getAttribute","kind":"calls","metadata":{"unresolvedName":"entry.target.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.has","kind":"calls","metadata":{"unresolvedName":"visibleIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.add","kind":"calls","metadata":{"unresolvedName":"visibleIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.delete","kind":"calls","metadata":{"unresolvedName":"visibleIds.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:onVisibleIdsChangeRef.current","kind":"calls","metadata":{"unresolvedName":"onVisibleIdsChangeRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:root.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"root.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:elements.forEach","kind":"calls","metadata":{"unresolvedName":"elements.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:entry.target.getAttribute","kind":"calls","metadata":{"unresolvedName":"entry.target.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.has","kind":"calls","metadata":{"unresolvedName":"visibleIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.add","kind":"calls","metadata":{"unresolvedName":"visibleIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:visibleIds.delete","kind":"calls","metadata":{"unresolvedName":"visibleIds.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:onVisibleIdsChangeRef.current","kind":"calls","metadata":{"unresolvedName":"onVisibleIdsChangeRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottom","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottom","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottom","to":"external:el.scrollTo","kind":"calls","metadata":{"unresolvedName":"el.scrollTo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottomIfAtBottom","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottomIfAtBottom","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToBottomIfAtBottom","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToLastMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToLastMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToLastMessage","to":"external:scrollRef.current\n ?.querySelector","kind":"calls","metadata":{"unresolvedName":"scrollRef.current\n ?.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageIndex","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageIndex","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageIndex","to":"external:scrollRef.current\n ?.querySelector","kind":"calls","metadata":{"unresolvedName":"scrollRef.current\n ?.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:scrollToMessageId","to":"external:scrollRef.current\n ?.querySelector","kind":"calls","metadata":{"unresolvedName":"scrollRef.current\n ?.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:prev.push","kind":"calls","metadata":{"unresolvedName":"prev.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:groups.push","kind":"calls","metadata":{"unresolvedName":"groups.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:messages.map","kind":"calls","metadata":{"unresolvedName":"messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:stickyRenderIds.has","kind":"calls","metadata":{"unresolvedName":"stickyRenderIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:estimateMessageHeight","kind":"calls","metadata":{"unresolvedName":"estimateMessageHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:turnDurationMap.get","kind":"calls","metadata":{"unresolvedName":"turnDurationMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:forkTargetIdMap.get","kind":"calls","metadata":{"unresolvedName":"forkTargetIdMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:renderMessageGroup","kind":"calls","metadata":{"unresolvedName":"renderMessageGroup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:measuredMessageHeightCache.get","kind":"calls","metadata":{"unresolvedName":"measuredMessageHeightCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:registerMessage","kind":"calls","metadata":{"unresolvedName":"registerMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsNearViewport","kind":"calls","metadata":{"unresolvedName":"setIsNearViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setMeasuredHeightState","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeightState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"calls","metadata":{"unresolvedName":"rememberMeasuredMessageHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","kind":"calls","metadata":{"unresolvedName":"updateHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:registerMessage","kind":"calls","metadata":{"unresolvedName":"registerMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsNearViewport","kind":"calls","metadata":{"unresolvedName":"setIsNearViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setIsNearViewport","kind":"calls","metadata":{"unresolvedName":"setIsNearViewport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"symbol-name:setMeasuredHeightState","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeightState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"calls","metadata":{"unresolvedName":"rememberMeasuredMessageHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","kind":"calls","metadata":{"unresolvedName":"updateHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","to":"symbol-name:setMeasuredHeightState","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeightState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:updateHeight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"calls","metadata":{"unresolvedName":"rememberMeasuredMessageHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatArea.tsx:rememberMeasuredMessageHeight","kind":"calls","metadata":{"unresolvedName":"rememberMeasuredMessageHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"calls","metadata":{"unresolvedName":"hasRenderableParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:messageHasContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage","kind":"calls","metadata":{"unresolvedName":"isAbortedMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"calls","metadata":{"unresolvedName":"isVisibleReasoningPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"calls","metadata":{"unresolvedName":"isVisibleReasoningPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","kind":"calls","metadata":{"unresolvedName":"isVisibleThinking"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","kind":"calls","metadata":{"unresolvedName":"isVisibleText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleThinking","kind":"calls","metadata":{"unresolvedName":"isVisibleThinking"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isVisibleText","kind":"calls","metadata":{"unresolvedName":"isVisibleText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:getVisibleMessageForkTargetId","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:seenIds.has","kind":"calls","metadata":{"unresolvedName":"seenIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:seenIds.add","kind":"calls","metadata":{"unresolvedName":"seenIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:unique.push","kind":"calls","metadata":{"unresolvedName":"unique.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:unique.filter","kind":"calls","metadata":{"unresolvedName":"unique.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:endsWithTool","kind":"calls","metadata":{"unresolvedName":"endsWithTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isToolOnlyFollowUp","kind":"calls","metadata":{"unresolvedName":"isToolOnlyFollowUp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:sourceIds.push","kind":"calls","metadata":{"unresolvedName":"sourceIds.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:isMergeableTrailing","kind":"calls","metadata":{"unresolvedName":"isMergeableTrailing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:filteredMessages.slice","kind":"calls","metadata":{"unresolvedName":"filteredMessages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:mergedMessages.flatMap","kind":"calls","metadata":{"unresolvedName":"mergedMessages.flatMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatAreaVisibility.ts:buildVisibleMessageEntries","to":"external:mergedMessages.some","kind":"calls","metadata":{"unresolvedName":"mergedMessages.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/OutlineIndex.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:setSidebarRequestedWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:setSidebarRequestedWidth","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe","kind":"calls","metadata":{"unresolvedName":"useChatViewportMaybe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"calls","metadata":{"unresolvedName":"canUseSplitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","kind":"calls","metadata":{"unresolvedName":"useHiddenModelKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:hiddenModelKeys.includes","kind":"calls","metadata":{"unresolvedName":"hiddenModelKeys.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:autoApproveStore.onFullAutoChange","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.onFullAutoChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setFullAutoHint","kind":"calls","metadata":{"unresolvedName":"setFullAutoHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneHome","kind":"calls","metadata":{"unresolvedName":"navigatePaneHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:prev.every","kind":"calls","metadata":{"unresolvedName":"prev.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setVisibleMessageIds","kind":"calls","metadata":{"unresolvedName":"setVisibleMessageIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:chatAreaRef.current?.scrollToMessageId","kind":"calls","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setInputBoxHeight","kind":"calls","metadata":{"unresolvedName":"setInputBoxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:useDeferredValue","kind":"calls","metadata":{"unresolvedName":"useDeferredValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:messageStore.protectSession","kind":"calls","metadata":{"unresolvedName":"messageStore.protectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:messageStore.unprotectSession","kind":"calls","metadata":{"unresolvedName":"messageStore.unprotectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","kind":"calls","metadata":{"unresolvedName":"useCancelHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:handleVisibleMessageIdsChangeRef.current","kind":"calls","metadata":{"unresolvedName":"handleVisibleMessageIdsChangeRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setVisibleMessageIdsStable","kind":"calls","metadata":{"unresolvedName":"setVisibleMessageIdsStable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:agents.find","kind":"calls","metadata":{"unresolvedName":"agents.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"calls","metadata":{"unresolvedName":"findModelByKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleModelChange","kind":"calls","metadata":{"unresolvedName":"handleModelChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:syncModelForAgent","kind":"calls","metadata":{"unresolvedName":"syncModelForAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:primaryAgents.findIndex","kind":"calls","metadata":{"unresolvedName":"primaryAgents.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleAgentChange","kind":"calls","metadata":{"unresolvedName":"handleAgentChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","kind":"calls","metadata":{"unresolvedName":"restoreModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"restoreFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:restoreAgentFromMessage","kind":"calls","metadata":{"unresolvedName":"restoreAgentFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:overlayRef.current?.setZone","kind":"calls","metadata":{"unresolvedName":"overlayRef.current?.setZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelPendingZone","kind":"calls","metadata":{"unresolvedName":"cancelPendingZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:writeZone","kind":"calls","metadata":{"unresolvedName":"writeZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:resetDropState","kind":"calls","metadata":{"unresolvedName":"resetDropState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.currentTarget.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","kind":"calls","metadata":{"unresolvedName":"resolveDropZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.currentTarget.contains","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation","kind":"calls","metadata":{"unresolvedName":"cancelPendingSplitSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:readSessionDragPayload","kind":"calls","metadata":{"unresolvedName":"readSessionDragPayload"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.splitPaneToSide","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPaneToSide"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.findLeaf","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","kind":"calls","metadata":{"unresolvedName":"scheduleSplitSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:autoApproveStore.cyclePaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.cyclePaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:modelSelectorRef.current?.openMenu","kind":"calls","metadata":{"unresolvedName":"modelSelectorRef.current?.openMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.newSession","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.newSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.archiveSession","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.archiveSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.previousSession","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.previousSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.nextSession","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.nextSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.toggleAgent","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.toggleAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.copyLastResponse","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.copyLastResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.cancelMessage","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.cancelMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.openModelSelector","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.openModelSelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:controllerActionsRef.current.toggleFullAuto","kind":"calls","metadata":{"unresolvedName":"controllerActionsRef.current.toggleFullAuto"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneControllerStore.removeController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.removeController"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneControllerStore.setController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.setController"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setPermissionCollapsed","kind":"calls","metadata":{"unresolvedName":"setPermissionCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setQuestionCollapsed","kind":"calls","metadata":{"unresolvedName":"setQuestionCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:pendingPermissionRequests.find","kind":"calls","metadata":{"unresolvedName":"pendingPermissionRequests.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handlePermissionReply","kind":"calls","metadata":{"unresolvedName":"handlePermissionReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleQuestionReply","kind":"calls","metadata":{"unresolvedName":"handleQuestionReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleQuestionReject","kind":"calls","metadata":{"unresolvedName":"handleQuestionReject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:chatAreaRef.current?.scrollToBottom","kind":"calls","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToBottom"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:autoApproveStore.onFullAutoChange","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.onFullAutoChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setFullAutoHint","kind":"calls","metadata":{"unresolvedName":"setFullAutoHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setFullAutoHint","kind":"calls","metadata":{"unresolvedName":"setFullAutoHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneHome","kind":"calls","metadata":{"unresolvedName":"navigatePaneHome"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:prev.every","kind":"calls","metadata":{"unresolvedName":"prev.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setVisibleMessageIds","kind":"calls","metadata":{"unresolvedName":"setVisibleMessageIds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:chatAreaRef.current?.scrollToMessageId","kind":"calls","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToMessageId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setInputBoxHeight","kind":"calls","metadata":{"unresolvedName":"setInputBoxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setInputBoxHeight","kind":"calls","metadata":{"unresolvedName":"setInputBoxHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:messageStore.protectSession","kind":"calls","metadata":{"unresolvedName":"messageStore.protectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:messageStore.unprotectSession","kind":"calls","metadata":{"unresolvedName":"messageStore.unprotectSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:messageStore.unprotectSession","kind":"calls","metadata":{"unresolvedName":"messageStore.unprotectSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:handleVisibleMessageIdsChangeRef.current","kind":"calls","metadata":{"unresolvedName":"handleVisibleMessageIdsChangeRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setVisibleMessageIdsStable","kind":"calls","metadata":{"unresolvedName":"setVisibleMessageIdsStable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:agents.find","kind":"calls","metadata":{"unresolvedName":"agents.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"calls","metadata":{"unresolvedName":"findModelByKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleModelChange","kind":"calls","metadata":{"unresolvedName":"handleModelChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:syncModelForAgent","kind":"calls","metadata":{"unresolvedName":"syncModelForAgent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:primaryAgents.findIndex","kind":"calls","metadata":{"unresolvedName":"primaryAgents.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:handleAgentChange","kind":"calls","metadata":{"unresolvedName":"handleAgentChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","kind":"calls","metadata":{"unresolvedName":"restoreModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"restoreFromMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"restoreFromMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:restoreAgentFromMessage","kind":"calls","metadata":{"unresolvedName":"restoreAgentFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:overlayRef.current?.setZone","kind":"calls","metadata":{"unresolvedName":"overlayRef.current?.setZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelPendingZone","kind":"calls","metadata":{"unresolvedName":"cancelPendingZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:writeZone","kind":"calls","metadata":{"unresolvedName":"writeZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:resetDropState","kind":"calls","metadata":{"unresolvedName":"resetDropState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.currentTarget.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","kind":"calls","metadata":{"unresolvedName":"resolveDropZone"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:writeZone","kind":"calls","metadata":{"unresolvedName":"writeZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:writeZone","kind":"calls","metadata":{"unresolvedName":"writeZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.currentTarget.contains","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:resetDropState","kind":"calls","metadata":{"unresolvedName":"resetDropState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:resetDropState","kind":"calls","metadata":{"unresolvedName":"resetDropState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:cancelPendingSplitSessionNavigation","kind":"calls","metadata":{"unresolvedName":"cancelPendingSplitSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:readSessionDragPayload","kind":"calls","metadata":{"unresolvedName":"readSessionDragPayload"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.splitPaneToSide","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPaneToSide"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.findLeaf","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:scheduleSplitSessionNavigation","kind":"calls","metadata":{"unresolvedName":"scheduleSplitSessionNavigation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneLayoutStore.findLeaf","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:navigatePaneToSession","kind":"calls","metadata":{"unresolvedName":"navigatePaneToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:autoApproveStore.cyclePaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.cyclePaneFullAutoMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:modelSelectorRef.current?.openMenu","kind":"calls","metadata":{"unresolvedName":"modelSelectorRef.current?.openMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneControllerStore.removeController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.removeController"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneControllerStore.removeController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.removeController"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"external:paneControllerStore.setController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.setController"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setPermissionCollapsed","kind":"calls","metadata":{"unresolvedName":"setPermissionCollapsed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:","to":"symbol-name:setQuestionCollapsed","kind":"calls","metadata":{"unresolvedName":"setQuestionCollapsed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply","to":"external:pendingPermissionRequests.find","kind":"calls","metadata":{"unresolvedName":"pendingPermissionRequests.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ChatPane.tsx:onPermissionReply","to":"symbol-name:handlePermissionReply","kind":"calls","metadata":{"unresolvedName":"handlePermissionReply"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:clamp","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"symbol-name:clamp","kind":"calls","metadata":{"unresolvedName":"clamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarMaxWidth","kind":"calls","metadata":{"unresolvedName":"getResponsiveSidebarMaxWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveSidebarDefaultWidth","kind":"calls","metadata":{"unresolvedName":"getResponsiveSidebarDefaultWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:getResponsiveRightPanelMaxWidth","kind":"calls","metadata":{"unresolvedName":"getResponsiveRightPanelMaxWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:ChatViewportProvider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:ChatViewportProvider","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportMaybe","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:setViewportWidth","kind":"calls","metadata":{"unresolvedName":"setViewportWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:setViewportHeight","kind":"calls","metadata":{"unresolvedName":"setViewportHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:setSurfaceWidth","kind":"calls","metadata":{"unresolvedName":"setSurfaceWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:setSidebarHasCustomWidth","kind":"calls","metadata":{"unresolvedName":"setSidebarHasCustomWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:setRequestedSidebarWidthState","kind":"calls","metadata":{"unresolvedName":"setRequestedSidebarWidthState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewportController","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:computeChatViewport","kind":"calls","metadata":{"unresolvedName":"computeChatViewport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setViewportWidth","kind":"calls","metadata":{"unresolvedName":"setViewportWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setViewportHeight","kind":"calls","metadata":{"unresolvedName":"setViewportHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize","to":"symbol-name:setViewportWidth","kind":"calls","metadata":{"unresolvedName":"setViewportWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:handleResize","to":"symbol-name:setViewportHeight","kind":"calls","metadata":{"unresolvedName":"setViewportHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setSurfaceWidth","kind":"calls","metadata":{"unresolvedName":"setSurfaceWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setSurfaceWidth","kind":"calls","metadata":{"unresolvedName":"setSurfaceWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setSidebarHasCustomWidth","kind":"calls","metadata":{"unresolvedName":"setSidebarHasCustomWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:setRequestedSidebarWidthState","kind":"calls","metadata":{"unresolvedName":"setRequestedSidebarWidthState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:getPath().then(setPathInfo).catch","kind":"calls","metadata":{"unresolvedName":"getPath().then(setPathInfo).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:getPath().then","kind":"calls","metadata":{"unresolvedName":"getPath().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:customPath.trim","kind":"calls","metadata":{"unresolvedName":"customPath.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:onStartChat","kind":"calls","metadata":{"unresolvedName":"onStartChat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:setCustomPath","kind":"calls","metadata":{"unresolvedName":"setCustomPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"symbol-name:setIsCustomMode","kind":"calls","metadata":{"unresolvedName":"setIsCustomMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:projects\r\n .filter","kind":"calls","metadata":{"unresolvedName":"projects\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","kind":"calls","metadata":{"unresolvedName":"handleStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"calls","metadata":{"unresolvedName":"handleSelectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:EmptyState","to":"external:otherDirectories.map","kind":"calls","metadata":{"unresolvedName":"otherDirectories.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:getPath().then(setPathInfo).catch","kind":"calls","metadata":{"unresolvedName":"getPath().then(setPathInfo).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:getPath().then","kind":"calls","metadata":{"unresolvedName":"getPath().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleClickOutside","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","to":"external:customPath.trim","kind":"calls","metadata":{"unresolvedName":"customPath.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","to":"symbol-name:onStartChat","kind":"calls","metadata":{"unresolvedName":"onStartChat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","to":"symbol-name:setCustomPath","kind":"calls","metadata":{"unresolvedName":"setCustomPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","to":"symbol-name:setIsCustomMode","kind":"calls","metadata":{"unresolvedName":"setIsCustomMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","to":"symbol-name:setIsCustomMode","kind":"calls","metadata":{"unresolvedName":"setIsCustomMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleCustomPath","to":"symbol-name:setCustomPath","kind":"calls","metadata":{"unresolvedName":"setCustomPath"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"external:customPath.trim","kind":"calls","metadata":{"unresolvedName":"customPath.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleStart","kind":"calls","metadata":{"unresolvedName":"handleStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:","to":"symbol-name:setIsCustomMode","kind":"calls","metadata":{"unresolvedName":"setIsCustomMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:SessionTitleControl","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"calls","metadata":{"unresolvedName":"useSessionContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:titleInputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"titleInputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:titleInputRef.current.select","kind":"calls","metadata":{"unresolvedName":"titleInputRef.current.select"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:editTitle.trim","kind":"calls","metadata":{"unresolvedName":"editTitle.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"symbol-name:setShareDialogOpen","kind":"calls","metadata":{"unresolvedName":"setShareDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:layoutStore.toggleBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:Header","to":"external:layoutStore.toggleRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","to":"external:titleInputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"titleInputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:","to":"external:titleInputRef.current.select","kind":"calls","metadata":{"unresolvedName":"titleInputRef.current.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleStartEdit","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"external:editTitle.trim","kind":"calls","metadata":{"unresolvedName":"editTitle.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"symbol-name:setIsEditingTitle","kind":"calls","metadata":{"unresolvedName":"setIsEditingTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"external:(request.patterns as string[]).map(p => p.replace(/\\\\n/g, '\\n')).join","kind":"calls","metadata":{"unresolvedName":"(request.patterns as string[]).map(p => p.replace(/\\\\n/g, '\\n')).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"external:(request.patterns as string[]).map","kind":"calls","metadata":{"unresolvedName":"(request.patterns as string[]).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"external:p.replace","kind":"calls","metadata":{"unresolvedName":"p.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"external:autoApproveStore.addRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.addRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","to":"external:autoApproveStore.addRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.addRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx:handleAlways","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.has","kind":"calls","metadata":{"unresolvedName":"s.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.delete","kind":"calls","metadata":{"unresolvedName":"s.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.add","kind":"calls","metadata":{"unresolvedName":"s.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomValues","kind":"calls","metadata":{"unresolvedName":"setCustomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.map","kind":"calls","metadata":{"unresolvedName":"request.questions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.every","kind":"calls","metadata":{"unresolvedName":"request.questions.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onReject","kind":"calls","metadata":{"unresolvedName":"onReject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:handleSubmit","kind":"calls","metadata":{"unresolvedName":"handleSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:selectOption","kind":"calls","metadata":{"unresolvedName":"selectOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:selectCustom","kind":"calls","metadata":{"unresolvedName":"selectCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:toggleOption","kind":"calls","metadata":{"unresolvedName":"toggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:toggleCustom","kind":"calls","metadata":{"unresolvedName":"toggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:updateCustomValue","kind":"calls","metadata":{"unresolvedName":"updateCustomValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.has","kind":"calls","metadata":{"unresolvedName":"s.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.delete","kind":"calls","metadata":{"unresolvedName":"s.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.add","kind":"calls","metadata":{"unresolvedName":"s.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.has","kind":"calls","metadata":{"unresolvedName":"s.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.delete","kind":"calls","metadata":{"unresolvedName":"s.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:s.add","kind":"calls","metadata":{"unresolvedName":"s.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:setCustomValues","kind":"calls","metadata":{"unresolvedName":"setCustomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:m.set","kind":"calls","metadata":{"unresolvedName":"m.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:request.questions.map","kind":"calls","metadata":{"unresolvedName":"request.questions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onReject","kind":"calls","metadata":{"unresolvedName":"onReject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:handleSubmit","kind":"calls","metadata":{"unresolvedName":"handleSubmit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"external:(question.options || []).map","kind":"calls","metadata":{"unresolvedName":"(question.options || []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"external:selected.has","kind":"calls","metadata":{"unresolvedName":"selected.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:onToggleOption","kind":"calls","metadata":{"unresolvedName":"onToggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:onSelectOption","kind":"calls","metadata":{"unresolvedName":"onSelectOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:onToggleCustom","kind":"calls","metadata":{"unresolvedName":"onToggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:onSelectCustom","kind":"calls","metadata":{"unresolvedName":"onSelectCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:onCustomValueChange","kind":"calls","metadata":{"unresolvedName":"onCustomValueChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"symbol-name:adjustHeight","kind":"calls","metadata":{"unresolvedName":"adjustHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:InlineQuestionItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:selected.has","kind":"calls","metadata":{"unresolvedName":"selected.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onToggleOption","kind":"calls","metadata":{"unresolvedName":"onToggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onSelectOption","kind":"calls","metadata":{"unresolvedName":"onSelectOption"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onToggleCustom","kind":"calls","metadata":{"unresolvedName":"onToggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onSelectCustom","kind":"calls","metadata":{"unresolvedName":"onSelectCustom"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onCustomValueChange","kind":"calls","metadata":{"unresolvedName":"onCustomValueChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:adjustHeight","kind":"calls","metadata":{"unresolvedName":"adjustHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onToggleCustom","kind":"calls","metadata":{"unresolvedName":"onToggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx:","to":"symbol-name:onSelectCustom","kind":"calls","metadata":{"unresolvedName":"onSelectCustom"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onPermissionReply","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onPermissionReply","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReply","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReply","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:onQuestionReject","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","to":"external:pendingPermissions.find","kind":"calls","metadata":{"unresolvedName":"pendingPermissions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","to":"external:childSessionStore.isChildOf","kind":"calls","metadata":{"unresolvedName":"childSessionStore.isChildOf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","to":"external:pendingQuestions.find","kind":"calls","metadata":{"unresolvedName":"pendingQuestions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","to":"external:childSessionStore.isChildOf","kind":"calls","metadata":{"unresolvedName":"childSessionStore.isChildOf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.importActual","kind":"calls","metadata":{"unresolvedName":"vi.importActual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(stageGitPaths).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(commitGitChanges).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(trigger).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('main')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('main')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('1 ahead')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1 ahead')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('2 behind')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2 behind')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(stageGitPaths).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(commitGitChanges).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(stageGitPaths).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stageGitPaths).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(commitGitChanges).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(commitGitChanges).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(stageGitPaths).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(commitGitChanges).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(trigger).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('main')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('main')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('1 ahead')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('1 ahead')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(screen.getByText('2 behind')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2 behind')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsStatus).mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsStatus).mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(getVcsBranches).mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getVcsBranches).mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(trigger).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(stageGitPaths).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(stageGitPaths).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:vi.mocked(commitGitChanges).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(commitGitChanges).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(stageGitPaths).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stageGitPaths).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(commitGitChanges).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(commitGitChanges).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(stageGitPaths).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(stageGitPaths).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"external:expect(commitGitChanges).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(commitGitChanges).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"external:@primer/octicons-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:fileStatusLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:fileStatusLabel","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName","to":"external:branch.slice","kind":"calls","metadata":{"unresolvedName":"branch.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged","to":"external:files.filter","kind":"calls","metadata":{"unresolvedName":"files.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged","to":"external:files.filter","kind":"calls","metadata":{"unresolvedName":"files.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countStaged","kind":"calls","metadata":{"unresolvedName":"countStaged"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:countUnstaged","kind":"calls","metadata":{"unresolvedName":"countUnstaged"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:branches.find","kind":"calls","metadata":{"unresolvedName":"branches.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"calls","metadata":{"unresolvedName":"getVcsStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"calls","metadata":{"unresolvedName":"getVcsBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:triggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setCommitMessage","kind":"calls","metadata":{"unresolvedName":"setCommitMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:runAction","kind":"calls","metadata":{"unresolvedName":"runAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:status?.files.map","kind":"calls","metadata":{"unresolvedName":"status?.files.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:status?.files.filter(file => file.staged).map","kind":"calls","metadata":{"unresolvedName":"status?.files.filter(file => file.staged).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:status?.files.filter","kind":"calls","metadata":{"unresolvedName":"status?.files.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:compactBranchName","kind":"calls","metadata":{"unresolvedName":"compactBranchName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:branches.map","kind":"calls","metadata":{"unresolvedName":"branches.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:checkoutGitBranch","kind":"calls","metadata":{"unresolvedName":"checkoutGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:commitMessage.trim","kind":"calls","metadata":{"unresolvedName":"commitMessage.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:commitGitChanges","kind":"calls","metadata":{"unresolvedName":"commitGitChanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:stageGitPaths","kind":"calls","metadata":{"unresolvedName":"stageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"symbol-name:unstageGitPaths","kind":"calls","metadata":{"unresolvedName":"unstageGitPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:status?.files\n .slice(0, 8)\n .map","kind":"calls","metadata":{"unresolvedName":"status?.files\n .slice(0, 8)\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitComposerControl","to":"external:status?.files\n .slice","kind":"calls","metadata":{"unresolvedName":"status?.files\n .slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsStatus","kind":"calls","metadata":{"unresolvedName":"getVcsStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsBranches","kind":"calls","metadata":{"unresolvedName":"getVcsBranches"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:triggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","to":"external:triggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handlePointerDown","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:handleKeyDown","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setActionLoading","kind":"calls","metadata":{"unresolvedName":"setActionLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx:action","kind":"calls","metadata":{"unresolvedName":"action"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setCommitMessage","kind":"calls","metadata":{"unresolvedName":"setCommitMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:runAction","kind":"calls","metadata":{"unresolvedName":"runAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:createGitBranch","kind":"calls","metadata":{"unresolvedName":"createGitBranch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:runAction","kind":"calls","metadata":{"unresolvedName":"runAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:pullGitBranch","kind":"calls","metadata":{"unresolvedName":"pullGitBranch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:runAction","kind":"calls","metadata":{"unresolvedName":"runAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:","to":"symbol-name:pushGitBranch","kind":"calls","metadata":{"unresolvedName":"pushGitBranch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:StatusBadge","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:StatusBadge","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitActionButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:GitActionButton","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:ChangedFileRow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:ChangedFileRow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:ChangedFileRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx:fileStatusLabel","kind":"calls","metadata":{"unresolvedName":"fileStatusLabel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:PresenceItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:PresenceItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:PresenceItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"calls","metadata":{"unresolvedName":"usePresence"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","to":"external:autoApproveStore.onFullAutoChange","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.onFullAutoChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","to":"external:autoApproveStore.getPaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.getPaneFullAutoMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","kind":"calls","metadata":{"unresolvedName":"useTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","kind":"calls","metadata":{"unresolvedName":"useTodoStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","kind":"calls","metadata":{"unresolvedName":"useCurrentTask"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:useFullAutoMode","kind":"calls","metadata":{"unresolvedName":"useFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:getSessionTodos(sessionId)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionTodos(sessionId)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos","kind":"calls","metadata":{"unresolvedName":"getSessionTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:clearPanelTimers","kind":"calls","metadata":{"unresolvedName":"clearPanelTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer.setAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainer.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer.contains","kind":"calls","metadata":{"unresolvedName":"inputContainer.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:activeElement.blur","kind":"calls","metadata":{"unresolvedName":"activeElement.blur"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainerRef?.current?.removeAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:closePanel","kind":"calls","metadata":{"unresolvedName":"closePanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:openPanel","kind":"calls","metadata":{"unresolvedName":"openPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:popoverRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"popoverRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainerRef?.current?.contains","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer?.removeAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainer?.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:autoApproveStore.cyclePaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.cyclePaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:todos.map","kind":"calls","metadata":{"unresolvedName":"todos.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:getSessionTodos(sessionId)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionTodos(sessionId)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionTodos","kind":"calls","metadata":{"unresolvedName":"getSessionTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:todoStore.setTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.setTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:clearPanelTimers","kind":"calls","metadata":{"unresolvedName":"clearPanelTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer.setAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainer.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer.contains","kind":"calls","metadata":{"unresolvedName":"inputContainer.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:activeElement.blur","kind":"calls","metadata":{"unresolvedName":"activeElement.blur"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:clearPanelTimers","kind":"calls","metadata":{"unresolvedName":"clearPanelTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainerRef?.current?.removeAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:closePanel","kind":"calls","metadata":{"unresolvedName":"closePanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:openPanel","kind":"calls","metadata":{"unresolvedName":"openPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:popoverRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"popoverRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainerRef?.current?.contains","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:closePanel","kind":"calls","metadata":{"unresolvedName":"closePanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","to":"external:popoverRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"popoverRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","to":"external:inputContainerRef?.current?.contains","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:handleClick","to":"symbol-name:closePanel","kind":"calls","metadata":{"unresolvedName":"closePanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setPanelState","kind":"calls","metadata":{"unresolvedName":"setPanelState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:clearPanelTimers","kind":"calls","metadata":{"unresolvedName":"clearPanelTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer?.removeAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainer?.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:clearPanelTimers","kind":"calls","metadata":{"unresolvedName":"clearPanelTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:inputContainer?.removeAttribute","kind":"calls","metadata":{"unresolvedName":"inputContainer?.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:footer.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"footer.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"symbol-name:setStyle","kind":"calls","metadata":{"unresolvedName":"setStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"symbol-name:update","kind":"calls","metadata":{"unresolvedName":"update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:TodoSwapPanel","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:footer.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"footer.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:setStyle","kind":"calls","metadata":{"unresolvedName":"setStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"symbol-name:update","kind":"calls","metadata":{"unresolvedName":"update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","to":"external:footer.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"footer.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:update","to":"symbol-name:setStyle","kind":"calls","metadata":{"unresolvedName":"setStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:MiniProgress","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:MiniProgress","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:extToMime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:extToMime","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:MenuItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:MenuItem","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:openMock.mockReset","kind":"calls","metadata":{"unresolvedName":"openMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:readFileMock.mockReset","kind":"calls","metadata":{"unresolvedName":"readFileMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(inputClickSpy).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(inputClickSpy).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onFilesSelected).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:inputClickSpy.mockRestore","kind":"calls","metadata":{"unresolvedName":"inputClickSpy.mockRestore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:openMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"openMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:readFileMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"readFileMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(openMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(openMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(readFileMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(readFileMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onFilesSelected).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(files).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(files[0].name).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files[0].type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(files[0].type).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(trigger).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(buttons.indexOf(voiceButton)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buttons.indexOf(voiceButton)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:buttons.indexOf","kind":"calls","metadata":{"unresolvedName":"buttons.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onVoiceTranscription).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onVoiceTranscription).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:openMock.mockReset","kind":"calls","metadata":{"unresolvedName":"openMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:readFileMock.mockReset","kind":"calls","metadata":{"unresolvedName":"readFileMock.mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:useIsMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useIsMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(inputClickSpy).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(inputClickSpy).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onFilesSelected).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:inputClickSpy.mockRestore","kind":"calls","metadata":{"unresolvedName":"inputClickSpy.mockRestore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:isTauriMobileMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"isTauriMobileMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:openMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"openMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:readFileMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"readFileMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(openMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(openMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(readFileMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(readFileMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onFilesSelected).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(files).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(files[0].name).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(files[0].type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(files[0].type).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(openMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(openMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(readFileMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(readFileMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onFilesSelected).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onFilesSelected).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(trigger).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(trigger).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('menuitemradio', { name: 'Build' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(buttons.indexOf(voiceButton)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(buttons.indexOf(voiceButton)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:buttons.indexOf","kind":"calls","metadata":{"unresolvedName":"buttons.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(onVoiceTranscription).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onVoiceTranscription).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(trigger).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(trigger).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(trigger).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: 'Send message' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.test.tsx:ToolbarHarness","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/GitComposerControl.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:accept.push","kind":"calls","metadata":{"unresolvedName":"accept.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:extensions.push","kind":"calls","metadata":{"unresolvedName":"extensions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:filterNames.push","kind":"calls","metadata":{"unresolvedName":"filterNames.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:accept.join","kind":"calls","metadata":{"unresolvedName":"accept.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:filterNames.join","kind":"calls","metadata":{"unresolvedName":"filterNames.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:inputContainerRef?.current?.querySelector","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:close","kind":"calls","metadata":{"unresolvedName":"close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:menu.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"menu.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:menu.querySelector","kind":"calls","metadata":{"unresolvedName":"menu.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:focusables[nextIndex]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[nextIndex]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:menu?.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"menu?.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:trigger?.focus","kind":"calls","metadata":{"unresolvedName":"trigger?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:items.findIndex","kind":"calls","metadata":{"unresolvedName":"items.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:items[index]?.focus","kind":"calls","metadata":{"unresolvedName":"items[index]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"calls","metadata":{"unresolvedName":"focusByIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:open","kind":"calls","metadata":{"unresolvedName":"open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:path.split(/[\\\\/]/).pop","kind":"calls","metadata":{"unresolvedName":"path.split(/[\\\\/]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:path.split","kind":"calls","metadata":{"unresolvedName":"path.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:fileName.split('.').pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:fileName.split('.').pop","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:fileName.split","kind":"calls","metadata":{"unresolvedName":"fileName.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:readFile","kind":"calls","metadata":{"unresolvedName":"readFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:onFilesSelected","kind":"calls","metadata":{"unresolvedName":"onFilesSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agentMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agentTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agentTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variantMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variantTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variantTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:focusMenuItem","kind":"calls","metadata":{"unresolvedName":"focusMenuItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agents.find","kind":"calls","metadata":{"unresolvedName":"agents.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:handleMenuKeyDown","kind":"calls","metadata":{"unresolvedName":"handleMenuKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:selectableAgents.map","kind":"calls","metadata":{"unresolvedName":"selectableAgents.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agent.name.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"agent.name.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agent.name.charAt","kind":"calls","metadata":{"unresolvedName":"agent.name.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:agent.name.slice","kind":"calls","metadata":{"unresolvedName":"agent.name.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:onAgentChange","kind":"calls","metadata":{"unresolvedName":"onAgentChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:closeMenuToComposer","kind":"calls","metadata":{"unresolvedName":"closeMenuToComposer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:selectedVariant.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"selectedVariant.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:selectedVariant.charAt","kind":"calls","metadata":{"unresolvedName":"selectedVariant.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:selectedVariant.slice","kind":"calls","metadata":{"unresolvedName":"selectedVariant.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"symbol-name:onVariantChange","kind":"calls","metadata":{"unresolvedName":"onVariantChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variants.map","kind":"calls","metadata":{"unresolvedName":"variants.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variant.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"variant.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variant.charAt","kind":"calls","metadata":{"unresolvedName":"variant.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:InputToolbar","to":"external:variant.slice","kind":"calls","metadata":{"unresolvedName":"variant.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:accept.push","kind":"calls","metadata":{"unresolvedName":"accept.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:extensions.push","kind":"calls","metadata":{"unresolvedName":"extensions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:filterNames.push","kind":"calls","metadata":{"unresolvedName":"filterNames.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:accept.join","kind":"calls","metadata":{"unresolvedName":"accept.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:filterNames.join","kind":"calls","metadata":{"unresolvedName":"filterNames.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:inputContainerRef?.current?.querySelector","kind":"calls","metadata":{"unresolvedName":"inputContainerRef?.current?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:close","kind":"calls","metadata":{"unresolvedName":"close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:menu.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"menu.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:menu.querySelector","kind":"calls","metadata":{"unresolvedName":"menu.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:focusables[nextIndex]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[nextIndex]?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:menu?.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"menu?.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:trigger?.focus","kind":"calls","metadata":{"unresolvedName":"trigger?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:items.findIndex","kind":"calls","metadata":{"unresolvedName":"items.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:items[index]?.focus","kind":"calls","metadata":{"unresolvedName":"items[index]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/SessionChangesPanel.tsx:focusByIndex","kind":"calls","metadata":{"unresolvedName":"focusByIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:open","kind":"calls","metadata":{"unresolvedName":"open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:path.split(/[\\\\/]/).pop","kind":"calls","metadata":{"unresolvedName":"path.split(/[\\\\/]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:path.split","kind":"calls","metadata":{"unresolvedName":"path.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:fileName.split('.').pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:fileName.split('.').pop","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:fileName.split","kind":"calls","metadata":{"unresolvedName":"fileName.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:readFile","kind":"calls","metadata":{"unresolvedName":"readFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onFilesSelected","kind":"calls","metadata":{"unresolvedName":"onFilesSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:agentMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:agentTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:agentTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:variantMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:variantTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:variantTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:agentMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:agentTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:agentTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"agentTriggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:variantMenuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantMenuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:variantTriggerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:handleClickOutside","to":"external:variantTriggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"variantTriggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusMenuItem","kind":"calls","metadata":{"unresolvedName":"focusMenuItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusMenuItem","kind":"calls","metadata":{"unresolvedName":"focusMenuItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusMenuItem","kind":"calls","metadata":{"unresolvedName":"focusMenuItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:focusMenuItem","kind":"calls","metadata":{"unresolvedName":"focusMenuItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onAgentChange","kind":"calls","metadata":{"unresolvedName":"onAgentChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:closeMenuToComposer","kind":"calls","metadata":{"unresolvedName":"closeMenuToComposer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setAgentMenuOpen","kind":"calls","metadata":{"unresolvedName":"setAgentMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onVariantChange","kind":"calls","metadata":{"unresolvedName":"onVariantChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:closeMenuToComposer","kind":"calls","metadata":{"unresolvedName":"closeMenuToComposer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onVariantChange","kind":"calls","metadata":{"unresolvedName":"onVariantChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:closeMenuToComposer","kind":"calls","metadata":{"unresolvedName":"closeMenuToComposer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:setVariantMenuOpen","kind":"calls","metadata":{"unresolvedName":"setVariantMenuOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"symbol-name:onFilesSelected","kind":"calls","metadata":{"unresolvedName":"onFilesSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","to":"external:text.startsWith","kind":"calls","metadata":{"unresolvedName":"text.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","to":"external:query.includes","kind":"calls","metadata":{"unresolvedName":"query.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","to":"external:mime.startsWith","kind":"calls","metadata":{"unresolvedName":"mime.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","to":"external:file.name.split('.').pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"file.name.split('.').pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","to":"external:file.name.split('.').pop","kind":"calls","metadata":{"unresolvedName":"file.name.split('.').pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","to":"external:file.name.split","kind":"calls","metadata":{"unresolvedName":"file.name.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","to":"external:reader.readAsDataURL","kind":"calls","metadata":{"unresolvedName":"reader.readAsDataURL"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:","to":"external:reader.readAsDataURL","kind":"calls","metadata":{"unresolvedName":"reader.readAsDataURL"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/UndoStatus.tsx:UndoStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:setOverflowing","kind":"calls","metadata":{"unresolvedName":"setOverflowing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:setShowLeftFade","kind":"calls","metadata":{"unresolvedName":"setShowLeftFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:setShowRightFade","kind":"calls","metadata":{"unresolvedName":"setShowRightFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:syncState","kind":"calls","metadata":{"unresolvedName":"syncState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:resetState","kind":"calls","metadata":{"unresolvedName":"resetState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:el.scrollTo","kind":"calls","metadata":{"unresolvedName":"el.scrollTo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setOverflowing","kind":"calls","metadata":{"unresolvedName":"setOverflowing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setShowLeftFade","kind":"calls","metadata":{"unresolvedName":"setShowLeftFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setShowRightFade","kind":"calls","metadata":{"unresolvedName":"setShowRightFade"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setOverflowing","kind":"calls","metadata":{"unresolvedName":"setOverflowing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setShowLeftFade","kind":"calls","metadata":{"unresolvedName":"setShowLeftFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:setShowRightFade","kind":"calls","metadata":{"unresolvedName":"setShowRightFade"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:syncState","kind":"calls","metadata":{"unresolvedName":"syncState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:resetState","kind":"calls","metadata":{"unresolvedName":"resetState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:el.scrollTo","kind":"calls","metadata":{"unresolvedName":"el.scrollTo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:syncState","kind":"calls","metadata":{"unresolvedName":"syncState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:el.scrollTo","kind":"calls","metadata":{"unresolvedName":"el.scrollTo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:syncState","kind":"calls","metadata":{"unresolvedName":"syncState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages","kind":"calls","metadata":{"unresolvedName":"useMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:getMessageText(msg).trim","kind":"calls","metadata":{"unresolvedName":"getMessageText(msg).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:seen.has","kind":"calls","metadata":{"unresolvedName":"seen.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:seen.add","kind":"calls","metadata":{"unresolvedName":"seen.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:atts.push","kind":"calls","metadata":{"unresolvedName":"atts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:entries.push","kind":"calls","metadata":{"unresolvedName":"entries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:attachments.every","kind":"calls","metadata":{"unresolvedName":"attachments.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","kind":"calls","metadata":{"unresolvedName":"isHistoryUnmodified"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor","kind":"calls","metadata":{"unresolvedName":"canNavigateHistoryAtCursor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:getMessageText(msg).trim","kind":"calls","metadata":{"unresolvedName":"getMessageText(msg).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:seen.has","kind":"calls","metadata":{"unresolvedName":"seen.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:seen.add","kind":"calls","metadata":{"unresolvedName":"seen.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:atts.push","kind":"calls","metadata":{"unresolvedName":"atts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:entries.push","kind":"calls","metadata":{"unresolvedName":"entries.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:attachments.every","kind":"calls","metadata":{"unresolvedName":"attachments.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","kind":"calls","metadata":{"unresolvedName":"isHistoryUnmodified"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor","kind":"calls","metadata":{"unresolvedName":"canNavigateHistoryAtCursor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:canNavigateHistoryAtCursor","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:isHistoryUnmodified","to":"external:attachments.every","kind":"calls","metadata":{"unresolvedName":"attachments.every"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:inputContainerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"inputContainerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:contentWrapRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"contentWrapRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:footerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"footerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:isInsideInputArea","kind":"calls","metadata":{"unresolvedName":"isInsideInputArea"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:setExpandedHeight","kind":"calls","metadata":{"unresolvedName":"setExpandedHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","to":"symbol-name:registerInputBox","kind":"calls","metadata":{"unresolvedName":"registerInputBox"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:inputContainerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"inputContainerRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:contentWrapRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"contentWrapRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:footerRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"footerRef.current?.contains"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:isInsideInputArea","kind":"calls","metadata":{"unresolvedName":"isInsideInputArea"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:isInsideInputArea","kind":"calls","metadata":{"unresolvedName":"isInsideInputArea"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:isInsideInputArea","kind":"calls","metadata":{"unresolvedName":"isInsideInputArea"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown","to":"symbol-name:isInsideInputArea","kind":"calls","metadata":{"unresolvedName":"isInsideInputArea"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:handleOutsidePointerDown","to":"symbol-name:setIsFocused","kind":"calls","metadata":{"unresolvedName":"setIsFocused"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setExpandedHeight","kind":"calls","metadata":{"unresolvedName":"setExpandedHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:setExpandedHeight","kind":"calls","metadata":{"unresolvedName":"setExpandedHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:","to":"symbol-name:registerInputBox","kind":"calls","metadata":{"unresolvedName":"registerInputBox"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked(useVoiceTranscription).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(useVoiceTranscription).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(startRecording).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(startRecording).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(resetError).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(resetError).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(stopRecording).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(stopRecording).toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked(useVoiceTranscription).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(useVoiceTranscription).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(startRecording).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(startRecording).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked(useVoiceTranscription).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(useVoiceTranscription).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(startRecording).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(startRecording).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(resetError).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(resetError).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked(useVoiceTranscription).mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(useVoiceTranscription).mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"external:expect(stopRecording).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(stopRecording).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:VoiceInputButton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:VoiceInputButton","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/VoiceInputButton.tsx:VoiceInputButton","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:slashCommands.map","kind":"calls","metadata":{"unresolvedName":"slashCommands.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveUp","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:moveDown","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:selectCurrent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:selectCurrent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:selectCurrent","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveSend","kind":"calls","metadata":{"unresolvedName":"resolveSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea).not.toBeDisabled","kind":"calls","metadata":{"unresolvedName":"expect(textarea).not.toBeDisabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveCommand","kind":"calls","metadata":{"unresolvedName":"resolveCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.compositionStart","kind":"calls","metadata":{"unresolvedName":"fireEvent.compositionStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.compositionEnd","kind":"calls","metadata":{"unresolvedName":"fireEvent.compositionEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onSend).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"calls","metadata":{"unresolvedName":"createHistoryMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveSend","kind":"calls","metadata":{"unresolvedName":"resolveSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveSend","kind":"calls","metadata":{"unresolvedName":"resolveSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onCommand).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea).not.toBeDisabled","kind":"calls","metadata":{"unresolvedName":"expect(textarea).not.toBeDisabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveCommand","kind":"calls","metadata":{"unresolvedName":"resolveCommand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveCommand","kind":"calls","metadata":{"unresolvedName":"resolveCommand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveCommand","kind":"calls","metadata":{"unresolvedName":"resolveCommand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:resolveCommand","kind":"calls","metadata":{"unresolvedName":"resolveCommand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.compositionStart","kind":"calls","metadata":{"unresolvedName":"fireEvent.compositionStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.compositionEnd","kind":"calls","metadata":{"unresolvedName":"fireEvent.compositionEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onSend).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSend).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(onSend).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onSend).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"calls","metadata":{"unresolvedName":"createHistoryMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:createHistoryMessage","kind":"calls","metadata":{"unresolvedName":"createHistoryMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.value).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.value).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionStart).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionStart).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.test.tsx:","to":"external:expect(textarea.selectionEnd).toBe","kind":"calls","metadata":{"unresolvedName":"expect(textarea.selectionEnd).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputToolbar.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputFooter.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/InputActions.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useAttachmentRail.ts:useAttachmentRail","kind":"calls","metadata":{"unresolvedName":"useAttachmentRail"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useInputHistory.ts:useInputHistory","kind":"calls","metadata":{"unresolvedName":"useInputHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:text.trim","kind":"calls","metadata":{"unresolvedName":"text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/useMobileCollapse.ts:useMobileCollapse","kind":"calls","metadata":{"unresolvedName":"useMobileCollapse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:resetHistoryIndex","kind":"calls","metadata":{"unresolvedName":"resetHistoryIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:resetDraft","kind":"calls","metadata":{"unresolvedName":"resetDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:onCommand","kind":"calls","metadata":{"unresolvedName":"onCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:onClearRevert","kind":"calls","metadata":{"unresolvedName":"onClearRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:restoreDraft","kind":"calls","metadata":{"unresolvedName":"restoreDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setIsSubmitting","kind":"calls","metadata":{"unresolvedName":"setIsSubmitting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:submit","kind":"calls","metadata":{"unresolvedName":"submit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:onFailure","kind":"calls","metadata":{"unresolvedName":"onFailure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:onSuccess","kind":"calls","metadata":{"unresolvedName":"onSuccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:attachments.find","kind":"calls","metadata":{"unresolvedName":"attachments.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:text.slice(textRange.end).trim","kind":"calls","metadata":{"unresolvedName":"text.slice(textRange.end).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:submitCommandOptimistically","kind":"calls","metadata":{"unresolvedName":"submitCommandOptimistically"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:runSubmit","kind":"calls","metadata":{"unresolvedName":"runSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setMentionQuery","kind":"calls","metadata":{"unresolvedName":"setMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:slashMenuRef.current.moveUp","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.moveUp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:slashMenuRef.current.moveDown","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.moveDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:slashMenuRef.current.selectCurrent","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.selectCurrent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setSlashOpen","kind":"calls","metadata":{"unresolvedName":"setSlashOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionMenuRef.current.moveUp","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.moveUp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionMenuRef.current.moveDown","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.moveDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionMenuRef.current.getSelectedItem","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.getSelectedItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:(selected.relativePath || selected.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(selected.relativePath || selected.displayName).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:updateMentionQuery","kind":"calls","metadata":{"unresolvedName":"updateMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionQuery.includes","kind":"calls","metadata":{"unresolvedName":"mentionQuery.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionQuery.replace(/\\/$/, '').split","kind":"calls","metadata":{"unresolvedName":"mentionQuery.replace(/\\/$/, '').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionQuery.replace","kind":"calls","metadata":{"unresolvedName":"mentionQuery.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionMenuRef.current.setRestoreFolder","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.setRestoreFolder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:parts.pop","kind":"calls","metadata":{"unresolvedName":"parts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:mentionMenuRef.current.selectCurrent","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.selectCurrent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setMentionOpen","kind":"calls","metadata":{"unresolvedName":"setMentionOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:handleHistoryKeyDown","kind":"calls","metadata":{"unresolvedName":"handleHistoryKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:handleSend","kind":"calls","metadata":{"unresolvedName":"handleSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:handleHistoryChange","kind":"calls","metadata":{"unresolvedName":"handleHistoryChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:newText.slice","kind":"calls","metadata":{"unresolvedName":"newText.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setMentionStartIndex","kind":"calls","metadata":{"unresolvedName":"setMentionStartIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","kind":"calls","metadata":{"unresolvedName":"detectSlashTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setSlashQuery","kind":"calls","metadata":{"unresolvedName":"setSlashQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setSlashStartIndex","kind":"calls","metadata":{"unresolvedName":"setSlashStartIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:(item.relativePath || item.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(item.relativePath || item.displayName).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"calls","metadata":{"unresolvedName":"ensureFileMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"calls","metadata":{"unresolvedName":"isFileSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","kind":"calls","metadata":{"unresolvedName":"readFileAsDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:nextAttachments.push","kind":"calls","metadata":{"unresolvedName":"nextAttachments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:transcribedText.trim","kind":"calls","metadata":{"unresolvedName":"transcribedText.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:current.trim","kind":"calls","metadata":{"unresolvedName":"current.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:current.endsWith","kind":"calls","metadata":{"unresolvedName":"current.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:textarea.focus","kind":"calls","metadata":{"unresolvedName":"textarea.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:textarea.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textarea.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:text.replace(value + ' ', '').replace","kind":"calls","metadata":{"unresolvedName":"text.replace(value + ' ', '').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:text.replace","kind":"calls","metadata":{"unresolvedName":"text.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:items[i].getAsFile","kind":"calls","metadata":{"unresolvedName":"items[i].getAsFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:handleFilesSelected","kind":"calls","metadata":{"unresolvedName":"handleFilesSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:beforeCursor.endsWith","kind":"calls","metadata":{"unresolvedName":"beforeCursor.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"calls","metadata":{"unresolvedName":"toFileUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"symbol-name:insertDraggedFile","kind":"calls","metadata":{"unresolvedName":"insertDraggedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:attachments.forEach","kind":"calls","metadata":{"unresolvedName":"attachments.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"external:excludeValues.add","kind":"calls","metadata":{"unresolvedName":"excludeValues.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:InputBoxComponent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:resetHistoryIndex","kind":"calls","metadata":{"unresolvedName":"resetHistoryIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:resetHistoryIndex","kind":"calls","metadata":{"unresolvedName":"resetHistoryIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:resetDraft","kind":"calls","metadata":{"unresolvedName":"resetDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onCommand","kind":"calls","metadata":{"unresolvedName":"onCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onClearRevert","kind":"calls","metadata":{"unresolvedName":"onClearRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:restoreDraft","kind":"calls","metadata":{"unresolvedName":"restoreDraft"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onCommand","kind":"calls","metadata":{"unresolvedName":"onCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onClearRevert","kind":"calls","metadata":{"unresolvedName":"onClearRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:restoreDraft","kind":"calls","metadata":{"unresolvedName":"restoreDraft"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setIsSubmitting","kind":"calls","metadata":{"unresolvedName":"setIsSubmitting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:submit","kind":"calls","metadata":{"unresolvedName":"submit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onFailure","kind":"calls","metadata":{"unresolvedName":"onFailure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onSuccess","kind":"calls","metadata":{"unresolvedName":"onSuccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:attachments.find","kind":"calls","metadata":{"unresolvedName":"attachments.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice(textRange.end).trim","kind":"calls","metadata":{"unresolvedName":"text.slice(textRange.end).trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:submitCommandOptimistically","kind":"calls","metadata":{"unresolvedName":"submitCommandOptimistically"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:runSubmit","kind":"calls","metadata":{"unresolvedName":"runSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:resetDraft","kind":"calls","metadata":{"unresolvedName":"resetDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onClearRevert","kind":"calls","metadata":{"unresolvedName":"onClearRevert"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:resetDraft","kind":"calls","metadata":{"unresolvedName":"resetDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:onClearRevert","kind":"calls","metadata":{"unresolvedName":"onClearRevert"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionQuery","kind":"calls","metadata":{"unresolvedName":"setMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:slashMenuRef.current.moveUp","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.moveUp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:slashMenuRef.current.moveDown","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.moveDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:slashMenuRef.current.selectCurrent","kind":"calls","metadata":{"unresolvedName":"slashMenuRef.current.selectCurrent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashOpen","kind":"calls","metadata":{"unresolvedName":"setSlashOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionMenuRef.current.moveUp","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.moveUp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionMenuRef.current.moveDown","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.moveDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionMenuRef.current.getSelectedItem","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.getSelectedItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:(selected.relativePath || selected.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(selected.relativePath || selected.displayName).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:updateMentionQuery","kind":"calls","metadata":{"unresolvedName":"updateMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionQuery.includes","kind":"calls","metadata":{"unresolvedName":"mentionQuery.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionQuery.replace(/\\/$/, '').split","kind":"calls","metadata":{"unresolvedName":"mentionQuery.replace(/\\/$/, '').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionQuery.replace","kind":"calls","metadata":{"unresolvedName":"mentionQuery.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionMenuRef.current.setRestoreFolder","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.setRestoreFolder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:parts.pop","kind":"calls","metadata":{"unresolvedName":"parts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:mentionMenuRef.current.selectCurrent","kind":"calls","metadata":{"unresolvedName":"mentionMenuRef.current.selectCurrent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionOpen","kind":"calls","metadata":{"unresolvedName":"setMentionOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:handleHistoryKeyDown","kind":"calls","metadata":{"unresolvedName":"handleHistoryKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:handleSend","kind":"calls","metadata":{"unresolvedName":"handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:handleHistoryChange","kind":"calls","metadata":{"unresolvedName":"handleHistoryChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:newText.slice","kind":"calls","metadata":{"unresolvedName":"newText.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionQuery","kind":"calls","metadata":{"unresolvedName":"setMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionStartIndex","kind":"calls","metadata":{"unresolvedName":"setMentionStartIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionOpen","kind":"calls","metadata":{"unresolvedName":"setMentionOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashOpen","kind":"calls","metadata":{"unresolvedName":"setSlashOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:detectSlashTrigger","kind":"calls","metadata":{"unresolvedName":"detectSlashTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashQuery","kind":"calls","metadata":{"unresolvedName":"setSlashQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashStartIndex","kind":"calls","metadata":{"unresolvedName":"setSlashStartIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:newText.slice","kind":"calls","metadata":{"unresolvedName":"newText.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:newText.slice","kind":"calls","metadata":{"unresolvedName":"newText.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:(item.relativePath || item.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(item.relativePath || item.displayName).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:updateMentionQuery","kind":"calls","metadata":{"unresolvedName":"updateMentionQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionOpen","kind":"calls","metadata":{"unresolvedName":"setMentionOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setMentionOpen","kind":"calls","metadata":{"unresolvedName":"setMentionOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashOpen","kind":"calls","metadata":{"unresolvedName":"setSlashOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:submitCommandOptimistically","kind":"calls","metadata":{"unresolvedName":"submitCommandOptimistically"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setSlashOpen","kind":"calls","metadata":{"unresolvedName":"setSlashOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"calls","metadata":{"unresolvedName":"ensureFileMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"calls","metadata":{"unresolvedName":"isFileSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:readFileAsDataUrl","kind":"calls","metadata":{"unresolvedName":"readFileAsDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:nextAttachments.push","kind":"calls","metadata":{"unresolvedName":"nextAttachments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:transcribedText.trim","kind":"calls","metadata":{"unresolvedName":"transcribedText.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:current.trim","kind":"calls","metadata":{"unresolvedName":"current.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:current.endsWith","kind":"calls","metadata":{"unresolvedName":"current.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textarea.focus","kind":"calls","metadata":{"unresolvedName":"textarea.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textarea.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textarea.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:current.trim","kind":"calls","metadata":{"unresolvedName":"current.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:current.endsWith","kind":"calls","metadata":{"unresolvedName":"current.endsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textarea.focus","kind":"calls","metadata":{"unresolvedName":"textarea.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textarea.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textarea.setSelectionRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:attachments.find","kind":"calls","metadata":{"unresolvedName":"attachments.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.replace(value + ' ', '').replace","kind":"calls","metadata":{"unresolvedName":"text.replace(value + ' ', '').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.replace","kind":"calls","metadata":{"unresolvedName":"text.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:items[i].getAsFile","kind":"calls","metadata":{"unresolvedName":"items[i].getAsFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:isFileSupported","kind":"calls","metadata":{"unresolvedName":"isFileSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/input/inputUtils.ts:ensureFileMime","kind":"calls","metadata":{"unresolvedName":"ensureFileMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:handleFilesSelected","kind":"calls","metadata":{"unresolvedName":"handleFilesSelected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:beforeCursor.endsWith","kind":"calls","metadata":{"unresolvedName":"beforeCursor.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"calls","metadata":{"unresolvedName":"toFileUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setText","kind":"calls","metadata":{"unresolvedName":"setText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setAttachments","kind":"calls","metadata":{"unresolvedName":"setAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:setIsDragging","kind":"calls","metadata":{"unresolvedName":"setIsDragging"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:insertDraggedFile","kind":"calls","metadata":{"unresolvedName":"insertDraggedFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"symbol-name:handleFilesSelected","kind":"calls","metadata":{"unresolvedName":"handleFilesSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx:","to":"external:excludeValues.add","kind":"calls","metadata":{"unresolvedName":"excludeValues.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBox.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:expect(screen.getByTestId('attachment-count')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('attachment-count')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:expect(screen.getByTestId('attachment-count')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('attachment-count')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:expect(screen.getByTestId('attachment-count')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('attachment-count')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InputBoxAttachments.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).not.toContainElement","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).not.toContainElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(pinButtons.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(pinButtons.length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(screen.getByRole('status')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('status')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(lastOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(lastOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(firstPinButton).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(firstPinButton).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(pinButton).not.toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(pinButton).not.toHaveFocus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).not.toContainElement","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).not.toContainElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(pinButtons.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(pinButtons.length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(screen.getByRole('status')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('status')).toHaveTextContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(lastOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(lastOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(selectedOption).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(selectedOption).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(firstPinButton).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(firstPinButton).toHaveFocus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('textbox', { name: 'Chat input' })).toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:ToolbarSelectorHarness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:ToolbarSelectorHarness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:ToolbarSelectorHarness","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"external:expect(pinButton).not.toHaveFocus","kind":"calls","metadata":{"unresolvedName":"expect(pinButton).not.toHaveFocus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"calls","metadata":{"unresolvedName":"groupModelsByProvider"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","kind":"calls","metadata":{"unresolvedName":"getRecentModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","kind":"calls","metadata":{"unresolvedName":"getPinnedModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:flat.push","kind":"calls","metadata":{"unresolvedName":"flat.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:pinned.forEach","kind":"calls","metadata":{"unresolvedName":"pinned.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:addedKeys.add","kind":"calls","metadata":{"unresolvedName":"addedKeys.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:recent.filter","kind":"calls","metadata":{"unresolvedName":"recent.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:addedKeys.has","kind":"calls","metadata":{"unresolvedName":"addedKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:recentFiltered.forEach","kind":"calls","metadata":{"unresolvedName":"recentFiltered.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:groups.forEach","kind":"calls","metadata":{"unresolvedName":"groups.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:g.models.filter","kind":"calls","metadata":{"unresolvedName":"g.models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","to":"external:groupModels.forEach","kind":"calls","metadata":{"unresolvedName":"groupModels.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"calls","metadata":{"unresolvedName":"groupModelsByProvider"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","kind":"calls","metadata":{"unresolvedName":"getRecentModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","kind":"calls","metadata":{"unresolvedName":"getPinnedModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flat.push","kind":"calls","metadata":{"unresolvedName":"flat.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:pinned.forEach","kind":"calls","metadata":{"unresolvedName":"pinned.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:addedKeys.add","kind":"calls","metadata":{"unresolvedName":"addedKeys.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:recent.filter","kind":"calls","metadata":{"unresolvedName":"recent.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:addedKeys.has","kind":"calls","metadata":{"unresolvedName":"addedKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:recentFiltered.forEach","kind":"calls","metadata":{"unresolvedName":"recentFiltered.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:groups.forEach","kind":"calls","metadata":{"unresolvedName":"groups.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:g.models.filter","kind":"calls","metadata":{"unresolvedName":"g.models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:groupModels.forEach","kind":"calls","metadata":{"unresolvedName":"groupModels.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flat.push","kind":"calls","metadata":{"unresolvedName":"flat.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:addedKeys.add","kind":"calls","metadata":{"unresolvedName":"addedKeys.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flat.push","kind":"calls","metadata":{"unresolvedName":"flat.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:addedKeys.add","kind":"calls","metadata":{"unresolvedName":"addedKeys.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:g.models.filter","kind":"calls","metadata":{"unresolvedName":"g.models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:addedKeys.has","kind":"calls","metadata":{"unresolvedName":"addedKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flat.push","kind":"calls","metadata":{"unresolvedName":"flat.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:groupModels.forEach","kind":"calls","metadata":{"unresolvedName":"groupModels.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setSearchQuery","kind":"calls","metadata":{"unresolvedName":"setSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.map","kind":"calls","metadata":{"unresolvedName":"flatList.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","kind":"calls","metadata":{"unresolvedName":"isModelPinned"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onItemClick","kind":"calls","metadata":{"unresolvedName":"onItemClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleItemKeyDown","kind":"calls","metadata":{"unresolvedName":"handleItemKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","kind":"calls","metadata":{"unresolvedName":"onTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:formatContext","kind":"calls","metadata":{"unresolvedName":"formatContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onTogglePin","kind":"calls","metadata":{"unresolvedName":"onTogglePin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handlePinKeyDown","kind":"calls","metadata":{"unresolvedName":"handlePinKeyDown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setSearchQuery","kind":"calls","metadata":{"unresolvedName":"setSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","kind":"calls","metadata":{"unresolvedName":"isModelPinned"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onItemClick","kind":"calls","metadata":{"unresolvedName":"onItemClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleItemKeyDown","kind":"calls","metadata":{"unresolvedName":"handleItemKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/AttachmentDetailModal.tsx:onTouchStart","kind":"calls","metadata":{"unresolvedName":"onTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:formatContext","kind":"calls","metadata":{"unresolvedName":"formatContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onTogglePin","kind":"calls","metadata":{"unresolvedName":"onTogglePin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handlePinKeyDown","kind":"calls","metadata":{"unresolvedName":"handlePinKeyDown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleItemKeyDown","kind":"calls","metadata":{"unresolvedName":"handleItemKeyDown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handlePinKeyDown","kind":"calls","metadata":{"unresolvedName":"handlePinKeyDown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:formatContext","to":"external:(k / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(k / 1000).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchQuery.trim","kind":"calls","metadata":{"unresolvedName":"searchQuery.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchQuery.toLowerCase","kind":"calls","metadata":{"unresolvedName":"searchQuery.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:(typeof value === 'string' ? value : '').toLowerCase","kind":"calls","metadata":{"unresolvedName":"(typeof value === 'string' ? value : '').toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.name).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.name).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"calls","metadata":{"unresolvedName":"normalize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.id).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.id).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.family).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.family).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.providerName).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.providerName).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:useFlatList","kind":"calls","metadata":{"unresolvedName":"useFlatList"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter","kind":"calls","metadata":{"unresolvedName":"flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.map","kind":"calls","metadata":{"unresolvedName":"flatList.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:models.find","kind":"calls","metadata":{"unresolvedName":"models.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusables[currentIndex + direction]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[currentIndex + direction]?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.findIndex","kind":"calls","metadata":{"unresolvedName":"flatList.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setSearchQuery","kind":"calls","metadata":{"unresolvedName":"setSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:container?.querySelector","kind":"calls","metadata":{"unresolvedName":"container?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","kind":"calls","metadata":{"unresolvedName":"recordModelUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusToolbarInput","kind":"calls","metadata":{"unresolvedName":"focusToolbarInput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setRefreshTrigger","kind":"calls","metadata":{"unresolvedName":"setRefreshTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.currentTarget.blur","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.blur"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"calls","metadata":{"unresolvedName":"toggleModelPin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:navigator.vibrate","kind":"calls","metadata":{"unresolvedName":"navigator.vibrate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:target?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"target?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector(selector)?.focus","kind":"calls","metadata":{"unresolvedName":"document.querySelector(selector)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"searchInputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusTarget?.focus","kind":"calls","metadata":{"unresolvedName":"focusTarget?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusPinButtonForModel","kind":"calls","metadata":{"unresolvedName":"focusPinButtonForModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchQuery.trim","kind":"calls","metadata":{"unresolvedName":"searchQuery.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchQuery.toLowerCase","kind":"calls","metadata":{"unresolvedName":"searchQuery.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:(typeof value === 'string' ? value : '').toLowerCase","kind":"calls","metadata":{"unresolvedName":"(typeof value === 'string' ? value : '').toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.name).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.name).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"calls","metadata":{"unresolvedName":"normalize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.id).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.id).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.family).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.family).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:normalize(m.providerName).includes","kind":"calls","metadata":{"unresolvedName":"normalize(m.providerName).includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter","kind":"calls","metadata":{"unresolvedName":"flatList.map((item, index) => (item.type === 'item' ? index : -1)).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.map","kind":"calls","metadata":{"unresolvedName":"flatList.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:models.find","kind":"calls","metadata":{"unresolvedName":"models.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.body.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"document.body.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusables.findIndex","kind":"calls","metadata":{"unresolvedName":"focusables.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusables[currentIndex + direction]?.focus","kind":"calls","metadata":{"unresolvedName":"focusables[currentIndex + direction]?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:element.closest","kind":"calls","metadata":{"unresolvedName":"element.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.findIndex","kind":"calls","metadata":{"unresolvedName":"flatList.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setSearchQuery","kind":"calls","metadata":{"unresolvedName":"setSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setSearchQuery","kind":"calls","metadata":{"unresolvedName":"setSearchQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:container?.querySelector","kind":"calls","metadata":{"unresolvedName":"container?.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:input?.focus","kind":"calls","metadata":{"unresolvedName":"input?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","kind":"calls","metadata":{"unresolvedName":"recordModelUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusToolbarInput","kind":"calls","metadata":{"unresolvedName":"focusToolbarInput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setRefreshTrigger","kind":"calls","metadata":{"unresolvedName":"setRefreshTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusToolbarInput","kind":"calls","metadata":{"unresolvedName":"focusToolbarInput"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.currentTarget.blur","kind":"calls","metadata":{"unresolvedName":"e.currentTarget.blur"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"calls","metadata":{"unresolvedName":"toggleModelPin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setRefreshTrigger","kind":"calls","metadata":{"unresolvedName":"setRefreshTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"calls","metadata":{"unresolvedName":"toggleModelPin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setRefreshTrigger","kind":"calls","metadata":{"unresolvedName":"setRefreshTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:navigator.vibrate","kind":"calls","metadata":{"unresolvedName":"navigator.vibrate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"calls","metadata":{"unresolvedName":"toggleModelPin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setRefreshTrigger","kind":"calls","metadata":{"unresolvedName":"setRefreshTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:navigator.vibrate","kind":"calls","metadata":{"unresolvedName":"navigator.vibrate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:target?.focus","kind":"calls","metadata":{"unresolvedName":"target?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:target?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"target?.scrollIntoView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector(selector)?.focus","kind":"calls","metadata":{"unresolvedName":"document.querySelector(selector)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"searchInputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:searchInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"searchInputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleClickOutside","to":"symbol-name:isFocusableElement","kind":"calls","metadata":{"unresolvedName":"isFocusableElement"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:handleEsc","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`${idPrefix}-${realIndex}`)?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:flatList.findIndex","kind":"calls","metadata":{"unresolvedName":"flatList.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:itemIndices.indexOf","kind":"calls","metadata":{"unresolvedName":"itemIndices.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:setHighlightedIndex","kind":"calls","metadata":{"unresolvedName":"setHighlightedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusTarget?.focus","kind":"calls","metadata":{"unresolvedName":"focusTarget?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:focusTarget?.focus","kind":"calls","metadata":{"unresolvedName":"focusTarget?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusPinButtonForModel","kind":"calls","metadata":{"unresolvedName":"focusPinButtonForModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusItemAtInteractiveIndex","kind":"calls","metadata":{"unresolvedName":"focusItemAtInteractiveIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:focusRelativeToTrigger","kind":"calls","metadata":{"unresolvedName":"focusRelativeToTrigger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ModelSelector.tsx:","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:resolveDropZone","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","to":"symbol-name:setActiveZone","kind":"calls","metadata":{"unresolvedName":"setActiveZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:setZone","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:setZone","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:setZone","to":"symbol-name:setActiveZone","kind":"calls","metadata":{"unresolvedName":"setActiveZone"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneDropOverlay.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:canUseSplitPane","kind":"calls","metadata":{"unresolvedName":"canUseSplitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:inputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:inputRef.current.select","kind":"calls","metadata":{"unresolvedName":"inputRef.current.select"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:setEditValue","kind":"calls","metadata":{"unresolvedName":"setEditValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:editValue.trim","kind":"calls","metadata":{"unresolvedName":"editValue.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:setIsDragOver","kind":"calls","metadata":{"unresolvedName":"setIsDragOver"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:paneLayoutStore.swapPanes","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.swapPanes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:handleClose","kind":"calls","metadata":{"unresolvedName":"handleClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:onTogglePaneFullscreen","kind":"calls","metadata":{"unresolvedName":"onTogglePaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:handleSplitH","kind":"calls","metadata":{"unresolvedName":"handleSplitH"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:handleSplitV","kind":"calls","metadata":{"unresolvedName":"handleSplitV"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"symbol-name:onOpenSidebar","kind":"calls","metadata":{"unresolvedName":"onOpenSidebar"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:layoutStore.toggleBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:PaneHeader","to":"external:layoutStore.toggleRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:inputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:inputRef.current.select","kind":"calls","metadata":{"unresolvedName":"inputRef.current.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setEditValue","kind":"calls","metadata":{"unresolvedName":"setEditValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:editValue.trim","kind":"calls","metadata":{"unresolvedName":"editValue.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.dataTransfer.types.includes","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.types.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsDragOver","kind":"calls","metadata":{"unresolvedName":"setIsDragOver"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsDragOver","kind":"calls","metadata":{"unresolvedName":"setIsDragOver"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsDragOver","kind":"calls","metadata":{"unresolvedName":"setIsDragOver"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:paneLayoutStore.swapPanes","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.swapPanes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:handleClose","kind":"calls","metadata":{"unresolvedName":"handleClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:onTogglePaneFullscreen","kind":"calls","metadata":{"unresolvedName":"onTogglePaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:handleSplitH","kind":"calls","metadata":{"unresolvedName":"handleSplitH"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:handleSplitV","kind":"calls","metadata":{"unresolvedName":"handleSplitV"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"symbol-name:onOpenSidebar","kind":"calls","metadata":{"unresolvedName":"onOpenSidebar"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:layoutStore.toggleBottomPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleBottomPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PaneHeader.tsx:","to":"external:layoutStore.toggleRightPanel","kind":"calls","metadata":{"unresolvedName":"layoutStore.toggleRightPanel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/DiffView.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"calls","metadata":{"unresolvedName":"usePresence"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"symbol-name:onCollapsedChange","kind":"calls","metadata":{"unresolvedName":"onCollapsedChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:request.patterns.map(p => p.replace(/\\\\n/g, '\\n')).join","kind":"calls","metadata":{"unresolvedName":"request.patterns.map(p => p.replace(/\\\\n/g, '\\n')).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:request.patterns.map","kind":"calls","metadata":{"unresolvedName":"request.patterns.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:p.replace","kind":"calls","metadata":{"unresolvedName":"p.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:request.always.join","kind":"calls","metadata":{"unresolvedName":"request.always.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"external:autoApproveStore.addRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.addRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:PermissionDialog","to":"symbol-name:onAutoApprove","kind":"calls","metadata":{"unresolvedName":"onAutoApprove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","to":"external:autoApproveStore.addRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.addRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","to":"symbol-name:onAutoApprove","kind":"calls","metadata":{"unresolvedName":"onAutoApprove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/PermissionDialog.tsx:","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.findByDisplayValue","kind":"calls","metadata":{"unresolvedName":"screen.findByDisplayValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(await screen.findByText('src')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(await screen.findByText('src')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(await screen.findByText('docs')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(await screen.findByText('docs')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(screen.getByText('Add current')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Add current')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.findByDisplayValue","kind":"calls","metadata":{"unresolvedName":"screen.findByDisplayValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(await screen.findByText('src')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(await screen.findByText('src')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(await screen.findByText('docs')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(await screen.findByText('docs')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(screen.getByText('Add current')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Add current')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(await screen.findByText('src')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(await screen.findByText('src')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(getPath).mock.calls.length).toBeGreaterThanOrEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.test.tsx:","to":"external:expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(listDirectory).mock.calls.length).toBeGreaterThanOrEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:normalizePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:normalizePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:normalizePath","to":"external:p.replace","kind":"calls","metadata":{"unresolvedName":"p.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","to":"external:normalized.endsWith","kind":"calls","metadata":{"unresolvedName":"normalized.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","to":"external:normalized.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"normalized.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","to":"external:normalized.substring","kind":"calls","metadata":{"unresolvedName":"normalized.substring"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","to":"external:normalized.endsWith","kind":"calls","metadata":{"unresolvedName":"normalized.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","to":"external:normalized.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"normalized.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","to":"external:normalized.substring","kind":"calls","metadata":{"unresolvedName":"normalized.substring"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","kind":"calls","metadata":{"unresolvedName":"getDirectoryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getFilterText","kind":"calls","metadata":{"unresolvedName":"getFilterText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:filterText.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filterText.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:items.filter","kind":"calls","metadata":{"unresolvedName":"items.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:item.name.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"item.name.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:item.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"item.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"calls","metadata":{"unresolvedName":"initPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:listDirectory(currentDir)\r\n .then","kind":"calls","metadata":{"unresolvedName":"listDirectory(currentDir)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:nodes\r\n .filter","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:n.name.startsWith","kind":"calls","metadata":{"unresolvedName":"n.name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:fileItems.findIndex","kind":"calls","metadata":{"unresolvedName":"fileItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:el?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"el?.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:current.endsWith","kind":"calls","metadata":{"unresolvedName":"current.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:current.slice","kind":"calls","metadata":{"unresolvedName":"current.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:current.split(PATH_SEP).pop","kind":"calls","metadata":{"unresolvedName":"current.split(PATH_SEP).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:current.split","kind":"calls","metadata":{"unresolvedName":"current.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:/^[a-zA-Z]:\\/$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:path.slice","kind":"calls","metadata":{"unresolvedName":"path.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:inputValue.endsWith","kind":"calls","metadata":{"unresolvedName":"inputValue.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:handleGoBack","kind":"calls","metadata":{"unresolvedName":"handleGoBack"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:inputValue.split(PATH_SEP).filter","kind":"calls","metadata":{"unresolvedName":"inputValue.split(PATH_SEP).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:inputValue.split","kind":"calls","metadata":{"unresolvedName":"inputValue.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:filteredItems.map","kind":"calls","metadata":{"unresolvedName":"filteredItems.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:handleItemClick","kind":"calls","metadata":{"unresolvedName":"handleItemClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ProjectDialog","to":"symbol-name:handleSelectFolder","kind":"calls","metadata":{"unresolvedName":"handleSelectFolder"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:filterText.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filterText.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:items.filter","kind":"calls","metadata":{"unresolvedName":"items.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:item.name.toLowerCase().startsWith","kind":"calls","metadata":{"unresolvedName":"item.name.toLowerCase().startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:item.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"item.name.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"calls","metadata":{"unresolvedName":"initPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"calls","metadata":{"unresolvedName":"initPath"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:initPath","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:listDirectory(currentDir)\r\n .then","kind":"calls","metadata":{"unresolvedName":"listDirectory(currentDir)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:nodes\r\n .filter","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:n.name.startsWith","kind":"calls","metadata":{"unresolvedName":"n.name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:fileItems.findIndex","kind":"calls","metadata":{"unresolvedName":"fileItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:listDirectory(currentDir)\r\n .then","kind":"calls","metadata":{"unresolvedName":"listDirectory(currentDir)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:nodes\r\n .filter","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:n.name.startsWith","kind":"calls","metadata":{"unresolvedName":"n.name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:fileItems.findIndex","kind":"calls","metadata":{"unresolvedName":"fileItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:nodes\r\n .filter","kind":"calls","metadata":{"unresolvedName":"nodes\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:n.name.startsWith","kind":"calls","metadata":{"unresolvedName":"n.name.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:fileItems.findIndex","kind":"calls","metadata":{"unresolvedName":"fileItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:el?.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"el?.scrollIntoView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:current.endsWith","kind":"calls","metadata":{"unresolvedName":"current.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:getDirectoryPath","kind":"calls","metadata":{"unresolvedName":"getDirectoryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:current.slice","kind":"calls","metadata":{"unresolvedName":"current.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:current.split(PATH_SEP).pop","kind":"calls","metadata":{"unresolvedName":"current.split(PATH_SEP).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:current.split","kind":"calls","metadata":{"unresolvedName":"current.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:/^[a-zA-Z]:\\/$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.slice","kind":"calls","metadata":{"unresolvedName":"path.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:inputValue.endsWith","kind":"calls","metadata":{"unresolvedName":"inputValue.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:handleGoBack","kind":"calls","metadata":{"unresolvedName":"handleGoBack"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:/^[a-zA-Z]:\\/$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:\\/$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:path.slice","kind":"calls","metadata":{"unresolvedName":"path.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setInputValue","kind":"calls","metadata":{"unresolvedName":"setInputValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:handleGoBack","kind":"calls","metadata":{"unresolvedName":"handleGoBack"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:inputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:","to":"symbol-name:handleSelectFolder","kind":"calls","metadata":{"unresolvedName":"handleSelectFolder"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ListItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx:ListItem","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:current.has","kind":"calls","metadata":{"unresolvedName":"current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:current.delete","kind":"calls","metadata":{"unresolvedName":"current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:current.add","kind":"calls","metadata":{"unresolvedName":"current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:setCustomValues","kind":"calls","metadata":{"unresolvedName":"setCustomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:request.questions.map","kind":"calls","metadata":{"unresolvedName":"request.questions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:request.questions.every","kind":"calls","metadata":{"unresolvedName":"request.questions.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:onReject","kind":"calls","metadata":{"unresolvedName":"onReject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:handleSubmit","kind":"calls","metadata":{"unresolvedName":"handleSubmit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"calls","metadata":{"unresolvedName":"usePresence"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:onCollapsedChange","kind":"calls","metadata":{"unresolvedName":"onCollapsedChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:selectOption","kind":"calls","metadata":{"unresolvedName":"selectOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:selectCustom","kind":"calls","metadata":{"unresolvedName":"selectCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:toggleOption","kind":"calls","metadata":{"unresolvedName":"toggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:toggleCustom","kind":"calls","metadata":{"unresolvedName":"toggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionDialog","to":"symbol-name:updateCustomValue","kind":"calls","metadata":{"unresolvedName":"updateCustomValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:request.questions.forEach","kind":"calls","metadata":{"unresolvedName":"request.questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setAnswers","kind":"calls","metadata":{"unresolvedName":"setAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.has","kind":"calls","metadata":{"unresolvedName":"current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.delete","kind":"calls","metadata":{"unresolvedName":"current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.add","kind":"calls","metadata":{"unresolvedName":"current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.has","kind":"calls","metadata":{"unresolvedName":"current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.delete","kind":"calls","metadata":{"unresolvedName":"current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:current.add","kind":"calls","metadata":{"unresolvedName":"current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setCustomEnabled","kind":"calls","metadata":{"unresolvedName":"setCustomEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:prev.get","kind":"calls","metadata":{"unresolvedName":"prev.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:setCustomValues","kind":"calls","metadata":{"unresolvedName":"setCustomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:newMap.set","kind":"calls","metadata":{"unresolvedName":"newMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:request.questions.map","kind":"calls","metadata":{"unresolvedName":"request.questions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onReply","kind":"calls","metadata":{"unresolvedName":"onReply"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:answers.get","kind":"calls","metadata":{"unresolvedName":"answers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customEnabled.get","kind":"calls","metadata":{"unresolvedName":"customEnabled.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get(idx)?.trim","kind":"calls","metadata":{"unresolvedName":"customValues.get(idx)?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:customValues.get","kind":"calls","metadata":{"unresolvedName":"customValues.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onReject","kind":"calls","metadata":{"unresolvedName":"onReject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:handleSubmit","kind":"calls","metadata":{"unresolvedName":"handleSubmit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"external:(question.options || []).map","kind":"calls","metadata":{"unresolvedName":"(question.options || []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"external:selected.has","kind":"calls","metadata":{"unresolvedName":"selected.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:onToggleOption","kind":"calls","metadata":{"unresolvedName":"onToggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:onSelectOption","kind":"calls","metadata":{"unresolvedName":"onSelectOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:onToggleCustom","kind":"calls","metadata":{"unresolvedName":"onToggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:onSelectCustom","kind":"calls","metadata":{"unresolvedName":"onSelectCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:onCustomValueChange","kind":"calls","metadata":{"unresolvedName":"onCustomValueChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"symbol-name:adjustTextareaHeight","kind":"calls","metadata":{"unresolvedName":"adjustTextareaHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:QuestionItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:textareaRef.current.focus","kind":"calls","metadata":{"unresolvedName":"textareaRef.current.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:selected.has","kind":"calls","metadata":{"unresolvedName":"selected.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onToggleOption","kind":"calls","metadata":{"unresolvedName":"onToggleOption"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onSelectOption","kind":"calls","metadata":{"unresolvedName":"onSelectOption"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onCustomValueChange","kind":"calls","metadata":{"unresolvedName":"onCustomValueChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:adjustTextareaHeight","kind":"calls","metadata":{"unresolvedName":"adjustTextareaHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onToggleCustom","kind":"calls","metadata":{"unresolvedName":"onToggleCustom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:","to":"symbol-name:onSelectCustom","kind":"calls","metadata":{"unresolvedName":"onSelectCustom"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:Indicator","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/QuestionDialog.tsx:Indicator","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","to":"external:(ms / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(ms / 1000).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","kind":"calls","metadata":{"unresolvedName":"useNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:formatRemaining","kind":"calls","metadata":{"unresolvedName":"formatRemaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"external:status.message?.trim","kind":"calls","metadata":{"unresolvedName":"status.message?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/RetryStatusInline.tsx:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","kind":"calls","metadata":{"unresolvedName":"shareSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"external:messageStore.setShareUrl","kind":"calls","metadata":{"unresolvedName":"messageStore.setShareUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","kind":"calls","metadata":{"unresolvedName":"unshareSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:ShareDialog","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:shareSession","kind":"calls","metadata":{"unresolvedName":"shareSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"external:messageStore.setShareUrl","kind":"calls","metadata":{"unresolvedName":"messageStore.setShareUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleShare","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unshareSession","kind":"calls","metadata":{"unresolvedName":"unshareSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"external:messageStore.setShareUrl","kind":"calls","metadata":{"unresolvedName":"messageStore.setShareUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleUnshare","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx:handleCopy","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:entry.sessionId.slice","kind":"calls","metadata":{"unresolvedName":"entry.sessionId.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:directory.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:directory.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:ActiveSessionItem","to":"external:directory.replace","kind":"calls","metadata":{"unresolvedName":"directory.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleClick","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx:handleDragStart","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"calls","metadata":{"unresolvedName":"makeEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"calls","metadata":{"unresolvedName":"buildActiveSessionTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.rootEntries).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.rootEntries).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.get('root')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('root')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:tree.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"tree.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.get('child')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('child')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.size).toBe","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.size).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"calls","metadata":{"unresolvedName":"makeEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"calls","metadata":{"unresolvedName":"buildActiveSessionTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.rootEntries).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.rootEntries).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.get('root')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('root')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:tree.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"tree.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.get('child')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.get('child')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:makeEntry","kind":"calls","metadata":{"unresolvedName":"makeEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"calls","metadata":{"unresolvedName":"buildActiveSessionTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.rootEntries).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(tree.rootEntries).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","to":"external:expect(tree.childrenByParent.size).toBe","kind":"calls","metadata":{"unresolvedName":"expect(tree.childrenByParent.size).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:busySessions.map","kind":"calls","metadata":{"unresolvedName":"busySessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"symbol-name:findParentId","kind":"calls","metadata":{"unresolvedName":"findParentId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:busySessionIds.has","kind":"calls","metadata":{"unresolvedName":"busySessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:rootEntries.push","kind":"calls","metadata":{"unresolvedName":"rootEntries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:siblings.push","kind":"calls","metadata":{"unresolvedName":"siblings.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","to":"external:childrenByParent.set","kind":"calls","metadata":{"unresolvedName":"childrenByParent.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"module:../../../assets/models.json?url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:tokenTotal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:tokenTotal","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","to":"external:Number.isNaN","kind":"calls","metadata":{"unresolvedName":"Number.isNaN"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","to":"external:d.getTime","kind":"calls","metadata":{"unresolvedName":"d.getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","to":"external:d.toLocaleString","kind":"calls","metadata":{"unresolvedName":"d.toLocaleString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:Stat","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:Stat","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:StatCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:StatCard","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList","to":"external:values.join","kind":"calls","metadata":{"unresolvedName":"values.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","to":"external:name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","to":"external:name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","to":"external:id.toLowerCase","kind":"calls","metadata":{"unresolvedName":"id.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"external:fetch(modelsCatalogUrl)\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(modelsCatalogUrl)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"external:Promise.reject","kind":"calls","metadata":{"unresolvedName":"Promise.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"calls","metadata":{"unresolvedName":"selectOpenRouterModel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:fetch(modelsCatalogUrl)\n .then","kind":"calls","metadata":{"unresolvedName":"fetch(modelsCatalogUrl)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:Promise.reject","kind":"calls","metadata":{"unresolvedName":"Promise.reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"calls","metadata":{"unresolvedName":"selectOpenRouterModel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:tokenTotal","kind":"calls","metadata":{"unresolvedName":"tokenTotal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:useOpenRouterMetadata","kind":"calls","metadata":{"unresolvedName":"useOpenRouterMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","kind":"calls","metadata":{"unresolvedName":"getModelProviderLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:modelLabel","kind":"calls","metadata":{"unresolvedName":"modelLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:supportedParameters.filter","kind":"calls","metadata":{"unresolvedName":"supportedParameters.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:['tools', 'reasoning', 'response_format', 'structured_outputs'].includes","kind":"calls","metadata":{"unresolvedName":"['tools', 'reasoning', 'response_format', 'structured_outputs'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:setExpandedId","kind":"calls","metadata":{"unresolvedName":"setExpandedId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:joinList","kind":"calls","metadata":{"unresolvedName":"joinList"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"calls","metadata":{"unresolvedName":"formatOpenRouterPricePerMillion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:featuredParameters.join","kind":"calls","metadata":{"unresolvedName":"featuredParameters.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:supportedParameters.join","kind":"calls","metadata":{"unresolvedName":"supportedParameters.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","kind":"calls","metadata":{"unresolvedName":"formatTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:messages.map","kind":"calls","metadata":{"unresolvedName":"messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"symbol-name:handleToggleMessage","kind":"calls","metadata":{"unresolvedName":"handleToggleMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:ContextDetailsDialog","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:tokenTotal","kind":"calls","metadata":{"unresolvedName":"tokenTotal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:setExpandedId","kind":"calls","metadata":{"unresolvedName":"setExpandedId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:formatTimestamp","kind":"calls","metadata":{"unresolvedName":"formatTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:tokenTotal","kind":"calls","metadata":{"unresolvedName":"tokenTotal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"symbol-name:handleToggleMessage","kind":"calls","metadata":{"unresolvedName":"handleToggleMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","to":"external:candidates.some","kind":"calls","metadata":{"unresolvedName":"candidates.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","to":"external:busySessions.filter","kind":"calls","metadata":{"unresolvedName":"busySessions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:matchesAnyDirectory","kind":"calls","metadata":{"unresolvedName":"matchesAnyDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","to":"external:notifications.some","kind":"calls","metadata":{"unresolvedName":"notifications.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual","to":"external:left.every","kind":"calls","metadata":{"unresolvedName":"left.every"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","to":"external:projects.some","kind":"calls","metadata":{"unresolvedName":"projects.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"getInitialExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:areProjectIdListsEqual","kind":"calls","metadata":{"unresolvedName":"areProjectIdListsEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","to":"symbol-name:setExpandedIds","kind":"calls","metadata":{"unresolvedName":"setExpandedIds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setExpandedIds","kind":"calls","metadata":{"unresolvedName":"setExpandedIds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setExpandedIds","kind":"calls","metadata":{"unresolvedName":"setExpandedIds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:refs.current.get","kind":"calls","metadata":{"unresolvedName":"refs.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:element.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"element.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:items.push","kind":"calls","metadata":{"unresolvedName":"items.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:withoutDragged.splice","kind":"calls","metadata":{"unresolvedName":"withoutDragged.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:originalOrder.indexOf","kind":"calls","metadata":{"unresolvedName":"originalOrder.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:finalOrder.indexOf","kind":"calls","metadata":{"unresolvedName":"finalOrder.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:onDragFinished","kind":"calls","metadata":{"unresolvedName":"onDragFinished"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:canDrag","kind":"calls","metadata":{"unresolvedName":"canDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:onDragActivated","kind":"calls","metadata":{"unresolvedName":"onDragActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:calcNewOrder","kind":"calls","metadata":{"unresolvedName":"calcNewOrder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:finishDrag","kind":"calls","metadata":{"unresolvedName":"finishDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:refs.current.set","kind":"calls","metadata":{"unresolvedName":"refs.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","to":"external:refs.current.delete","kind":"calls","metadata":{"unresolvedName":"refs.current.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:refs.current.get","kind":"calls","metadata":{"unresolvedName":"refs.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:element.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"element.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:items.push","kind":"calls","metadata":{"unresolvedName":"items.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:withoutDragged.splice","kind":"calls","metadata":{"unresolvedName":"withoutDragged.splice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:originalOrder.indexOf","kind":"calls","metadata":{"unresolvedName":"originalOrder.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:finalOrder.indexOf","kind":"calls","metadata":{"unresolvedName":"finalOrder.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onDragFinished","kind":"calls","metadata":{"unresolvedName":"onDragFinished"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:canDrag","kind":"calls","metadata":{"unresolvedName":"canDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onDragActivated","kind":"calls","metadata":{"unresolvedName":"onDragActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:calcNewOrder","kind":"calls","metadata":{"unresolvedName":"calcNewOrder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:finishDrag","kind":"calls","metadata":{"unresolvedName":"finishDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","to":"symbol-name:onDragActivated","kind":"calls","metadata":{"unresolvedName":"onDragActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onMove","to":"symbol-name:calcNewOrder","kind":"calls","metadata":{"unresolvedName":"calcNewOrder"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onUp","to":"symbol-name:finishDrag","kind":"calls","metadata":{"unresolvedName":"finishDrag"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:canDrag","kind":"calls","metadata":{"unresolvedName":"canDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onDragActivated","kind":"calls","metadata":{"unresolvedName":"onDragActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onDragActivated","kind":"calls","metadata":{"unresolvedName":"onDragActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:event.stopPropagation","kind":"calls","metadata":{"unresolvedName":"event.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:calcNewOrder","kind":"calls","metadata":{"unresolvedName":"calcNewOrder"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setDragState","kind":"calls","metadata":{"unresolvedName":"setDragState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:finishDrag","kind":"calls","metadata":{"unresolvedName":"finishDrag"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","to":"external:refs.current.set","kind":"calls","metadata":{"unresolvedName":"refs.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","to":"external:refs.current.delete","kind":"calls","metadata":{"unresolvedName":"refs.current.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","kind":"calls","metadata":{"unresolvedName":"useBusySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","kind":"calls","metadata":{"unresolvedName":"useCollapseExpandedIdsOnDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:onExpandedProjectIdsChange","kind":"calls","metadata":{"unresolvedName":"onExpandedProjectIdsChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"reconcileExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"calls","metadata":{"unresolvedName":"expandProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"calls","metadata":{"unresolvedName":"getCurrentProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"calls","metadata":{"unresolvedName":"toggleProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","kind":"calls","metadata":{"unresolvedName":"useReorderableList"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:projectById.get","kind":"calls","metadata":{"unresolvedName":"projectById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:onReorderProject","kind":"calls","metadata":{"unresolvedName":"onReorderProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"calls","metadata":{"unresolvedName":"createDirectoryProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:expandedProjectIds.includes","kind":"calls","metadata":{"unresolvedName":"expandedProjectIds.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:workspaceDirectoriesByProjectId?.get","kind":"calls","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"calls","metadata":{"unresolvedName":"buildFolderStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:workspaceDirectoriesByProjectId?.forEach","kind":"calls","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:directories.forEach","kind":"calls","metadata":{"unresolvedName":"directories.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:workspaceDirectories.add","kind":"calls","metadata":{"unresolvedName":"workspaceDirectories.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:displayOrder.map","kind":"calls","metadata":{"unresolvedName":"displayOrder.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:folderStatusByProjectId.get","kind":"calls","metadata":{"unresolvedName":"folderStatusByProjectId.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"calls","metadata":{"unresolvedName":"handleSelectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:handleToggleProject","kind":"calls","metadata":{"unresolvedName":"handleToggleProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:handlePointerStart","kind":"calls","metadata":{"unresolvedName":"handlePointerStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"calls","metadata":{"unresolvedName":"handleTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"calls","metadata":{"unresolvedName":"registerRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:selectedProjectIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedProjectIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:onToggleProjectSelection","kind":"calls","metadata":{"unresolvedName":"onToggleProjectSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:setPendingDelete","kind":"calls","metadata":{"unresolvedName":"setPendingDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"symbol-name:onDeleteSession","kind":"calls","metadata":{"unresolvedName":"onDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentList","to":"external:pendingDelete.removeLocal","kind":"calls","metadata":{"unresolvedName":"pendingDelete.removeLocal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onExpandedProjectIdsChange","kind":"calls","metadata":{"unresolvedName":"onExpandedProjectIdsChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"reconcileExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"calls","metadata":{"unresolvedName":"expandProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"calls","metadata":{"unresolvedName":"getCurrentProjectId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"reconcileExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"calls","metadata":{"unresolvedName":"expandProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"calls","metadata":{"unresolvedName":"getCurrentProjectId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","to":"external:projectById.get","kind":"calls","metadata":{"unresolvedName":"projectById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","to":"symbol-name:onReorderProject","kind":"calls","metadata":{"unresolvedName":"onReorderProject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"calls","metadata":{"unresolvedName":"createDirectoryProject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:expandedProjectIds.includes","kind":"calls","metadata":{"unresolvedName":"expandedProjectIds.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectoriesByProjectId?.get","kind":"calls","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"calls","metadata":{"unresolvedName":"buildFolderStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectoriesByProjectId?.forEach","kind":"calls","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:directories.forEach","kind":"calls","metadata":{"unresolvedName":"directories.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectories.add","kind":"calls","metadata":{"unresolvedName":"workspaceDirectories.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:buildFolderStatus","kind":"calls","metadata":{"unresolvedName":"buildFolderStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:directories.forEach","kind":"calls","metadata":{"unresolvedName":"directories.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectories.add","kind":"calls","metadata":{"unresolvedName":"workspaceDirectories.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:projectById.get","kind":"calls","metadata":{"unresolvedName":"projectById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:expandedProjectIds.includes","kind":"calls","metadata":{"unresolvedName":"expandedProjectIds.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:folderStatusByProjectId.get","kind":"calls","metadata":{"unresolvedName":"folderStatusByProjectId.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/EmptyState.tsx:handleSelectDirectory","kind":"calls","metadata":{"unresolvedName":"handleSelectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:handleToggleProject","kind":"calls","metadata":{"unresolvedName":"handleToggleProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectoriesByProjectId?.get","kind":"calls","metadata":{"unresolvedName":"workspaceDirectoriesByProjectId?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:handlePointerStart","kind":"calls","metadata":{"unresolvedName":"handlePointerStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"calls","metadata":{"unresolvedName":"handleTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"calls","metadata":{"unresolvedName":"registerRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:selectedProjectIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedProjectIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onToggleProjectSelection","kind":"calls","metadata":{"unresolvedName":"onToggleProjectSelection"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onDeleteSession","kind":"calls","metadata":{"unresolvedName":"onDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:pendingDelete.removeLocal","kind":"calls","metadata":{"unresolvedName":"pendingDelete.removeLocal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setPendingDelete","kind":"calls","metadata":{"unresolvedName":"setPendingDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"calls","metadata":{"unresolvedName":"useInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"calls","metadata":{"unresolvedName":"useVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:setHasActivated","kind":"calls","metadata":{"unresolvedName":"setHasActivated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onRenameSession","kind":"calls","metadata":{"unresolvedName":"onRenameSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:patchLocalSession","kind":"calls","metadata":{"unresolvedName":"patchLocalSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onRequestDeleteSession","kind":"calls","metadata":{"unresolvedName":"onRequestDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:removeLocalSession","kind":"calls","metadata":{"unresolvedName":"removeLocalSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onToggleProjectCheck","kind":"calls","metadata":{"unresolvedName":"onToggleProjectCheck"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onToggle","kind":"calls","metadata":{"unresolvedName":"onToggle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:selectedSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:onToggleSessionSelection","kind":"calls","metadata":{"unresolvedName":"onToggleSessionSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:inlineChildSessions?.has","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"external:inlineChildSessions?.get","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:FolderRecentSection","to":"symbol-name:loadMore","kind":"calls","metadata":{"unresolvedName":"loadMore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setHasActivated","kind":"calls","metadata":{"unresolvedName":"setHasActivated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onRenameSession","kind":"calls","metadata":{"unresolvedName":"onRenameSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:patchLocalSession","kind":"calls","metadata":{"unresolvedName":"patchLocalSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onRequestDeleteSession","kind":"calls","metadata":{"unresolvedName":"onRequestDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:removeLocalSession","kind":"calls","metadata":{"unresolvedName":"removeLocalSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:handleProjectCheckClick","to":"symbol-name:onToggleProjectCheck","kind":"calls","metadata":{"unresolvedName":"onToggleProjectCheck"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onToggle","kind":"calls","metadata":{"unresolvedName":"onToggle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:(draggableWorkspaceDirectories ?? []).map","kind":"calls","metadata":{"unresolvedName":"(draggableWorkspaceDirectories ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:workspaceDirectories.map","kind":"calls","metadata":{"unresolvedName":"workspaceDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"calls","metadata":{"unresolvedName":"createDirectoryProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:draggableSet.has","kind":"calls","metadata":{"unresolvedName":"draggableSet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:workspaceProjects.map","kind":"calls","metadata":{"unresolvedName":"workspaceProjects.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getInitialExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"getInitialExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:expandProjectId","kind":"calls","metadata":{"unresolvedName":"expandProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:reconcileExpandedProjectIds","kind":"calls","metadata":{"unresolvedName":"reconcileExpandedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:getCurrentProjectId","kind":"calls","metadata":{"unresolvedName":"getCurrentProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useCollapseExpandedIdsOnDrag","kind":"calls","metadata":{"unresolvedName":"useCollapseExpandedIdsOnDrag"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:setWorkspaceExpandedIds","kind":"calls","metadata":{"unresolvedName":"setWorkspaceExpandedIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"calls","metadata":{"unresolvedName":"toggleProjectId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:useReorderableList","kind":"calls","metadata":{"unresolvedName":"useReorderableList"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:workspaceById.get","kind":"calls","metadata":{"unresolvedName":"workspaceById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:onReorderWorkspace","kind":"calls","metadata":{"unresolvedName":"onReorderWorkspace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:displayOrder.map","kind":"calls","metadata":{"unresolvedName":"displayOrder.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:expandedWorkspaceIds.includes","kind":"calls","metadata":{"unresolvedName":"expandedWorkspaceIds.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"external:folderStatusByWorkspaceDirectory?.get","kind":"calls","metadata":{"unresolvedName":"folderStatusByWorkspaceDirectory?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:onSelectDirectory","kind":"calls","metadata":{"unresolvedName":"onSelectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:handleToggleWorkspace","kind":"calls","metadata":{"unresolvedName":"handleToggleWorkspace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"symbol-name:handlePointerStart","kind":"calls","metadata":{"unresolvedName":"handlePointerStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"calls","metadata":{"unresolvedName":"handleTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:WorkspaceFolderList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"calls","metadata":{"unresolvedName":"registerRef"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:(draggableWorkspaceDirectories ?? []).map","kind":"calls","metadata":{"unresolvedName":"(draggableWorkspaceDirectories ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceDirectories.map","kind":"calls","metadata":{"unresolvedName":"workspaceDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:createDirectoryProject","kind":"calls","metadata":{"unresolvedName":"createDirectoryProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:draggableSet.has","kind":"calls","metadata":{"unresolvedName":"draggableSet.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:setWorkspaceExpandedIds","kind":"calls","metadata":{"unresolvedName":"setWorkspaceExpandedIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:toggleProjectId","kind":"calls","metadata":{"unresolvedName":"toggleProjectId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","to":"external:workspaceById.get","kind":"calls","metadata":{"unresolvedName":"workspaceById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:onCommit","to":"symbol-name:onReorderWorkspace","kind":"calls","metadata":{"unresolvedName":"onReorderWorkspace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:workspaceById.get","kind":"calls","metadata":{"unresolvedName":"workspaceById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:expandedWorkspaceIds.includes","kind":"calls","metadata":{"unresolvedName":"expandedWorkspaceIds.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"external:folderStatusByWorkspaceDirectory?.get","kind":"calls","metadata":{"unresolvedName":"folderStatusByWorkspaceDirectory?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:onSelectDirectory","kind":"calls","metadata":{"unresolvedName":"onSelectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:handleToggleWorkspace","kind":"calls","metadata":{"unresolvedName":"handleToggleWorkspace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"symbol-name:handlePointerStart","kind":"calls","metadata":{"unresolvedName":"handlePointerStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:handleTouchStart","kind":"calls","metadata":{"unresolvedName":"handleTouchStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx:registerRef","kind":"calls","metadata":{"unresolvedName":"registerRef"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:markReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markReadMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:dismissMock.mockReset","kind":"calls","metadata":{"unresolvedName":"dismissMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(markReadMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(markReadMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(dismissMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(dismissMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(row).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(row).not.toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:markReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markReadMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:dismissMock.mockReset","kind":"calls","metadata":{"unresolvedName":"dismissMock.mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(markReadMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(markReadMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(dismissMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(dismissMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(row).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(row).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(markReadMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(markReadMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:entry.sessionId.slice","kind":"calls","metadata":{"unresolvedName":"entry.sessionId.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:notificationStore.markRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:notificationStore.dismiss","kind":"calls","metadata":{"unresolvedName":"notificationStore.dismiss"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:setHasFocusWithin","kind":"calls","metadata":{"unresolvedName":"setHasFocusWithin"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:itemRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","kind":"calls","metadata":{"unresolvedName":"formatNotificationTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:directory.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:directory.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:NotificationItem","to":"external:directory.replace","kind":"calls","metadata":{"unresolvedName":"directory.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClickOutside","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","to":"external:notificationStore.markRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleClick","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:handleDismiss","to":"external:notificationStore.dismiss","kind":"calls","metadata":{"unresolvedName":"notificationStore.dismiss"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setHasFocusWithin","kind":"calls","metadata":{"unresolvedName":"setHasFocusWithin"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:itemRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:setHasFocusWithin","kind":"calls","metadata":{"unresolvedName":"setHasFocusWithin"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx:","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"external:expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"external:expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(getProjectGroupIdentity('/workspace/project-worktree', gitMeta)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","to":"external:meta.workspaces.some","kind":"calls","metadata":{"unresolvedName":"meta.workspaces.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:isWorkspaceRootDirectory","kind":"calls","metadata":{"unresolvedName":"isWorkspaceRootDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"external:getSessionChildren(parentSession.id, parentSession.directory)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionChildren(parentSession.id, parentSession.directory)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"calls","metadata":{"unresolvedName":"getSessionChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:setFetched","kind":"calls","metadata":{"unresolvedName":"setFetched"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:onDeleteSelected","kind":"calls","metadata":{"unresolvedName":"onDeleteSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"external:list!.map","kind":"calls","metadata":{"unresolvedName":"list!.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Header.tsx:handleRename","kind":"calls","metadata":{"unresolvedName":"handleRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"external:selectedSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"symbol-name:onToggleSessionSelection","kind":"calls","metadata":{"unresolvedName":"onToggleSessionSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:SessionChildrenSlot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"external:getSessionChildren(parentSession.id, parentSession.directory)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionChildren(parentSession.id, parentSession.directory)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"calls","metadata":{"unresolvedName":"getSessionChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setFetched","kind":"calls","metadata":{"unresolvedName":"setFetched"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setFetched","kind":"calls","metadata":{"unresolvedName":"setFetched"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setFetched","kind":"calls","metadata":{"unresolvedName":"setFetched"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:setFetched","kind":"calls","metadata":{"unresolvedName":"setFetched"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:onDeleteSelected","kind":"calls","metadata":{"unresolvedName":"onDeleteSelected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ShareDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ContextDetailsDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CircularProgress.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:StatusIndicator","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:buttonRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"buttonRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:containerRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setMenuPos","kind":"calls","metadata":{"unresolvedName":"setMenuPos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:buttonRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"buttonRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:createPortal","kind":"calls","metadata":{"unresolvedName":"createPortal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setContextDialogOpen","kind":"calls","metadata":{"unresolvedName":"setContextDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"external:(['system', 'light', 'dark'] as const).map","kind":"calls","metadata":{"unresolvedName":"(['system', 'light', 'dark'] as const).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:onThemeChange","kind":"calls","metadata":{"unresolvedName":"onThemeChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","kind":"calls","metadata":{"unresolvedName":"toggleWideMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:setShareDialogOpen","kind":"calls","metadata":{"unresolvedName":"setShareDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:SidebarFooter","to":"symbol-name:onOpenSettings","kind":"calls","metadata":{"unresolvedName":"onOpenSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:buttonRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"buttonRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:containerRef.current.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"containerRef.current.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setMenuPos","kind":"calls","metadata":{"unresolvedName":"setMenuPos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:buttonRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"buttonRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","to":"external:buttonRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"buttonRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","to":"external:menuRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleClickOutside","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleEsc","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleEsc","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:handleEsc","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setContextDialogOpen","kind":"calls","metadata":{"unresolvedName":"setContextDialogOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","kind":"calls","metadata":{"unresolvedName":"toggleWideMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:setShareDialogOpen","kind":"calls","metadata":{"unresolvedName":"setShareDialogOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx:","to":"symbol-name:onOpenSettings","kind":"calls","metadata":{"unresolvedName":"onOpenSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","to":"external:fullPath.includes","kind":"calls","metadata":{"unresolvedName":"fullPath.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","to":"external:fullPath.split","kind":"calls","metadata":{"unresolvedName":"fullPath.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","to":"external:parts.pop","kind":"calls","metadata":{"unresolvedName":"parts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:formatNotificationTime","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/FolderRecentList.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/ActiveSessionItem.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/NotificationItem.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidebarFooter.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","to":"external:visibleIds.indexOf","kind":"calls","metadata":{"unresolvedName":"visibleIds.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","to":"external:visibleIds.slice","kind":"calls","metadata":{"unresolvedName":"visibleIds.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","to":"external:project.workspaceDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","to":"external:project.memberDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.memberDirectories?.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.workspaceDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.memberDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.memberDirectories?.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:savedDirectories\n .map","kind":"calls","metadata":{"unresolvedName":"savedDirectories\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","kind":"calls","metadata":{"unresolvedName":"useGitWorkspaceCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"calls","metadata":{"unresolvedName":"useVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:root.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"root.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:element.getClientRects","kind":"calls","metadata":{"unresolvedName":"element.getClientRects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:getVisibleSelectionIds","kind":"calls","metadata":{"unresolvedName":"getVisibleSelectionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setSelectedSessionIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"calls","metadata":{"unresolvedName":"getSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setSelectedProjectIds","kind":"calls","metadata":{"unresolvedName":"setSelectedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setIsEditMode","kind":"calls","metadata":{"unresolvedName":"setIsEditMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","kind":"calls","metadata":{"unresolvedName":"useKeybindingLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:projectsDropdownRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"projectsDropdownRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:projectToggleRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"projectToggleRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","kind":"calls","metadata":{"unresolvedName":"useSessionContextUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","kind":"calls","metadata":{"unresolvedName":"useBusySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount","kind":"calls","metadata":{"unresolvedName":"useBusyCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:childSessionStore.subscribe.bind","kind":"calls","metadata":{"unresolvedName":"childSessionStore.subscribe.bind"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","kind":"calls","metadata":{"unresolvedName":"useUnreadNotificationCount"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","kind":"calls","metadata":{"unresolvedName":"subscribeToConnectionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"calls","metadata":{"unresolvedName":"useSessionContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:map.has","kind":"calls","metadata":{"unresolvedName":"map.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:busySessions.map","kind":"calls","metadata":{"unresolvedName":"busySessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:notifications.map","kind":"calls","metadata":{"unresolvedName":"notifications.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:sessionLookup.has","kind":"calls","metadata":{"unresolvedName":"sessionLookup.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:allNeeded.push","kind":"calls","metadata":{"unresolvedName":"allNeeded.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:allNeeded.filter","kind":"calls","metadata":{"unresolvedName":"allNeeded.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:missing.map","kind":"calls","metadata":{"unresolvedName":"missing.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setFetchedSessions","kind":"calls","metadata":{"unresolvedName":"setFetchedSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","kind":"calls","metadata":{"unresolvedName":"fetchMissing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:rootSessionIds.has","kind":"calls","metadata":{"unresolvedName":"rootSessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:findParentId","kind":"calls","metadata":{"unresolvedName":"findParentId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:arr.some","kind":"calls","metadata":{"unresolvedName":"arr.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:arr.push","kind":"calls","metadata":{"unresolvedName":"arr.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","kind":"calls","metadata":{"unresolvedName":"add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/activeSessionTree.ts:buildActiveSessionTree","kind":"calls","metadata":{"unresolvedName":"buildActiveSessionTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:directories.map","kind":"calls","metadata":{"unresolvedName":"directories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:gitWorkspaceCatalog.get","kind":"calls","metadata":{"unresolvedName":"gitWorkspaceCatalog.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:groups.get","kind":"calls","metadata":{"unresolvedName":"groups.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:groups.set","kind":"calls","metadata":{"unresolvedName":"groups.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:savedNameByPath.get","kind":"calls","metadata":{"unresolvedName":"savedNameByPath.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:Array.from(groups.values()).map","kind":"calls","metadata":{"unresolvedName":"Array.from(groups.values()).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:groups.values","kind":"calls","metadata":{"unresolvedName":"groups.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:(project.memberDirectories ?? [])\n .map","kind":"calls","metadata":{"unresolvedName":"(project.memberDirectories ?? [])\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:project.workspaceDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:project.workspaceDirectories.filter","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:savedWorkspaceDirectories.some","kind":"calls","metadata":{"unresolvedName":"savedWorkspaceDirectories.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:buildProjectGroups","kind":"calls","metadata":{"unresolvedName":"buildProjectGroups"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:[...savedDirectories].sort","kind":"calls","metadata":{"unresolvedName":"[...savedDirectories].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","kind":"calls","metadata":{"unresolvedName":"findProjectGroupForDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:list.some","kind":"calls","metadata":{"unresolvedName":"list.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:list.push","kind":"calls","metadata":{"unresolvedName":"list.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:gitWorkspaceCatalog.has","kind":"calls","metadata":{"unresolvedName":"gitWorkspaceCatalog.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:(currentProject.memberDirectories ?? []).map","kind":"calls","metadata":{"unresolvedName":"(currentProject.memberDirectories ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:currentProjectWorkspaceDirectories.map","kind":"calls","metadata":{"unresolvedName":"currentProjectWorkspaceDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:draggableWorkspaceSet.has","kind":"calls","metadata":{"unresolvedName":"draggableWorkspaceSet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:allDisplayedProjects.find","kind":"calls","metadata":{"unresolvedName":"allDisplayedProjects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setProjectsExpanded","kind":"calls","metadata":{"unresolvedName":"setProjectsExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:getProjectDirectoriesToRemove(projectId).forEach","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove(projectId).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:getProjectDirectoriesToRemove","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:removeDirectory","kind":"calls","metadata":{"unresolvedName":"removeDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:folderProjects.find","kind":"calls","metadata":{"unresolvedName":"folderProjects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:reorderDirectories","kind":"calls","metadata":{"unresolvedName":"reorderDirectories"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:onCloseMobile","kind":"calls","metadata":{"unresolvedName":"onCloseMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:activeSessionTree.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"activeSessionTree.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:childEntries.map","kind":"calls","metadata":{"unresolvedName":"childEntries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:renderActiveSessionNode","kind":"calls","metadata":{"unresolvedName":"renderActiveSessionNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"calls","metadata":{"unresolvedName":"deleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:onNewSession","kind":"calls","metadata":{"unresolvedName":"onNewSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setIsBatchDeleting","kind":"calls","metadata":{"unresolvedName":"setIsBatchDeleting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:selectedSessionIds.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:ids.map","kind":"calls","metadata":{"unresolvedName":"ids.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setBatchDeleteSessionConfirm","kind":"calls","metadata":{"unresolvedName":"setBatchDeleteSessionConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setBatchRemoveProjectConfirm","kind":"calls","metadata":{"unresolvedName":"setBatchRemoveProjectConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:handleSelectProject","kind":"calls","metadata":{"unresolvedName":"handleSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","kind":"calls","metadata":{"unresolvedName":"getParentPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setProjectDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setProjectDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setSearch","kind":"calls","metadata":{"unresolvedName":"setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:setSidebarTab","kind":"calls","metadata":{"unresolvedName":"setSidebarTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:exitEditMode","kind":"calls","metadata":{"unresolvedName":"exitEditMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:activeSessionTree.rootEntries.map","kind":"calls","metadata":{"unresolvedName":"activeSessionTree.rootEntries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:notifications.some","kind":"calls","metadata":{"unresolvedName":"notifications.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:notificationStore.markAllRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markAllRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"external:notificationStore.clearAll","kind":"calls","metadata":{"unresolvedName":"notificationStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:SidePanel","to":"symbol-name:handleRemoveProject","kind":"calls","metadata":{"unresolvedName":"handleRemoveProject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:root.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"root.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:element.getClientRects","kind":"calls","metadata":{"unresolvedName":"element.getClientRects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:getVisibleSelectionIds","kind":"calls","metadata":{"unresolvedName":"getVisibleSelectionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedSessionIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"calls","metadata":{"unresolvedName":"getSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"calls","metadata":{"unresolvedName":"getSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:getVisibleSelectionIds","kind":"calls","metadata":{"unresolvedName":"getVisibleSelectionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedProjectIds","kind":"calls","metadata":{"unresolvedName":"setSelectedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"calls","metadata":{"unresolvedName":"getSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:getSelectionRange","kind":"calls","metadata":{"unresolvedName":"getSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setIsEditMode","kind":"calls","metadata":{"unresolvedName":"setIsEditMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedSessionIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedProjectIds","kind":"calls","metadata":{"unresolvedName":"setSelectedProjectIds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setIsEditMode","kind":"calls","metadata":{"unresolvedName":"setIsEditMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:projectsDropdownRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"projectsDropdownRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:projectToggleRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"projectToggleRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToConnectionState","kind":"calls","metadata":{"unresolvedName":"subscribeToConnectionState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:map.has","kind":"calls","metadata":{"unresolvedName":"map.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:busySessions.map","kind":"calls","metadata":{"unresolvedName":"busySessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:notifications.map","kind":"calls","metadata":{"unresolvedName":"notifications.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.has","kind":"calls","metadata":{"unresolvedName":"sessionLookup.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:allNeeded.push","kind":"calls","metadata":{"unresolvedName":"allNeeded.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:allNeeded.filter","kind":"calls","metadata":{"unresolvedName":"allNeeded.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:missing.map","kind":"calls","metadata":{"unresolvedName":"missing.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setFetchedSessions","kind":"calls","metadata":{"unresolvedName":"setFetchedSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","kind":"calls","metadata":{"unresolvedName":"fetchMissing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","to":"external:missing.map","kind":"calls","metadata":{"unresolvedName":"missing.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:fetchMissing","to":"symbol-name:setFetchedSessions","kind":"calls","metadata":{"unresolvedName":"setFetchedSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:rootSessionIds.has","kind":"calls","metadata":{"unresolvedName":"rootSessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:findParentId","kind":"calls","metadata":{"unresolvedName":"findParentId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:arr.some","kind":"calls","metadata":{"unresolvedName":"arr.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:arr.push","kind":"calls","metadata":{"unresolvedName":"arr.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:findParentId","kind":"calls","metadata":{"unresolvedName":"findParentId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:rootSessionIds.has","kind":"calls","metadata":{"unresolvedName":"rootSessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","kind":"calls","metadata":{"unresolvedName":"add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","to":"external:arr.some","kind":"calls","metadata":{"unresolvedName":"arr.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:add","to":"external:arr.push","kind":"calls","metadata":{"unresolvedName":"arr.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:directories.map","kind":"calls","metadata":{"unresolvedName":"directories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:gitWorkspaceCatalog.get","kind":"calls","metadata":{"unresolvedName":"gitWorkspaceCatalog.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:groups.get","kind":"calls","metadata":{"unresolvedName":"groups.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:groups.set","kind":"calls","metadata":{"unresolvedName":"groups.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:savedNameByPath.get","kind":"calls","metadata":{"unresolvedName":"savedNameByPath.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Array.from(groups.values()).map","kind":"calls","metadata":{"unresolvedName":"Array.from(groups.values()).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:groups.values","kind":"calls","metadata":{"unresolvedName":"groups.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:(project.memberDirectories ?? [])\n .map","kind":"calls","metadata":{"unresolvedName":"(project.memberDirectories ?? [])\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.workspaceDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.workspaceDirectories.filter","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:savedWorkspaceDirectories.some","kind":"calls","metadata":{"unresolvedName":"savedWorkspaceDirectories.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:(project.memberDirectories ?? [])\n .map","kind":"calls","metadata":{"unresolvedName":"(project.memberDirectories ?? [])\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.workspaceDirectories?.some","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories?.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:project.workspaceDirectories.filter","kind":"calls","metadata":{"unresolvedName":"project.workspaceDirectories.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:savedWorkspaceDirectories.some","kind":"calls","metadata":{"unresolvedName":"savedWorkspaceDirectories.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:buildProjectGroups","kind":"calls","metadata":{"unresolvedName":"buildProjectGroups"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:[...savedDirectories].sort","kind":"calls","metadata":{"unresolvedName":"[...savedDirectories].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:buildProjectGroups","kind":"calls","metadata":{"unresolvedName":"buildProjectGroups"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:findProjectGroupForDirectory","kind":"calls","metadata":{"unresolvedName":"findProjectGroupForDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:gitWorkspaceCatalog.get","kind":"calls","metadata":{"unresolvedName":"gitWorkspaceCatalog.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/projectGrouping.ts:getProjectGroupIdentity","kind":"calls","metadata":{"unresolvedName":"getProjectGroupIdentity"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:list.some","kind":"calls","metadata":{"unresolvedName":"list.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:list.push","kind":"calls","metadata":{"unresolvedName":"list.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:(currentProject.memberDirectories ?? []).map","kind":"calls","metadata":{"unresolvedName":"(currentProject.memberDirectories ?? []).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:currentProjectWorkspaceDirectories.map","kind":"calls","metadata":{"unresolvedName":"currentProjectWorkspaceDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:draggableWorkspaceSet.has","kind":"calls","metadata":{"unresolvedName":"draggableWorkspaceSet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:draggableWorkspaceSet.has","kind":"calls","metadata":{"unresolvedName":"draggableWorkspaceSet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"calls","metadata":{"unresolvedName":"getDirectoryName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:allDisplayedProjects.find","kind":"calls","metadata":{"unresolvedName":"allDisplayedProjects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setCurrentDirectory","kind":"calls","metadata":{"unresolvedName":"setCurrentDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectsExpanded","kind":"calls","metadata":{"unresolvedName":"setProjectsExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:getProjectDirectoriesToRemove(projectId).forEach","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove(projectId).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:getProjectDirectoriesToRemove","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:removeDirectory","kind":"calls","metadata":{"unresolvedName":"removeDirectory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:folderProjects.find","kind":"calls","metadata":{"unresolvedName":"folderProjects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:reorderDirectories","kind":"calls","metadata":{"unresolvedName":"reorderDirectories"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onCloseMobile","kind":"calls","metadata":{"unresolvedName":"onCloseMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onCloseMobile","kind":"calls","metadata":{"unresolvedName":"onCloseMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:activeSessionTree.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"activeSessionTree.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:childEntries.map","kind":"calls","metadata":{"unresolvedName":"childEntries.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:renderActiveSessionNode","kind":"calls","metadata":{"unresolvedName":"renderActiveSessionNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"calls","metadata":{"unresolvedName":"deleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onNewSession","kind":"calls","metadata":{"unresolvedName":"onNewSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onNewSession","kind":"calls","metadata":{"unresolvedName":"onNewSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setIsBatchDeleting","kind":"calls","metadata":{"unresolvedName":"setIsBatchDeleting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:selectedSessionIds.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:ids.map","kind":"calls","metadata":{"unresolvedName":"ids.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedSessionIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setBatchDeleteSessionConfirm","kind":"calls","metadata":{"unresolvedName":"setBatchDeleteSessionConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:onNewSession","kind":"calls","metadata":{"unresolvedName":"onNewSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:apiDeleteSession","kind":"calls","metadata":{"unresolvedName":"apiDeleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:getProjectDirectoriesToRemove(projectId).forEach","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove(projectId).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:getProjectDirectoriesToRemove","kind":"calls","metadata":{"unresolvedName":"getProjectDirectoriesToRemove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:removeDirectory","kind":"calls","metadata":{"unresolvedName":"removeDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSelectedProjectIds","kind":"calls","metadata":{"unresolvedName":"setSelectedProjectIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setBatchRemoveProjectConfirm","kind":"calls","metadata":{"unresolvedName":"setBatchRemoveProjectConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectsExpanded","kind":"calls","metadata":{"unresolvedName":"setProjectsExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectsExpanded","kind":"calls","metadata":{"unresolvedName":"setProjectsExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:handleSelectProject","kind":"calls","metadata":{"unresolvedName":"handleSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/sidebarUtils.ts:getParentPath","kind":"calls","metadata":{"unresolvedName":"getParentPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setProjectDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:handleSelectProject","kind":"calls","metadata":{"unresolvedName":"handleSelectProject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setProjectDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSidebarTab","kind":"calls","metadata":{"unresolvedName":"setSidebarTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:exitEditMode","kind":"calls","metadata":{"unresolvedName":"exitEditMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setSidebarTab","kind":"calls","metadata":{"unresolvedName":"setSidebarTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:exitEditMode","kind":"calls","metadata":{"unresolvedName":"exitEditMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"external:sessionLookup.get","kind":"calls","metadata":{"unresolvedName":"sessionLookup.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:handleRemoveProject","kind":"calls","metadata":{"unresolvedName":"handleRemoveProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx:","to":"symbol-name:setProjectDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setProjectDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SidePanel.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/ProjectDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/chatViewport.tsx:useChatViewport","kind":"calls","metadata":{"unresolvedName":"useChatViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setProjectDialogKey","kind":"calls","metadata":{"unresolvedName":"setProjectDialogKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsProjectDialogOpen","kind":"calls","metadata":{"unresolvedName":"setIsProjectDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onProjectDialogClose","kind":"calls","metadata":{"unresolvedName":"onProjectDialogClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:actions.setSidebarRequestedWidth","kind":"calls","metadata":{"unresolvedName":"actions.setSidebarRequestedWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:persistSidebarWidth","kind":"calls","metadata":{"unresolvedName":"persistSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsSwipingActive","kind":"calls","metadata":{"unresolvedName":"setIsSwipingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setSwipeX","kind":"calls","metadata":{"unresolvedName":"setSwipeX"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:addDirectory","kind":"calls","metadata":{"unresolvedName":"addDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setProjectDialogKey","kind":"calls","metadata":{"unresolvedName":"setProjectDialogKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsProjectDialogOpen","kind":"calls","metadata":{"unresolvedName":"setIsProjectDialogOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsProjectDialogOpen","kind":"calls","metadata":{"unresolvedName":"setIsProjectDialogOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onProjectDialogClose","kind":"calls","metadata":{"unresolvedName":"onProjectDialogClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:actions.setSidebarRequestedWidth","kind":"calls","metadata":{"unresolvedName":"actions.setSidebarRequestedWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:persistSidebarWidth","kind":"calls","metadata":{"unresolvedName":"persistSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseMove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleMouseUp","to":"symbol-name:persistSidebarWidth","kind":"calls","metadata":{"unresolvedName":"persistSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:persistSidebarWidth","kind":"calls","metadata":{"unresolvedName":"persistSidebarWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchMove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:clampSidebarWidth","kind":"calls","metadata":{"unresolvedName":"clampSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:handleTouchEnd","to":"symbol-name:persistSidebarWidth","kind":"calls","metadata":{"unresolvedName":"persistSidebarWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.clearTimeout","kind":"calls","metadata":{"unresolvedName":"window.clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onSelectSession","kind":"calls","metadata":{"unresolvedName":"onSelectSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsSwipingActive","kind":"calls","metadata":{"unresolvedName":"setIsSwipingActive"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsSwipingActive","kind":"calls","metadata":{"unresolvedName":"setIsSwipingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setSwipeX","kind":"calls","metadata":{"unresolvedName":"setSwipeX"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setIsSwipingActive","kind":"calls","metadata":{"unresolvedName":"setIsSwipingActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/Sidebar.tsx:","to":"symbol-name:setSwipeX","kind":"calls","metadata":{"unresolvedName":"setSwipeX"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","kind":"calls","metadata":{"unresolvedName":"containsLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitContainer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitContainer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitContainer","to":"symbol-name:renderLeaf","kind":"calls","metadata":{"unresolvedName":"renderLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","to":"external:(r * 100).toFixed","kind":"calls","metadata":{"unresolvedName":"(r * 100).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","to":"external:((1 - r) * 100).toFixed","kind":"calls","metadata":{"unresolvedName":"((1 - r) * 100).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"calls","metadata":{"unresolvedName":"buildGridTemplate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"calls","metadata":{"unresolvedName":"applyRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:paneLayoutStore.setRatio","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:SplitNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:containsLeaf","kind":"calls","metadata":{"unresolvedName":"containsLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"calls","metadata":{"unresolvedName":"buildGridTemplate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"calls","metadata":{"unresolvedName":"applyRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:paneLayoutStore.setRatio","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:buildGridTemplate","kind":"calls","metadata":{"unresolvedName":"buildGridTemplate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onMove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"calls","metadata":{"unresolvedName":"applyRatio"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:applyRatio","kind":"calls","metadata":{"unresolvedName":"applyRatio"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"external:paneLayoutStore.setRatio","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/SplitContainer.tsx:onUp","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"calls","metadata":{"unresolvedName":"formatMentionLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"external:span.addEventListener","kind":"calls","metadata":{"unresolvedName":"span.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","to":"external:span.removeEventListener","kind":"calls","metadata":{"unresolvedName":"span.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:handleClick","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup","to":"external:span.removeEventListener","kind":"calls","metadata":{"unresolvedName":"span.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:cleanup","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked(listDirectory).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(listDirectory).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked(searchFiles).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(searchFiles).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getByText('planner')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('planner')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getAllByText('src').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('src').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getAllByText('README.md').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('README.md').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(onNavigate).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onNavigate).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked(listDirectory).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(listDirectory).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.mocked(searchFiles).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(searchFiles).mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getByText('planner')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('planner')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getAllByText('src').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('src').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(screen.getAllByText('README.md').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('README.md').length).toBeGreaterThan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:screen.getByTitle","kind":"calls","metadata":{"unresolvedName":"screen.getByTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:expect(onNavigate).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onNavigate).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"query.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.slice","kind":"calls","metadata":{"unresolvedName":"query.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.visualViewport?.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:selectedEl.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"selectedEl.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:listDirectory(cleanPath, rootPath)\r\n .then","kind":"calls","metadata":{"unresolvedName":"listDirectory(cleanPath, rootPath)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:filter.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:nodes.forEach","kind":"calls","metadata":{"unresolvedName":"nodes.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...files].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...files].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:allItems.findIndex","kind":"calls","metadata":{"unresolvedName":"allItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:loadDirectory","kind":"calls","metadata":{"unresolvedName":"loadDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:searchFiles(query, { limit: 20, directory: rootPath })\r\n .then","kind":"calls","metadata":{"unresolvedName":"searchFiles(query, { limit: 20, directory: rootPath })\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"calls","metadata":{"unresolvedName":"searchFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:paths.forEach","kind":"calls","metadata":{"unresolvedName":"paths.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:fileItems.push","kind":"calls","metadata":{"unresolvedName":"fileItems.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...fileItems].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...fileItems].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:normalizePath(currentPath).split","kind":"calls","metadata":{"unresolvedName":"normalizePath(currentPath).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parts.pop","kind":"calls","metadata":{"unresolvedName":"parts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onNavigate","kind":"calls","metadata":{"unresolvedName":"onNavigate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:pathParts.slice","kind":"calls","metadata":{"unresolvedName":"pathParts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parentParts.join","kind":"calls","metadata":{"unresolvedName":"parentParts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:(item.relativePath || item.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(item.relativePath || item.displayName).replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"query.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.slice","kind":"calls","metadata":{"unresolvedName":"query.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.visualViewport?.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:calculate","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:selectedEl.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"selectedEl.scrollIntoView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:listDirectory(cleanPath, rootPath)\r\n .then","kind":"calls","metadata":{"unresolvedName":"listDirectory(cleanPath, rootPath)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:filter.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:nodes.forEach","kind":"calls","metadata":{"unresolvedName":"nodes.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...files].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...files].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:allItems.findIndex","kind":"calls","metadata":{"unresolvedName":"allItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:filter.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filter.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:nodes.forEach","kind":"calls","metadata":{"unresolvedName":"nodes.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...files].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...files].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:allItems.findIndex","kind":"calls","metadata":{"unresolvedName":"allItems.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:n.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"n.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:files.push","kind":"calls","metadata":{"unresolvedName":"files.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"query.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.slice","kind":"calls","metadata":{"unresolvedName":"query.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:loadDirectory","kind":"calls","metadata":{"unresolvedName":"loadDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:searchFiles(query, { limit: 20, directory: rootPath })\r\n .then","kind":"calls","metadata":{"unresolvedName":"searchFiles(query, { limit: 20, directory: rootPath })\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"calls","metadata":{"unresolvedName":"searchFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:paths.forEach","kind":"calls","metadata":{"unresolvedName":"paths.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:fileItems.push","kind":"calls","metadata":{"unresolvedName":"fileItems.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...fileItems].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...fileItems].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"query.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.slice","kind":"calls","metadata":{"unresolvedName":"query.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:loadDirectory","kind":"calls","metadata":{"unresolvedName":"loadDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:searchFiles(query, { limit: 20, directory: rootPath })\r\n .then","kind":"calls","metadata":{"unresolvedName":"searchFiles(query, { limit: 20, directory: rootPath })\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:searchFiles","kind":"calls","metadata":{"unresolvedName":"searchFiles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:paths.forEach","kind":"calls","metadata":{"unresolvedName":"paths.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:fileItems.push","kind":"calls","metadata":{"unresolvedName":"fileItems.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...fileItems].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...fileItems].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:paths.forEach","kind":"calls","metadata":{"unresolvedName":"paths.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:fileItems.push","kind":"calls","metadata":{"unresolvedName":"fileItems.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:agents\r\n .filter","kind":"calls","metadata":{"unresolvedName":"agents\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:[...agentItems, ...folders, ...fileItems].filter","kind":"calls","metadata":{"unresolvedName":"[...agentItems, ...folders, ...fileItems].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:excludeValues?.has","kind":"calls","metadata":{"unresolvedName":"excludeValues?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:name.includes","kind":"calls","metadata":{"unresolvedName":"name.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:path.endsWith","kind":"calls","metadata":{"unresolvedName":"path.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:folders.push","kind":"calls","metadata":{"unresolvedName":"folders.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:createItem","kind":"calls","metadata":{"unresolvedName":"createItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:fileItems.push","kind":"calls","metadata":{"unresolvedName":"fileItems.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:fileErrorHandler","kind":"calls","metadata":{"unresolvedName":"fileErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setItems","kind":"calls","metadata":{"unresolvedName":"setItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveUp","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:moveDown","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:selectCurrent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:selectCurrent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:selectCurrent","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:enterFolder","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:enterFolder","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:enterFolder","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","to":"external:normalizePath(currentPath).split","kind":"calls","metadata":{"unresolvedName":"normalizePath(currentPath).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","to":"external:parts.pop","kind":"calls","metadata":{"unresolvedName":"parts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:goBack","to":"symbol-name:onNavigate","kind":"calls","metadata":{"unresolvedName":"onNavigate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:setRestoreFolder","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:setRestoreFolder","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:handleClickOutside","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:normalizePath(currentPath).split","kind":"calls","metadata":{"unresolvedName":"normalizePath(currentPath).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:pathParts.slice","kind":"calls","metadata":{"unresolvedName":"pathParts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:parentParts.join","kind":"calls","metadata":{"unresolvedName":"parentParts.join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onNavigate","kind":"calls","metadata":{"unresolvedName":"onNavigate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"external:(item.relativePath || item.displayName).replace","kind":"calls","metadata":{"unresolvedName":"(item.relativePath || item.displayName).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onNavigate","kind":"calls","metadata":{"unresolvedName":"onNavigate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionMenu.tsx:TypeBadge","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"calls","metadata":{"unresolvedName":"formatMentionLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:onClick","kind":"calls","metadata":{"unresolvedName":"onClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:MentionTag","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:onClick","kind":"calls","metadata":{"unresolvedName":"onClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"calls","metadata":{"unresolvedName":"parseMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:RichText","to":"external:segments.map","kind":"calls","metadata":{"unresolvedName":"segments.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/MentionTag.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:setMenuState","kind":"calls","metadata":{"unresolvedName":"setMenuState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:onMenuClose","kind":"calls","metadata":{"unresolvedName":"onMenuClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"calls","metadata":{"unresolvedName":"getPlainText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"calls","metadata":{"unresolvedName":"getSerializedText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:onTextChange","kind":"calls","metadata":{"unresolvedName":"onTextChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","kind":"calls","metadata":{"unresolvedName":"getCursorPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"external:plainText.slice","kind":"calls","metadata":{"unresolvedName":"plainText.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","kind":"calls","metadata":{"unresolvedName":"rebuildEditorContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:setMentions","kind":"calls","metadata":{"unresolvedName":"setMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"external:editor.focus","kind":"calls","metadata":{"unresolvedName":"editor.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:useMention","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"calls","metadata":{"unresolvedName":"moveCursorToEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:setMenuState","kind":"calls","metadata":{"unresolvedName":"setMenuState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:setMenuState","kind":"calls","metadata":{"unresolvedName":"setMenuState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:onMenuClose","kind":"calls","metadata":{"unresolvedName":"onMenuClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"calls","metadata":{"unresolvedName":"getPlainText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"calls","metadata":{"unresolvedName":"getSerializedText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:onTextChange","kind":"calls","metadata":{"unresolvedName":"onTextChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","kind":"calls","metadata":{"unresolvedName":"getCursorPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:openMenu","kind":"calls","metadata":{"unresolvedName":"openMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"calls","metadata":{"unresolvedName":"getPlainText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"external:plainText.slice","kind":"calls","metadata":{"unresolvedName":"plainText.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","kind":"calls","metadata":{"unresolvedName":"rebuildEditorContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"calls","metadata":{"unresolvedName":"getSerializedText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:onTextChange","kind":"calls","metadata":{"unresolvedName":"onTextChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:setMentions","kind":"calls","metadata":{"unresolvedName":"setMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:closeMenu","kind":"calls","metadata":{"unresolvedName":"closeMenu"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"external:editor.focus","kind":"calls","metadata":{"unresolvedName":"editor.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"calls","metadata":{"unresolvedName":"moveCursorToEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"external:editor.focus","kind":"calls","metadata":{"unresolvedName":"editor.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"calls","metadata":{"unresolvedName":"moveCursorToEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:setMenuState","kind":"calls","metadata":{"unresolvedName":"setMenuState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"symbol-name:setMentions","kind":"calls","metadata":{"unresolvedName":"setMentions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"calls","metadata":{"unresolvedName":"getSerializedText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","to":"external:el.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"el.childNodes.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getPlainText","to":"external:editor.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"editor.childNodes.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:el.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"el.childNodes.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","to":"external:el.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"el.childNodes.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getSerializedText","to":"external:editor.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"editor.childNodes.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:el.childNodes.forEach","kind":"calls","metadata":{"unresolvedName":"el.childNodes.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:window.getSelection","kind":"calls","metadata":{"unresolvedName":"window.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:selection.getRangeAt","kind":"calls","metadata":{"unresolvedName":"selection.getRangeAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:range.cloneRange","kind":"calls","metadata":{"unresolvedName":"range.cloneRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:preCaretRange.selectNodeContents","kind":"calls","metadata":{"unresolvedName":"preCaretRange.selectNodeContents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:preCaretRange.setEnd","kind":"calls","metadata":{"unresolvedName":"preCaretRange.setEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:getCursorPosition","to":"symbol-name:walk","kind":"calls","metadata":{"unresolvedName":"walk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:walk","to":"symbol-name:walk","kind":"calls","metadata":{"unresolvedName":"walk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:editor.querySelectorAll('.mention-tag').forEach","kind":"calls","metadata":{"unresolvedName":"editor.querySelectorAll('.mention-tag').forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:editor.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"editor.querySelectorAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:mentionSpans.push","kind":"calls","metadata":{"unresolvedName":"mentionSpans.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:span.cloneNode","kind":"calls","metadata":{"unresolvedName":"span.cloneNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:editor.appendChild","kind":"calls","metadata":{"unresolvedName":"editor.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:document.createTextNode","kind":"calls","metadata":{"unresolvedName":"document.createTextNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/createMentionElement.ts:createMentionElement","kind":"calls","metadata":{"unresolvedName":"createMentionElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:rebuildEditorContent","to":"external:afterText.trimStart","kind":"calls","metadata":{"unresolvedName":"afterText.trimStart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"external:mentionSpans.push","kind":"calls","metadata":{"unresolvedName":"mentionSpans.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:","to":"external:span.cloneNode","kind":"calls","metadata":{"unresolvedName":"span.cloneNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:document.createRange","kind":"calls","metadata":{"unresolvedName":"document.createRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:window.getSelection","kind":"calls","metadata":{"unresolvedName":"window.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:range.setStart","kind":"calls","metadata":{"unresolvedName":"range.setStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:range.setStartAfter","kind":"calls","metadata":{"unresolvedName":"range.setStartAfter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:range.collapse","kind":"calls","metadata":{"unresolvedName":"range.collapse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:sel?.removeAllRanges","kind":"calls","metadata":{"unresolvedName":"sel?.removeAllRanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/useMention.ts:moveCursorToEnd","to":"external:sel?.addRange","kind":"calls","metadata":{"unresolvedName":"sel?.addRange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(normalizePath('foo\\\\bar//baz.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(normalizePath('foo\\\\bar//baz.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(getFileName('foo/bar/baz.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getFileName('foo/bar/baz.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toAbsolutePath('', '/workspace/project')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toAbsolutePath('', '/workspace/project')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toFileUrl('/workspace/project/src/app.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toFileUrl('/workspace/project/src/app.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"calls","metadata":{"unresolvedName":"toFileUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toFileUrl('C:/repo/app.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toFileUrl('C:/repo/app.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention","kind":"calls","metadata":{"unresolvedName":"serializeMention"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(serialized).toBe","kind":"calls","metadata":{"unresolvedName":"expect(serialized).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(formatMentionLabel('agent', 'planner')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatMentionLabel('agent', 'planner')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"calls","metadata":{"unresolvedName":"formatMentionLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"calls","metadata":{"unresolvedName":"parseMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(parsed).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(parsed).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(parsed[1]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(parsed[1]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","kind":"calls","metadata":{"unresolvedName":"extractMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(stripMentions('Look [[file:src/app.ts]] here')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(stripMentions('Look [[file:src/app.ts]] here')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","kind":"calls","metadata":{"unresolvedName":"stripMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:'Look here'.trim","kind":"calls","metadata":{"unresolvedName":"'Look here'.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('hello @src/com', 14)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src/com', 14)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('email@test.com', 14)).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('email@test.com', 14)).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('hello @src com', 14)).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src com', 14)).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(normalizePath('foo\\\\bar//baz.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(normalizePath('foo\\\\bar//baz.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(getFileName('foo/bar/baz.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getFileName('foo/bar/baz.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toAbsolutePath('./src/app.ts', '/workspace/project')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"calls","metadata":{"unresolvedName":"toAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toAbsolutePath('', '/workspace/project')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toAbsolutePath('', '/workspace/project')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toFileUrl('/workspace/project/src/app.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toFileUrl('/workspace/project/src/app.ts')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"calls","metadata":{"unresolvedName":"toFileUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(toFileUrl('C:/repo/app.ts')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(toFileUrl('C:/repo/app.ts')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention","kind":"calls","metadata":{"unresolvedName":"serializeMention"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(serialized).toBe","kind":"calls","metadata":{"unresolvedName":"expect(serialized).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(formatMentionLabel('agent', 'planner')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatMentionLabel('agent', 'planner')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"calls","metadata":{"unresolvedName":"formatMentionLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"calls","metadata":{"unresolvedName":"parseMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(parsed).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(parsed).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(parsed[1]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(parsed[1]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","kind":"calls","metadata":{"unresolvedName":"extractMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(stripMentions('Look [[file:src/app.ts]] here')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(stripMentions('Look [[file:src/app.ts]] here')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","kind":"calls","metadata":{"unresolvedName":"stripMentions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:'Look here'.trim","kind":"calls","metadata":{"unresolvedName":"'Look here'.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('hello @src/com', 14)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src/com', 14)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"calls","metadata":{"unresolvedName":"detectMentionTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('email@test.com', 14)).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('email@test.com', 14)).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.test.ts:","to":"external:expect(detectMentionTrigger('hello @src com', 14)).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(detectMentionTrigger('hello @src com', 14)).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath","to":"external:path.replace(/\\\\/g, '/').replace","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:normalizePath","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","to":"external:normalized.split","kind":"calls","metadata":{"unresolvedName":"normalized.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","to":"external:normalizePath(rootPath).replace","kind":"calls","metadata":{"unresolvedName":"normalizePath(rootPath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","to":"external:normalizePath(relativePath).replace","kind":"calls","metadata":{"unresolvedName":"normalizePath(relativePath).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toAbsolutePath","to":"external:/^[a-zA-Z]:/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:/.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","to":"external:/^[a-zA-Z]:/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:toFileUrl","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","to":"external:type.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"type.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","to":"external:type.charAt","kind":"calls","metadata":{"unresolvedName":"type.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","to":"external:type.slice","kind":"calls","metadata":{"unresolvedName":"type.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionShort","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionShort","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionShort","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:formatMentionLabel","kind":"calls","metadata":{"unresolvedName":"formatMentionLabel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:serializeMention","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","to":"symbol-name:getMentionPattern","kind":"calls","metadata":{"unresolvedName":"getMentionPattern"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","to":"external:pattern.exec","kind":"calls","metadata":{"unresolvedName":"pattern.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","to":"external:segments.push","kind":"calls","metadata":{"unresolvedName":"segments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:parseMentions","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","to":"symbol-name:getMentionPattern","kind":"calls","metadata":{"unresolvedName":"getMentionPattern"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","to":"external:pattern.exec","kind":"calls","metadata":{"unresolvedName":"pattern.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","to":"external:mentions.push","kind":"calls","metadata":{"unresolvedName":"mentions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:extractMentions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:getFileName","kind":"calls","metadata":{"unresolvedName":"getFileName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","to":"external:text.replace(getMentionPattern(), '').trim","kind":"calls","metadata":{"unresolvedName":"text.replace(getMentionPattern(), '').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","to":"external:text.replace","kind":"calls","metadata":{"unresolvedName":"text.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:stripMentions","to":"symbol-name:getMentionPattern","kind":"calls","metadata":{"unresolvedName":"getMentionPattern"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","to":"external:textBeforeCursor.lastIndexOf","kind":"calls","metadata":{"unresolvedName":"textBeforeCursor.lastIndexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","to":"external:textBeforeCursor.slice","kind":"calls","metadata":{"unresolvedName":"textBeforeCursor.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/mention/utils.ts:detectMentionTrigger","to":"external:textAfterTrigger.includes","kind":"calls","metadata":{"unresolvedName":"textAfterTrigger.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createAssistantMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createAssistantMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:createUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(onFork).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onFork).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.queryByRole('button', { name: /copy/i })).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /copy/i })).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.getByText('History compacted')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('History compacted')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(onFork).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onFork).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(onFork).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onFork).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /fork|分叉/i })).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.queryByRole('button', { name: /copy/i })).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button', { name: /copy/i })).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:expect(screen.getByText('History compacted')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('History compacted')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"external:diff","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"external:motion/mini","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.has","kind":"calls","metadata":{"unresolvedName":"expandedMessages.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:overflowStateCache.get","kind":"calls","metadata":{"unresolvedName":"overflowStateCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:overflowStateCache.set","kind":"calls","metadata":{"unresolvedName":"overflowStateCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setIsOverflow","kind":"calls","metadata":{"unresolvedName":"setIsOverflow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:document.fonts?.ready?.then","kind":"calls","metadata":{"unresolvedName":"document.fonts?.ready?.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.add","kind":"calls","metadata":{"unresolvedName":"expandedMessages.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.delete","kind":"calls","metadata":{"unresolvedName":"expandedMessages.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:overflowStateCache.set","kind":"calls","metadata":{"unresolvedName":"overflowStateCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setIsOverflow","kind":"calls","metadata":{"unresolvedName":"setIsOverflow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:measure","kind":"calls","metadata":{"unresolvedName":"measure"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:document.fonts?.ready?.then","kind":"calls","metadata":{"unresolvedName":"document.fonts?.ready?.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","to":"external:Number.parseFloat","kind":"calls","metadata":{"unresolvedName":"Number.parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","to":"external:window.getComputedStyle","kind":"calls","metadata":{"unresolvedName":"window.getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","to":"external:overflowStateCache.set","kind":"calls","metadata":{"unresolvedName":"overflowStateCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:measure","to":"symbol-name:setIsOverflow","kind":"calls","metadata":{"unresolvedName":"setIsOverflow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.add","kind":"calls","metadata":{"unresolvedName":"expandedMessages.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.delete","kind":"calls","metadata":{"unresolvedName":"expandedMessages.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.add","kind":"calls","metadata":{"unresolvedName":"expandedMessages.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:expandedMessages.delete","kind":"calls","metadata":{"unresolvedName":"expandedMessages.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setIsForking","kind":"calls","metadata":{"unresolvedName":"setIsForking"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:onFork","kind":"calls","metadata":{"unresolvedName":"onFork"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:handleFork","kind":"calls","metadata":{"unresolvedName":"handleFork"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setIsForking","kind":"calls","metadata":{"unresolvedName":"setIsForking"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:onFork","kind":"calls","metadata":{"unresolvedName":"onFork"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","kind":"calls","metadata":{"unresolvedName":"useEntryGrowAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts.filter","kind":"calls","metadata":{"unresolvedName":"parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:textParts.map(p => p.text).join","kind":"calls","metadata":{"unresolvedName":"textParts.map(p => p.text).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:textParts.map","kind":"calls","metadata":{"unresolvedName":"textParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:fileParts.map","kind":"calls","metadata":{"unresolvedName":"fileParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:agentParts.map","kind":"calls","metadata":{"unresolvedName":"agentParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setShowSystemContext","kind":"calls","metadata":{"unresolvedName":"setShowSystemContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:syntheticParts.map","kind":"calls","metadata":{"unresolvedName":"syntheticParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:compactionParts.map","kind":"calls","metadata":{"unresolvedName":"compactionParts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:onUndo","kind":"calls","metadata":{"unresolvedName":"onUndo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:useEntryGrowAnimation","kind":"calls","metadata":{"unresolvedName":"useEntryGrowAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:onEnsureParts","kind":"calls","metadata":{"unresolvedName":"onEnsureParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","kind":"calls","metadata":{"unresolvedName":"groupPartsForRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:ended.add","kind":"calls","metadata":{"unresolvedName":"ended.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts\n .filter","kind":"calls","metadata":{"unresolvedName":"parts\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:fullText.trim","kind":"calls","metadata":{"unresolvedName":"fullText.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts.some","kind":"calls","metadata":{"unresolvedName":"parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:renderItems.map","kind":"calls","metadata":{"unresolvedName":"renderItems.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:renderItems.findLastIndex","kind":"calls","metadata":{"unresolvedName":"renderItems.findLastIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:endedReasoningIds.has","kind":"calls","metadata":{"unresolvedName":"endedReasoningIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"calls","metadata":{"unresolvedName":"formatDetailedDateTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"calls","metadata":{"unresolvedName":"formatCompletedAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:onEnsureParts","kind":"calls","metadata":{"unresolvedName":"onEnsureParts"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:ended.add","kind":"calls","metadata":{"unresolvedName":"ended.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:renderItems.findLastIndex","kind":"calls","metadata":{"unresolvedName":"renderItems.findLastIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:endedReasoningIds.has","kind":"calls","metadata":{"unresolvedName":"endedReasoningIds.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool","to":"external:READABLE_TOOL_PATTERNS.test","kind":"calls","metadata":{"unresolvedName":"READABLE_TOOL_PATTERNS.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isReadableTool","to":"external:toolName.toLowerCase","kind":"calls","metadata":{"unresolvedName":"toolName.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"useInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts.some","kind":"calls","metadata":{"unresolvedName":"parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:getTaskChildSessionId","kind":"calls","metadata":{"unresolvedName":"getTaskChildSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findPermissionRequestForTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findQuestionRequestForTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts.filter","kind":"calls","metadata":{"unresolvedName":"parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","kind":"calls","metadata":{"unresolvedName":"buildDescriptiveToolStepsSummary"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"calls","metadata":{"unresolvedName":"extractToolData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","kind":"calls","metadata":{"unresolvedName":"computePartDiffStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:isReadableTool","kind":"calls","metadata":{"unresolvedName":"isReadableTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:stepsSummary?.map","kind":"calls","metadata":{"unresolvedName":"stepsSummary?.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"external:parts.map","kind":"calls","metadata":{"unresolvedName":"parts.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:getTaskChildSessionId","kind":"calls","metadata":{"unresolvedName":"getTaskChildSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findPermissionRequestForTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findQuestionRequestForTool"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"calls","metadata":{"unresolvedName":"extractToolData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","kind":"calls","metadata":{"unresolvedName":"computePartDiffStats"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","to":"external:(total / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(total / 1000).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","kind":"calls","metadata":{"unresolvedName":"getToolSummaryCategory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:doneMap.has","kind":"calls","metadata":{"unresolvedName":"doneMap.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:categoryOrder.push","kind":"calls","metadata":{"unresolvedName":"categoryOrder.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:doneMap.set","kind":"calls","metadata":{"unresolvedName":"doneMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:failedMap.set","kind":"calls","metadata":{"unresolvedName":"failedMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:activeMap.set","kind":"calls","metadata":{"unresolvedName":"activeMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:doneMap.get","kind":"calls","metadata":{"unresolvedName":"doneMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:failedMap.get","kind":"calls","metadata":{"unresolvedName":"failedMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isToolPartActive","kind":"calls","metadata":{"unresolvedName":"isToolPartActive"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:activeMap.get","kind":"calls","metadata":{"unresolvedName":"activeMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:categoryOrder.filter","kind":"calls","metadata":{"unresolvedName":"categoryOrder.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:segments.push","kind":"calls","metadata":{"unresolvedName":"segments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","kind":"calls","metadata":{"unresolvedName":"formatToolSummarySegment"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","kind":"calls","metadata":{"unresolvedName":"pushFinishedSegments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:finishedCategories.slice","kind":"calls","metadata":{"unresolvedName":"finishedCategories.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:finishedCategories\n .slice(MAX_CATEGORIES)\n .reduce","kind":"calls","metadata":{"unresolvedName":"finishedCategories\n .slice(MAX_CATEGORIES)\n .reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:finishedCategories\n .slice","kind":"calls","metadata":{"unresolvedName":"finishedCategories\n .slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:seg.text.charAt(0).toLowerCase","kind":"calls","metadata":{"unresolvedName":"seg.text.charAt(0).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:seg.text.charAt","kind":"calls","metadata":{"unresolvedName":"seg.text.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:buildDescriptiveToolStepsSummary","to":"external:seg.text.slice","kind":"calls","metadata":{"unresolvedName":"seg.text.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","to":"external:doneMap.get","kind":"calls","metadata":{"unresolvedName":"doneMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","to":"external:failedMap.get","kind":"calls","metadata":{"unresolvedName":"failedMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","to":"external:segments.push","kind":"calls","metadata":{"unresolvedName":"segments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","kind":"calls","metadata":{"unresolvedName":"formatToolSummarySegment"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:pushFinishedSegments","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","to":"external:phase.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"phase.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","to":"external:phase.charAt","kind":"calls","metadata":{"unresolvedName":"phase.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","to":"external:phase.slice","kind":"calls","metadata":{"unresolvedName":"phase.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatToolSummarySegment","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","to":"external:toolName.toLowerCase","kind":"calls","metadata":{"unresolvedName":"toolName.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getToolSummaryCategory","to":"external:lower.includes","kind":"calls","metadata":{"unresolvedName":"lower.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isToolPartActive","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:isToolPartActive","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getTaskChildSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getTaskChildSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:getTaskChildSessionId","to":"external:part.tool.toLowerCase","kind":"calls","metadata":{"unresolvedName":"part.tool.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:computePartDiffStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats","kind":"calls","metadata":{"unresolvedName":"diffPairStats"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:diffPairStats","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"calls","metadata":{"unresolvedName":"isVisibleReasoningPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"calls","metadata":{"unresolvedName":"isVisibleReasoningPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isToolPart","kind":"calls","metadata":{"unresolvedName":"isToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"external:toolGroup.push","kind":"calls","metadata":{"unresolvedName":"toolGroup.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:hasMoreToolsAhead","kind":"calls","metadata":{"unresolvedName":"hasMoreToolsAhead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:groupPartsForRender","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup","kind":"calls","metadata":{"unresolvedName":"flushToolGroup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:flushToolGroup","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromFilePart","kind":"calls","metadata":{"unresolvedName":"fromFilePart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromAgentPart","kind":"calls","metadata":{"unresolvedName":"fromAgentPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/AttachmentPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/utils.ts:fromTextPart","kind":"calls","metadata":{"unresolvedName":"fromTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/CodeBlock.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo","kind":"calls","metadata":{"unresolvedName":"getErrorInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/MessageErrorView.tsx:getErrorInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByText('Thinking...')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Thinking...')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.queryByTestId","kind":"calls","metadata":{"unresolvedName":"screen.queryByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByTestId('markdown-content')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('markdown-content')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.queryByRole('button')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getAllByText('short').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('short').length).toBeGreaterThan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { expanded: true })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByText('Thinking...')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Thinking...')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('thinking through steps...').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByTestId('markdown-content')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.queryByTestId","kind":"calls","metadata":{"unresolvedName":"screen.queryByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getByTestId('markdown-content')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('markdown-content')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.queryByRole('button')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('button')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:expect(screen.getAllByText('short').length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText('short').length).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.test.tsx:","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/MarkdownRenderer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:rawText.trim","kind":"calls","metadata":{"unresolvedName":"rawText.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:(displayText || '').replace(/\\s+/g, ' ').trim","kind":"calls","metadata":{"unresolvedName":"(displayText || '').replace(/\\s+/g, ' ').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:(displayText || '').replace","kind":"calls","metadata":{"unresolvedName":"(displayText || '').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:(durationMs / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(durationMs / 1000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:/[\\r\\n]/.test","kind":"calls","metadata":{"unresolvedName":"/[\\r\\n]/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setSummaryOverflow","kind":"calls","metadata":{"unresolvedName":"setSummaryOverflow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:measureSummaryOverflow","kind":"calls","metadata":{"unresolvedName":"measureSummaryOverflow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:fontsReady.then(() => measureSummaryOverflow()).catch","kind":"calls","metadata":{"unresolvedName":"fontsReady.then(() => measureSummaryOverflow()).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:fontsReady.then","kind":"calls","metadata":{"unresolvedName":"fontsReady.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:ro?.disconnect","kind":"calls","metadata":{"unresolvedName":"ro?.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:(durationMs / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(durationMs / 1000).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setSummaryOverflow","kind":"calls","metadata":{"unresolvedName":"setSummaryOverflow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:measureSummaryOverflow","kind":"calls","metadata":{"unresolvedName":"measureSummaryOverflow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:fontsReady.then(() => measureSummaryOverflow()).catch","kind":"calls","metadata":{"unresolvedName":"fontsReady.then(() => measureSummaryOverflow()).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:fontsReady.then","kind":"calls","metadata":{"unresolvedName":"fontsReady.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:ro?.disconnect","kind":"calls","metadata":{"unresolvedName":"ro?.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ReasoningPartView.tsx:","to":"external:ro?.disconnect","kind":"calls","metadata":{"unresolvedName":"ro?.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","kind":"calls","metadata":{"unresolvedName":"formatNumber"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"calls","metadata":{"unresolvedName":"formatDetailedDateTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/StepFinishPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"calls","metadata":{"unresolvedName":"formatCompletedAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"calls","metadata":{"unresolvedName":"useSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","kind":"calls","metadata":{"unresolvedName":"useChildSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","kind":"calls","metadata":{"unresolvedName":"findMatchingChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","kind":"calls","metadata":{"unresolvedName":"handleEnter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:handleEnter","kind":"calls","metadata":{"unresolvedName":"handleEnter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","to":"external:childSessions.filter","kind":"calls","metadata":{"unresolvedName":"childSessions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","to":"external:matchingAgent.sort","kind":"calls","metadata":{"unresolvedName":"matchingAgent.sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SubtaskPartView.tsx:findMatchingChildSession","to":"external:childSessions.sort","kind":"calls","metadata":{"unresolvedName":"childSessions.sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(toggle).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(toggle).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(screen.getByText('network timeout')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('network timeout')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(screen.getByText('src/app.tsx')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('src/app.tsx')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(toggle).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(toggle).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(screen.getByText('network timeout')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('network timeout')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(toggle).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(toggle).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:expect(screen.getByText('src/app.tsx')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('src/app.tsx')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"external:new Date(time.created).toLocaleTimeString","kind":"calls","metadata":{"unresolvedName":"new Date(time.created).toLocaleTimeString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"external:hash.slice","kind":"calls","metadata":{"unresolvedName":"hash.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/SystemPartViews.tsx:","to":"external:files.map","kind":"calls","metadata":{"unresolvedName":"files.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/TextPartView.tsx:","to":"external:displayText.trim","kind":"calls","metadata":{"unresolvedName":"displayText.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.setSystemTime","kind":"calls","metadata":{"unresolvedName":"vi.setSystemTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"calls","metadata":{"unresolvedName":"createRunningToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('Running')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Running')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('2.5s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2.5s')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('3.0s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('3.0s')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('3.5s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('3.5s')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('0ms')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('0ms')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('123ms')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('123ms')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.setSystemTime","kind":"calls","metadata":{"unresolvedName":"vi.setSystemTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"calls","metadata":{"unresolvedName":"createRunningToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('Running')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('Running')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('2.5s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('2.5s')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('3.0s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('3.0s')).toBeInTheDocument"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"calls","metadata":{"unresolvedName":"createRunningToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('3.5s')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('3.5s')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"calls","metadata":{"unresolvedName":"createRunningToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('0ms')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('0ms')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:getActiveCalibratedNowMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveCalibratedNowMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:createRunningToolPart","kind":"calls","metadata":{"unresolvedName":"createRunningToolPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:expect(screen.getByText('123ms')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('123ms')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"external:diff","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlinePermission.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineQuestion.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getInputDescription","kind":"calls","metadata":{"unresolvedName":"getInputDescription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","kind":"calls","metadata":{"unresolvedName":"useNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"external:serverStore.getActiveCalibratedNow","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:useInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"useInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:getTaskChildSessionId","kind":"calls","metadata":{"unresolvedName":"getTaskChildSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findPermissionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findPermissionRequestForTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/InlineToolRequestContext.tsx:findQuestionRequestForTool","kind":"calls","metadata":{"unresolvedName":"findQuestionRequestForTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setCachedPermissionRequest","kind":"calls","metadata":{"unresolvedName":"setCachedPermissionRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"external:toolName.toLowerCase","kind":"calls","metadata":{"unresolvedName":"toolName.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:isReadableTool","kind":"calls","metadata":{"unresolvedName":"isReadableTool"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon","kind":"calls","metadata":{"unresolvedName":"getToolIcon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"calls","metadata":{"unresolvedName":"extractToolData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData","kind":"calls","metadata":{"unresolvedName":"computeDiffStatsFromData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","kind":"calls","metadata":{"unresolvedName":"formatToolName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setCachedPermissionRequest","kind":"calls","metadata":{"unresolvedName":"setCachedPermissionRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setCachedPermissionRequest","kind":"calls","metadata":{"unresolvedName":"setCachedPermissionRequest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setCachedPermissionRequest","kind":"calls","metadata":{"unresolvedName":"setCachedPermissionRequest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool","to":"external:READABLE_TOOL_PATTERNS.test","kind":"calls","metadata":{"unresolvedName":"READABLE_TOOL_PATTERNS.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:isReadableTool","to":"external:toolName.toLowerCase","kind":"calls","metadata":{"unresolvedName":"toolName.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffStatsFromData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair","kind":"calls","metadata":{"unresolvedName":"computeDiffPair"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:computeDiffPair","to":"symbol-name:diffLines","kind":"calls","metadata":{"unresolvedName":"diffLines"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"external:tool.toLowerCase","kind":"calls","metadata":{"unresolvedName":"tool.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"external:lowerTool.includes","kind":"calls","metadata":{"unresolvedName":"lowerTool.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos","kind":"calls","metadata":{"unresolvedName":"hasTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"calls","metadata":{"unresolvedName":"getToolConfig"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getTaskChildSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getTaskChildSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getTaskChildSessionId","to":"external:part.tool.toLowerCase","kind":"calls","metadata":{"unresolvedName":"part.tool.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getInputDescription","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.tsx:getInputDescription","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"external:lucide-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"external:lucide-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:wrapTool","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:wrapTool","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect(extracted.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extracted.files).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect(extracted.diagnostics).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extracted.diagnostics).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect(extracted.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extracted.files).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.test.ts:","to":"external:expect(extracted.diagnostics).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(extracted.diagnostics).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","to":"external:name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","to":"external:keywords.some","kind":"calls","metadata":{"unresolvedName":"keywords.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","to":"external:lower.includes","kind":"calls","metadata":{"unresolvedName":"lower.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","to":"external:name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:","to":"external:names.some","kind":"calls","metadata":{"unresolvedName":"names.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:(metadata.files as MetadataFileEntry[]).map","kind":"calls","metadata":{"unresolvedName":"(metadata.files as MetadataFileEntry[]).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:diagnostics.push","kind":"calls","metadata":{"unresolvedName":"diagnostics.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:file.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"file.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:file.split","kind":"calls","metadata":{"unresolvedName":"file.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:diagnostics.filter","kind":"calls","metadata":{"unresolvedName":"diagnostics.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:result.output.trim","kind":"calls","metadata":{"unresolvedName":"result.output.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:trimmed.startsWith","kind":"calls","metadata":{"unresolvedName":"trimmed.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","to":"external:trimmed.endsWith","kind":"calls","metadata":{"unresolvedName":"trimmed.endsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:bashExtractData","to":"external:cwd.trim","kind":"calls","metadata":{"unresolvedName":"cwd.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:readExtractData","to":"external:str.match","kind":"calls","metadata":{"unresolvedName":"str.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:writeExtractData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:writeExtractData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:writeExtractData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:editExtractData","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","to":"external:toolRegistry.find","kind":"calls","metadata":{"unresolvedName":"toolRegistry.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","to":"external:config.match","kind":"calls","metadata":{"unresolvedName":"config.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolIcon","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"calls","metadata":{"unresolvedName":"getToolConfig"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:getToolConfig","kind":"calls","metadata":{"unresolvedName":"getToolConfig"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","to":"external:config.extractData","kind":"calls","metadata":{"unresolvedName":"config.extractData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:extractToolData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/registry.tsx:defaultExtractData","kind":"calls","metadata":{"unresolvedName":"defaultExtractData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/FullscreenViewer.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"external:data.input?.trim","kind":"calls","metadata":{"unresolvedName":"data.input?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"external:data.output?.trim","kind":"calls","metadata":{"unresolvedName":"data.output?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"external:data.cwd?.trim","kind":"calls","metadata":{"unresolvedName":"data.cwd?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"calls","metadata":{"unresolvedName":"useResponsiveMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","kind":"calls","metadata":{"unresolvedName":"parseAnsi"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"symbol-name:setFullscreenOpen","kind":"calls","metadata":{"unresolvedName":"setFullscreenOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:BashRenderer","to":"symbol-name:surface","kind":"calls","metadata":{"unresolvedName":"surface"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","kind":"calls","metadata":{"unresolvedName":"parseAnsi"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalSurface","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalSurface","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","kind":"calls","metadata":{"unresolvedName":"truncatePromptPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:WorkingDirectoryPrompt","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:path.includes","kind":"calls","metadata":{"unresolvedName":"path.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:path.split(/[\\\\/]+/).filter","kind":"calls","metadata":{"unresolvedName":"path.split(/[\\\\/]+/).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:path.split","kind":"calls","metadata":{"unresolvedName":"path.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:path.startsWith","kind":"calls","metadata":{"unresolvedName":"path.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:segments.slice(-2).join","kind":"calls","metadata":{"unresolvedName":"segments.slice(-2).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:segments.slice","kind":"calls","metadata":{"unresolvedName":"segments.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:truncatePromptPath","to":"external:root.endsWith","kind":"calls","metadata":{"unresolvedName":"root.endsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:ClickToCopyCommand","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"calls","metadata":{"unresolvedName":"useSyntaxHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","to":"external:tokens.map","kind":"calls","metadata":{"unresolvedName":"tokens.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:HighlightedCommand","to":"external:line.map","kind":"calls","metadata":{"unresolvedName":"line.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalCursor","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:TerminalCursor","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:AnsiOutput","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:AnsiOutput","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:AnsiOutput","to":"external:segments.map","kind":"calls","metadata":{"unresolvedName":"segments.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/BashRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","to":"external:data.input?.trim","kind":"calls","metadata":{"unresolvedName":"data.input?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","to":"external:data.output?.trim","kind":"calls","metadata":{"unresolvedName":"data.output?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DefaultRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","to":"external:data.files.map","kind":"calls","metadata":{"unresolvedName":"data.files.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","kind":"calls","metadata":{"unresolvedName":"formatLabel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:OutputBlock","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:FileResultIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:FileResultIcon","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:FileResultIcon","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"calls","metadata":{"unresolvedName":"getMaterialIconUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","to":"external:diagnostics.filter","kind":"calls","metadata":{"unresolvedName":"diagnostics.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:DiagnosticsBlock","to":"external:diagnostics.map","kind":"calls","metadata":{"unresolvedName":"diagnostics.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:name\r\n .split(/[_-]/)\r\n .map","kind":"calls","metadata":{"unresolvedName":"name\r\n .split(/[_-]/)\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:name\r\n .split","kind":"calls","metadata":{"unresolvedName":"name\r\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:word.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"word.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:word.charAt","kind":"calls","metadata":{"unresolvedName":"word.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:word.slice(1).toLowerCase","kind":"calls","metadata":{"unresolvedName":"word.slice(1).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/DefaultRenderer.tsx:formatLabel","to":"external:word.slice","kind":"calls","metadata":{"unresolvedName":"word.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","to":"external:data.output?.trim","kind":"calls","metadata":{"unresolvedName":"data.output?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","kind":"calls","metadata":{"unresolvedName":"buildQAList"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:QuestionRenderer","to":"external:qaList.map","kind":"calls","metadata":{"unresolvedName":"qaList.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","kind":"calls","metadata":{"unresolvedName":"buildQAList"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","to":"external:qa.options.map","kind":"calls","metadata":{"unresolvedName":"qa.options.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","to":"external:qa.answers.includes","kind":"calls","metadata":{"unresolvedName":"qa.answers.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","to":"external:qa.answers\r\n .filter","kind":"calls","metadata":{"unresolvedName":"qa.answers\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:AnsweredQuestion","to":"external:qa.options.some","kind":"calls","metadata":{"unresolvedName":"qa.options.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:","to":"external:qa.answers.includes","kind":"calls","metadata":{"unresolvedName":"qa.answers.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","kind":"calls","metadata":{"unresolvedName":"extractQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","kind":"calls","metadata":{"unresolvedName":"extractMetadataAnswers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"external:questions.map","kind":"calls","metadata":{"unresolvedName":"questions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","kind":"calls","metadata":{"unresolvedName":"parseAnswersFromOutput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"external:answerMap.get","kind":"calls","metadata":{"unresolvedName":"answerMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"external:pairs.push","kind":"calls","metadata":{"unresolvedName":"pairs.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:buildQAList","to":"external:answers.map","kind":"calls","metadata":{"unresolvedName":"answers.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","to":"external:raw.map","kind":"calls","metadata":{"unresolvedName":"raw.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractQuestions","to":"external:q.options.map","kind":"calls","metadata":{"unresolvedName":"q.options.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","to":"external:answers.every","kind":"calls","metadata":{"unresolvedName":"answers.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:extractMetadataAnswers","to":"external:a.every","kind":"calls","metadata":{"unresolvedName":"a.every"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:regex.exec","kind":"calls","metadata":{"unresolvedName":"regex.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:rawAnswer\r\n .split(', ')\r\n .map(s => s.trim())\r\n .filter","kind":"calls","metadata":{"unresolvedName":"rawAnswer\r\n .split(', ')\r\n .map(s => s.trim())\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:rawAnswer\r\n .split(', ')\r\n .map","kind":"calls","metadata":{"unresolvedName":"rawAnswer\r\n .split(', ')\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:rawAnswer\r\n .split","kind":"calls","metadata":{"unresolvedName":"rawAnswer\r\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:s.trim","kind":"calls","metadata":{"unresolvedName":"s.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/QuestionRenderer.tsx:parseAnswersFromOutput","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"calls","metadata":{"unresolvedName":"useSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"calls","metadata":{"unresolvedName":"abortSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"calls","metadata":{"unresolvedName":"abortSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:setExpanded","kind":"calls","metadata":{"unresolvedName":"setExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/SessionNavigationContext.tsx:useSessionNavigation","kind":"calls","metadata":{"unresolvedName":"useSessionNavigation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:childSessionStore.getSessionInfo","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"calls","metadata":{"unresolvedName":"useResponsiveMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:getSessionMessages(sessionId, 20)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(sessionId, 20)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messages.filter","kind":"calls","metadata":{"unresolvedName":"messages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:msg.parts.some","kind":"calls","metadata":{"unresolvedName":"msg.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:visibleMessages.map","kind":"calls","metadata":{"unresolvedName":"visibleMessages.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:getSessionMessages(sessionId, 20)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(sessionId, 20)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:parts.filter","kind":"calls","metadata":{"unresolvedName":"parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:p.text?.trim","kind":"calls","metadata":{"unresolvedName":"p.text?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:textParts\r\n .map(p => p.text)\r\n .join('\\n')\r\n .trim","kind":"calls","metadata":{"unresolvedName":"textParts\r\n .map(p => p.text)\r\n .join('\\n')\r\n .trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:textParts\r\n .map(p => p.text)\r\n .join","kind":"calls","metadata":{"unresolvedName":"textParts\r\n .map(p => p.text)\r\n .join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:textParts\r\n .map","kind":"calls","metadata":{"unresolvedName":"textParts\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:textContent.slice","kind":"calls","metadata":{"unresolvedName":"textContent.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:toolParts.map","kind":"calls","metadata":{"unresolvedName":"toolParts.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","kind":"calls","metadata":{"unresolvedName":"formatToolName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:","to":"external:title.slice","kind":"calls","metadata":{"unresolvedName":"title.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:MessageSkeleton","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TaskRenderer.tsx:MessageSkeleton","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoRenderer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoRenderer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoRenderer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos","kind":"calls","metadata":{"unresolvedName":"extractTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"external:todos.filter","kind":"calls","metadata":{"unresolvedName":"todos.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"symbol-name:setCollapsed","kind":"calls","metadata":{"unresolvedName":"setCollapsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"external:todos.map","kind":"calls","metadata":{"unresolvedName":"todos.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:TodoList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:getTodoIcon","kind":"calls","metadata":{"unresolvedName":"getTodoIcon"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:getTodoIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/TodoRenderer.tsx:getTodoIcon","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:hasTodos","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/renderers/todoUtils.ts:extractTodos","kind":"calls","metadata":{"unresolvedName":"extractTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/tools/types.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onSelectProject).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onSelectProject).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:within(dialog).getByRole","kind":"calls","metadata":{"unresolvedName":"within(dialog).getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onRemoveProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRemoveProject).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(projectRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(projectRow).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onSelectProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelectProject).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onSelectProject).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onSelectProject).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:within(dialog).getByRole","kind":"calls","metadata":{"unresolvedName":"within(dialog).getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onRemoveProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRemoveProject).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(projectRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(projectRow).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.test.tsx:","to":"external:expect(onSelectProject).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelectProject).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:dropdownRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:worktree.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:worktree.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:worktree.replace","kind":"calls","metadata":{"unresolvedName":"worktree.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:projects.filter","kind":"calls","metadata":{"unresolvedName":"projects.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getPath","kind":"calls","metadata":{"unresolvedName":"getPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:getDisplayName","kind":"calls","metadata":{"unresolvedName":"getDisplayName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"external:otherProjects.map","kind":"calls","metadata":{"unresolvedName":"otherProjects.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:onAddProject","kind":"calls","metadata":{"unresolvedName":"onAddProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectSelector","to":"symbol-name:onRemoveProject","kind":"calls","metadata":{"unresolvedName":"onRemoveProject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside","to":"external:containerRef.current.contains","kind":"calls","metadata":{"unresolvedName":"containerRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:handleClickOutside","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:dropdownRef.current?.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current?.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:triggerRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"triggerRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:worktree.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:worktree.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"worktree.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:worktree.replace","kind":"calls","metadata":{"unresolvedName":"worktree.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:onSelectProject","kind":"calls","metadata":{"unresolvedName":"onSelectProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:onAddProject","kind":"calls","metadata":{"unresolvedName":"onAddProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:onRemoveProject","kind":"calls","metadata":{"unresolvedName":"onRemoveProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","to":"symbol-name:onRemove","kind":"calls","metadata":{"unresolvedName":"onRemove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:ProjectItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/ProjectSelector.tsx:","to":"symbol-name:onRemove","kind":"calls","metadata":{"unresolvedName":"onRemove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useSessionActiveEntryMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useSessionActiveEntryMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useHasUnreadCompletedNotificationMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHasUnreadCompletedNotificationMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:markSessionNotificationsReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markSessionNotificationsReadMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(markSessionNotificationsReadMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(markSessionNotificationsReadMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(sessionRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(sessionRow).not.toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useSessionActiveEntryMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useSessionActiveEntryMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useHasUnreadCompletedNotificationMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHasUnreadCompletedNotificationMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:markSessionNotificationsReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markSessionNotificationsReadMock.mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(markSessionNotificationsReadMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(markSessionNotificationsReadMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(sessionRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(sessionRow).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(onSelect).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useSessionActiveEntryMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useSessionActiveEntryMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useHasUnreadCompletedNotificationMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHasUnreadCompletedNotificationMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:markSessionNotificationsReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markSessionNotificationsReadMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useSessionActiveEntryMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useSessionActiveEntryMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:useHasUnreadCompletedNotificationMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHasUnreadCompletedNotificationMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:markSessionNotificationsReadMock.mockReset","kind":"calls","metadata":{"unresolvedName":"markSessionNotificationsReadMock.mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-a/i })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole('button', { name: /project-b/i })).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat/sidebar/SessionChildrenSlot.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"calls","metadata":{"unresolvedName":"useInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onLoadMore","kind":"calls","metadata":{"unresolvedName":"onLoadMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"calls","metadata":{"unresolvedName":"groupSessionsByProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:setCollapsedProjectKeys","kind":"calls","metadata":{"unresolvedName":"setCollapsedProjectKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onSearchChange","kind":"calls","metadata":{"unresolvedName":"onSearchChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:projectGroups.map","kind":"calls","metadata":{"unresolvedName":"projectGroups.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:collapsedProjectKeys.has","kind":"calls","metadata":{"unresolvedName":"collapsedProjectKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:toggleProjectGroup","kind":"calls","metadata":{"unresolvedName":"toggleProjectGroup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:group.sessions.map","kind":"calls","metadata":{"unresolvedName":"group.sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:selectedSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onToggleSessionSelection","kind":"calls","metadata":{"unresolvedName":"onToggleSessionSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:inlineChildSessions?.has","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:inlineChildSessions?.get","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionList","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onLoadMore","kind":"calls","metadata":{"unresolvedName":"onLoadMore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:el.addEventListener","kind":"calls","metadata":{"unresolvedName":"el.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:el.removeEventListener","kind":"calls","metadata":{"unresolvedName":"el.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setCollapsedProjectKeys","kind":"calls","metadata":{"unresolvedName":"setCollapsedProjectKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:collapsedProjectKeys.has","kind":"calls","metadata":{"unresolvedName":"collapsedProjectKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:toggleProjectGroup","kind":"calls","metadata":{"unresolvedName":"toggleProjectGroup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:group.sessions.map","kind":"calls","metadata":{"unresolvedName":"group.sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:selectedSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onToggleSessionSelection","kind":"calls","metadata":{"unresolvedName":"onToggleSessionSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:inlineChildSessions?.has","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:inlineChildSessions?.get","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:inlineChildSessions?.get","kind":"calls","metadata":{"unresolvedName":"inlineChildSessions?.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:expandedChildSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"expandedChildSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:selectedSessionIds?.has","kind":"calls","metadata":{"unresolvedName":"selectedSessionIds?.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onToggleSessionSelection","kind":"calls","metadata":{"unresolvedName":"onToggleSessionSelection"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirm"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","kind":"calls","metadata":{"unresolvedName":"useSessionActiveEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","kind":"calls","metadata":{"unresolvedName":"useHasUnreadCompletedNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:editTitle.trim","kind":"calls","metadata":{"unresolvedName":"editTitle.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","kind":"calls","metadata":{"unresolvedName":"handleSaveEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","kind":"calls","metadata":{"unresolvedName":"handleCancelEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:inputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:inputRef.current.select","kind":"calls","metadata":{"unresolvedName":"inputRef.current.select"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:notificationStore.markSessionNotificationsRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markSessionNotificationsRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:onToggleCheck","kind":"calls","metadata":{"unresolvedName":"onToggleCheck"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","kind":"calls","metadata":{"unresolvedName":"formatRelativeTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:session.directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"calls","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:session.directory.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:session.directory.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"session.directory.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:SessionListItem","to":"external:session.directory.replace","kind":"calls","metadata":{"unresolvedName":"session.directory.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDelete","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleStartEdit","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","to":"external:editTitle.trim","kind":"calls","metadata":{"unresolvedName":"editTitle.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","to":"symbol-name:setEditTitle","kind":"calls","metadata":{"unresolvedName":"setEditTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleSaveEdit","kind":"calls","metadata":{"unresolvedName":"handleSaveEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleKeyDown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCancelEdit","kind":"calls","metadata":{"unresolvedName":"handleCancelEdit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside","to":"external:itemRef.current.contains","kind":"calls","metadata":{"unresolvedName":"itemRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClickOutside","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:inputRef.current.focus","kind":"calls","metadata":{"unresolvedName":"inputRef.current.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:inputRef.current.select","kind":"calls","metadata":{"unresolvedName":"inputRef.current.select"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","to":"symbol-name:setShowActions","kind":"calls","metadata":{"unresolvedName":"setShowActions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","to":"external:notificationStore.markSessionNotificationsRead","kind":"calls","metadata":{"unresolvedName":"notificationStore.markSessionNotificationsRead"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleClick","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckClick","to":"symbol-name:onToggleCheck","kind":"calls","metadata":{"unresolvedName":"onToggleCheck"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleCheckMouseDown","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:handleDragStart","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:","to":"symbol-name:handleClick","kind":"calls","metadata":{"unresolvedName":"handleClick"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:LoadingSpinner","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/SessionList.tsx:LoadingSpinner","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"calls","metadata":{"unresolvedName":"getProjectNameFromDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(getProjectNameFromDirectory('')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"calls","metadata":{"unresolvedName":"groupSessionsByProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"calls","metadata":{"unresolvedName":"session"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups.map(group => group.name)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups.map(group => group.name)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups.map","kind":"calls","metadata":{"unresolvedName":"groups.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[0].sessions.map(item => item.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups[0].sessions.map(item => item.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups[0].sessions.map","kind":"calls","metadata":{"unresolvedName":"groups[0].sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[1].sessions.map(item => item.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups[1].sessions.map(item => item.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups[1].sessions.map","kind":"calls","metadata":{"unresolvedName":"groups[1].sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(groups).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(groups[0].name).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"calls","metadata":{"unresolvedName":"getProjectNameFromDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('/home/user/work/my-app')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(getProjectNameFromDirectory('')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getProjectNameFromDirectory('')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"calls","metadata":{"unresolvedName":"groupSessionsByProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"calls","metadata":{"unresolvedName":"session"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups.map(group => group.name)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups.map(group => group.name)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups.map","kind":"calls","metadata":{"unresolvedName":"groups.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[0].sessions.map(item => item.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups[0].sessions.map(item => item.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups[0].sessions.map","kind":"calls","metadata":{"unresolvedName":"groups[0].sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[1].sessions.map(item => item.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups[1].sessions.map(item => item.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups[1].sessions.map","kind":"calls","metadata":{"unresolvedName":"groups[1].sessions.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"calls","metadata":{"unresolvedName":"groupSessionsByProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:session","kind":"calls","metadata":{"unresolvedName":"session"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(groups).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(groups[0].name).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:expect(groups[0].sessions.map(item => item.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(groups[0].sessions.map(item => item.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.test.ts:","to":"external:groups[0].sessions.map","kind":"calls","metadata":{"unresolvedName":"groups[0].sessions.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","to":"external:(directory || 'unknown').replace(/\\\\/g, '/').replace","kind":"calls","metadata":{"unresolvedName":"(directory || 'unknown').replace(/\\\\/g, '/').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","to":"external:(directory || 'unknown').replace","kind":"calls","metadata":{"unresolvedName":"(directory || 'unknown').replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","kind":"calls","metadata":{"unresolvedName":"normalizeProjectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","to":"external:normalized.split('/').filter","kind":"calls","metadata":{"unresolvedName":"normalized.split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","to":"external:normalized.split","kind":"calls","metadata":{"unresolvedName":"normalized.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getUpdatedTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getUpdatedTime","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"calls","metadata":{"unresolvedName":"getProjectNameFromDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","to":"external:haystack.includes","kind":"calls","metadata":{"unresolvedName":"haystack.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","to":"external:search.toLowerCase","kind":"calls","metadata":{"unresolvedName":"search.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:normalizeProjectDirectory","kind":"calls","metadata":{"unresolvedName":"normalizeProjectDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:sessionMatchesSearch","kind":"calls","metadata":{"unresolvedName":"sessionMatchesSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:search.trim","kind":"calls","metadata":{"unresolvedName":"search.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getUpdatedTime","kind":"calls","metadata":{"unresolvedName":"getUpdatedTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:groups.get","kind":"calls","metadata":{"unresolvedName":"groups.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:existing.sessions.push","kind":"calls","metadata":{"unresolvedName":"existing.sessions.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:groups.set","kind":"calls","metadata":{"unresolvedName":"groups.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:getProjectNameFromDirectory","kind":"calls","metadata":{"unresolvedName":"getProjectNameFromDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:Array.from(groups.values())\n .map","kind":"calls","metadata":{"unresolvedName":"Array.from(groups.values())\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:groups.values","kind":"calls","metadata":{"unresolvedName":"groups.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:[...group.sessions].sort","kind":"calls","metadata":{"unresolvedName":"[...group.sessions].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/sessions/sessionProjectGroups.ts:groupSessionsByProject","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","to":"external:import('@tauri-apps/plugin-opener')\r\n .then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-opener')\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","to":"external:mod.openUrl","kind":"calls","metadata":{"unresolvedName":"mod.openUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"calls","metadata":{"unresolvedName":"useUpdateStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:new Date(latestRelease.publishedAt).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(latestRelease.publishedAt).toLocaleString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:updateStore.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"updateStore.checkForUpdates"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:updateStore.hideToastForCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.hideToastForCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","kind":"calls","metadata":{"unresolvedName":"openExternalUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:setBackupError","kind":"calls","metadata":{"unresolvedName":"setBackupError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"symbol-name:setBackupBusy","kind":"calls","metadata":{"unresolvedName":"setBackupBusy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","kind":"calls","metadata":{"unresolvedName":"previewBackupMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:new Date(createdAt).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(createdAt).toLocaleString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:AboutSettings","to":"external:window.location.reload","kind":"calls","metadata":{"unresolvedName":"window.location.reload"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:updateStore.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"updateStore.checkForUpdates"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:updateStore.hideToastForCurrentVersion","kind":"calls","metadata":{"unresolvedName":"updateStore.hideToastForCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:openExternalUrl","kind":"calls","metadata":{"unresolvedName":"openExternalUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"symbol-name:setBackupError","kind":"calls","metadata":{"unresolvedName":"setBackupError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"symbol-name:setBackupBusy","kind":"calls","metadata":{"unresolvedName":"setBackupBusy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"symbol-name:setBackupError","kind":"calls","metadata":{"unresolvedName":"setBackupError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"symbol-name:setBackupError","kind":"calls","metadata":{"unresolvedName":"setBackupError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"symbol-name:setBackupBusy","kind":"calls","metadata":{"unresolvedName":"setBackupBusy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","kind":"calls","metadata":{"unresolvedName":"previewBackupMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:new Date(createdAt).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(createdAt).toLocaleString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx:","to":"external:window.location.reload","kind":"calls","metadata":{"unresolvedName":"window.location.reload"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"symbol-name:setAutoApprove","kind":"calls","metadata":{"unresolvedName":"setAutoApprove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:autoApproveStore.setEnabled","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.setEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:autoApproveStore.clearAllRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.clearAllRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","kind":"calls","metadata":{"unresolvedName":"setQueueFollowupMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setQueueFollowupMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setQueueFollowupMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"setDescriptiveToolSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"themeStore.setDescriptiveToolSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"setInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"themeStore.setInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"setCompactInlinePermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompactInlinePermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"setToolCardStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setToolCardStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"setImmersiveMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"external:themeStore.setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setImmersiveMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:AgentSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","kind":"calls","metadata":{"unresolvedName":"handleToolCardStyleChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","to":"symbol-name:setAutoApprove","kind":"calls","metadata":{"unresolvedName":"setAutoApprove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","to":"external:autoApproveStore.setEnabled","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.setEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleAutoApprove","to":"external:autoApproveStore.clearAllRules","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.clearAllRules"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","kind":"calls","metadata":{"unresolvedName":"setQueueFollowupMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleQueueFollowupMessagesToggle","to":"external:themeStore.setQueueFollowupMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setQueueFollowupMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"setDescriptiveToolSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleDescriptiveToolStepsToggle","to":"external:themeStore.setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"themeStore.setDescriptiveToolSteps"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"setInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleInlineToolRequestsToggle","to":"external:themeStore.setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"themeStore.setInlineToolRequests"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"setCompactInlinePermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleCompactInlinePermissionToggle","to":"external:themeStore.setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompactInlinePermission"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"setToolCardStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleToolCardStyleChange","to":"external:themeStore.setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setToolCardStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"setImmersiveMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"external:themeStore.setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setImmersiveMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"setInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"setDescriptiveToolSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"setToolCardStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx:handleImmersiveModeToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"setCompactInlinePermission"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:toCssHsl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:toCssHsl","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"calls","metadata":{"unresolvedName":"getThemePreset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:toCssHsl","kind":"calls","metadata":{"unresolvedName":"toCssHsl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","to":"external:name\n .trim()\n .replace(/[<>:\"/\\\\|?*]/g, '')\n .replace","kind":"calls","metadata":{"unresolvedName":"name\n .trim()\n .replace(/[<>:\"/\\\\|?*]/g, '')\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","to":"external:name\n .trim()\n .replace","kind":"calls","metadata":{"unresolvedName":"name\n .trim()\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","to":"external:name\n .trim","kind":"calls","metadata":{"unresolvedName":"name\n .trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:PresetCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:PresetCard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:PresetCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getPresetPreviewColors","kind":"calls","metadata":{"unresolvedName":"getPresetPreviewColors"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:FontScaleSlider","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:onImportFile","kind":"calls","metadata":{"unresolvedName":"onImportFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"external:reader.readAsText","kind":"calls","metadata":{"unresolvedName":"reader.readAsText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"external:localValue.trim","kind":"calls","metadata":{"unresolvedName":"localValue.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:onLoadTemplate","kind":"calls","metadata":{"unresolvedName":"onLoadTemplate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:handleChange","kind":"calls","metadata":{"unresolvedName":"handleChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:CustomCSSEditor","to":"symbol-name:onClear","kind":"calls","metadata":{"unresolvedName":"onClear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleChange","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","to":"symbol-name:onImportFile","kind":"calls","metadata":{"unresolvedName":"onImportFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleFileImport","to":"external:reader.readAsText","kind":"calls","metadata":{"unresolvedName":"reader.readAsText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:onImportFile","kind":"calls","metadata":{"unresolvedName":"onImportFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:onLoadTemplate","kind":"calls","metadata":{"unresolvedName":"onLoadTemplate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:setLocalValue","kind":"calls","metadata":{"unresolvedName":"setLocalValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"symbol-name:onClear","kind":"calls","metadata":{"unresolvedName":"onClear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:SavedSnippetItem","to":"external:snippet.css.slice","kind":"calls","metadata":{"unresolvedName":"snippet.css.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:customCSSSnippets.find","kind":"calls","metadata":{"unresolvedName":"customCSSSnippets.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"clearActiveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"calls","metadata":{"unresolvedName":"setCustomCSS"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:snippetName.trim","kind":"calls","metadata":{"unresolvedName":"snippetName.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:customCSS.trim","kind":"calls","metadata":{"unresolvedName":"customCSS.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"saveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"updateCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"deleteCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","kind":"calls","metadata":{"unresolvedName":"getSnippetFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:availablePresets.map","kind":"calls","metadata":{"unresolvedName":"availablePresets.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"symbol-name:setPresetWithAnimation","kind":"calls","metadata":{"unresolvedName":"setPresetWithAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"symbol-name:setSnippetDraft","kind":"calls","metadata":{"unresolvedName":"setSnippetDraft"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:customCSSSnippets.map","kind":"calls","metadata":{"unresolvedName":"customCSSSnippets.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"applyCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","kind":"calls","metadata":{"unresolvedName":"handleExportSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","kind":"calls","metadata":{"unresolvedName":"handleDeleteSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"symbol-name:setThemeWithAnimation","kind":"calls","metadata":{"unresolvedName":"setThemeWithAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","kind":"calls","metadata":{"unresolvedName":"setGlassEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","kind":"calls","metadata":{"unresolvedName":"setUIFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","kind":"calls","metadata":{"unresolvedName":"setCodeFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:AppearanceSettings","to":"external:i18n.changeLanguage","kind":"calls","metadata":{"unresolvedName":"i18n.changeLanguage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"clearActiveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleImportCSS","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"calls","metadata":{"unresolvedName":"setCustomCSS"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","to":"external:snippetName.trim","kind":"calls","metadata":{"unresolvedName":"snippetName.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","to":"external:customCSS.trim","kind":"calls","metadata":{"unresolvedName":"customCSS.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleSaveNewSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"saveCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet","to":"external:snippetName.trim","kind":"calls","metadata":{"unresolvedName":"snippetName.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleRenameSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"updateCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleUpdateSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleUpdateSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleUpdateSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"updateCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleDeleteSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"deleteCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:handleExportSnippet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:getSnippetFileName","kind":"calls","metadata":{"unresolvedName":"getSnippetFileName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"clearActiveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"calls","metadata":{"unresolvedName":"setCustomCSS"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","kind":"calls","metadata":{"unresolvedName":"setUIFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","kind":"calls","metadata":{"unresolvedName":"setCodeFontScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","kind":"calls","metadata":{"unresolvedName":"usePathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"calls","metadata":{"unresolvedName":"useIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"setCollapseUserMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"external:themeStore.setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setCollapseUserMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"setReasoningDisplayMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"external:themeStore.setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setReasoningDisplayMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","kind":"calls","metadata":{"unresolvedName":"setPathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","kind":"calls","metadata":{"unresolvedName":"handleReasoningDisplayModeChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"setStepFinishDisplay"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"external:themeStore.setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"setCompletedAtFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:ChatSettings","to":"external:themeStore.setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompletedAtFormat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"setCollapseUserMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleCollapseToggle","to":"external:themeStore.setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setCollapseUserMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"setReasoningDisplayMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:handleReasoningDisplayModeChange","to":"external:themeStore.setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setReasoningDisplayMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"setStepFinishDisplay"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"external:themeStore.setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"setStepFinishDisplay"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"external:themeStore.setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"setCompletedAtFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx:","to":"external:themeStore.setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompletedAtFormat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:useModelsMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useModelsMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:useHiddenModelKeysMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHiddenModelKeysMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:setVisibleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setVisibleMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:setManyVisibleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setManyVisibleMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(modelButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(modelButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[0]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[0]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[1]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[1]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(setVisibleMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(setVisibleMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(modelRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(modelRow).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[2]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[2]).toHaveAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:useModelsMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useModelsMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:useHiddenModelKeysMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHiddenModelKeysMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:setVisibleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setVisibleMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:setManyVisibleMock.mockReset","kind":"calls","metadata":{"unresolvedName":"setManyVisibleMock.mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(modelButton).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(modelButton).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[0]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[0]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[1]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[1]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(setVisibleMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(setVisibleMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(modelRow).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(modelRow).not.toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(setVisibleMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(setVisibleMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:useHiddenModelKeysMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useHiddenModelKeysMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[0]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[0]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[1]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[1]).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.test.tsx:","to":"external:expect(switches[2]).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(switches[2]).toHaveAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:formatContext","to":"external:(k / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(k / 1000).toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","kind":"calls","metadata":{"unresolvedName":"useHiddenModelKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:models.reduce","kind":"calls","metadata":{"unresolvedName":"models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:hiddenModelKeySet.has","kind":"calls","metadata":{"unresolvedName":"hiddenModelKeySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:query.trim().toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.trim().toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:query.trim","kind":"calls","metadata":{"unresolvedName":"query.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:normalize(model.name).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.name).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"calls","metadata":{"unresolvedName":"normalize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:normalize(model.id).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.id).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:normalize(model.family).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.family).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:normalize(model.providerName).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.providerName).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"calls","metadata":{"unresolvedName":"groupModelsByProvider"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"symbol-name:setQuery","kind":"calls","metadata":{"unresolvedName":"setQuery"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:groups.map","kind":"calls","metadata":{"unresolvedName":"groups.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:providerModels.filter","kind":"calls","metadata":{"unresolvedName":"providerModels.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:modelVisibilityStore.setManyVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setManyVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:group.models.map","kind":"calls","metadata":{"unresolvedName":"group.models.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"symbol-name:formatContext","kind":"calls","metadata":{"unresolvedName":"formatContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:ModelsSettings","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:query.trim().toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.trim().toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:query.trim","kind":"calls","metadata":{"unresolvedName":"query.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:value.toLowerCase","kind":"calls","metadata":{"unresolvedName":"value.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:normalize(model.name).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.name).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"calls","metadata":{"unresolvedName":"normalize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:normalize(model.id).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.id).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:normalize(model.family).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.family).includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:normalize(model.providerName).includes","kind":"calls","metadata":{"unresolvedName":"normalize(model.providerName).includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:models.filter","kind":"calls","metadata":{"unresolvedName":"models.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:providerModels.filter","kind":"calls","metadata":{"unresolvedName":"providerModels.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:hiddenModelKeySet.has","kind":"calls","metadata":{"unresolvedName":"hiddenModelKeySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setManyVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setManyVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:group.models.map","kind":"calls","metadata":{"unresolvedName":"group.models.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"symbol-name:formatContext","kind":"calls","metadata":{"unresolvedName":"formatContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setManyVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setManyVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:hiddenModelKeySet.has","kind":"calls","metadata":{"unresolvedName":"hiddenModelKeySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"symbol-name:formatContext","kind":"calls","metadata":{"unresolvedName":"formatContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx:","to":"external:modelVisibilityStore.setVisible","kind":"calls","metadata":{"unresolvedName":"modelVisibilityStore.setVisible"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"external:qrcode","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(getNetworkAccess).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(updateNetworkAccess).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(getNetworkAccess).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:screen.findByAltText","kind":"calls","metadata":{"unresolvedName":"screen.findByAltText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:expect(QRCode.toDataURL).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(QRCode.toDataURL).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(updateNetworkAccess).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:expect(updateNetworkAccess).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateNetworkAccess).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(getNetworkAccess).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(updateNetworkAccess).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(getNetworkAccess).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:screen.findByAltText","kind":"calls","metadata":{"unresolvedName":"screen.findByAltText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:expect(QRCode.toDataURL).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(QRCode.toDataURL).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(getNetworkAccess).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getNetworkAccess).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:vi.mocked(updateNetworkAccess).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateNetworkAccess).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"external:expect(updateNetworkAccess).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateNetworkAccess).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"external:qrcode","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/network.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"external:getNetworkAccess()\n .then","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:setInfo","kind":"calls","metadata":{"unresolvedName":"setInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:setQrDataUrl","kind":"calls","metadata":{"unresolvedName":"setQrDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"external:QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then","kind":"calls","metadata":{"unresolvedName":"QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"external:QRCode.toDataURL","kind":"calls","metadata":{"unresolvedName":"QRCode.toDataURL"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:NetworkAccessSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"calls","metadata":{"unresolvedName":"updateNetworkAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"external:getNetworkAccess()\n .then","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:getNetworkAccess","kind":"calls","metadata":{"unresolvedName":"getNetworkAccess"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setInfo","kind":"calls","metadata":{"unresolvedName":"setInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setInfo","kind":"calls","metadata":{"unresolvedName":"setInfo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setQrDataUrl","kind":"calls","metadata":{"unresolvedName":"setQrDataUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"external:QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then","kind":"calls","metadata":{"unresolvedName":"QRCode.toDataURL(url, { margin: 1, width: 144 })\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"external:QRCode.toDataURL","kind":"calls","metadata":{"unresolvedName":"QRCode.toDataURL"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setQrDataUrl","kind":"calls","metadata":{"unresolvedName":"setQrDataUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","to":"symbol-name:setQrDataUrl","kind":"calls","metadata":{"unresolvedName":"setQrDataUrl"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","to":"symbol-name:setInfo","kind":"calls","metadata":{"unresolvedName":"setInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx:toggleLanAccess","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/network.ts:updateNetworkAccess","kind":"calls","metadata":{"unresolvedName":"updateNetworkAccess"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:VolumeSlider","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings","kind":"calls","metadata":{"unresolvedName":"useNotificationEventSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventEnableRow","to":"external:notificationEventSettingsStore.setSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.setSystemEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","kind":"calls","metadata":{"unresolvedName":"useSoundSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.hasCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.hasCustomAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.getCustomAudioBlob","kind":"calls","metadata":{"unresolvedName":"soundStore.getCustomAudioBlob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"calls","metadata":{"unresolvedName":"playSound"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:setUploadError","kind":"calls","metadata":{"unresolvedName":"setUploadError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.setEventSound","kind":"calls","metadata":{"unresolvedName":"soundStore.setEventSound"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.uploadCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.uploadCustomAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:result.error.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"result.error.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:result.error.charAt","kind":"calls","metadata":{"unresolvedName":"result.error.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:result.error.slice","kind":"calls","metadata":{"unresolvedName":"result.error.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.removeCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.removeCustomAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundStore.exportCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.exportCustomAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"symbol-name:handleSoundChange","kind":"calls","metadata":{"unresolvedName":"handleSoundChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:soundOptions.map","kind":"calls","metadata":{"unresolvedName":"soundOptions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:EventSoundCard","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:soundStore.getCustomAudioBlob","kind":"calls","metadata":{"unresolvedName":"soundStore.getCustomAudioBlob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"calls","metadata":{"unresolvedName":"playSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"symbol-name:setUploadError","kind":"calls","metadata":{"unresolvedName":"setUploadError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:soundStore.setEventSound","kind":"calls","metadata":{"unresolvedName":"soundStore.setEventSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"symbol-name:setUploadError","kind":"calls","metadata":{"unresolvedName":"setUploadError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:soundStore.uploadCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.uploadCustomAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:result.error.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"result.error.charAt(0).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:result.error.charAt","kind":"calls","metadata":{"unresolvedName":"result.error.charAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:result.error.slice","kind":"calls","metadata":{"unresolvedName":"result.error.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"symbol-name:setUploadError","kind":"calls","metadata":{"unresolvedName":"setUploadError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:soundStore.removeCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.removeCustomAudio"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:","to":"external:soundStore.exportCustomAudio","kind":"calls","metadata":{"unresolvedName":"soundStore.exportCustomAudio"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","kind":"calls","metadata":{"unresolvedName":"useNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","kind":"calls","metadata":{"unresolvedName":"useSoundSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported","kind":"calls","metadata":{"unresolvedName":"isSoundSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"symbol-name:setToastEnabledState","kind":"calls","metadata":{"unresolvedName":"setToastEnabledState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"external:notificationStore.setToastEnabled","kind":"calls","metadata":{"unresolvedName":"notificationStore.setToastEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"symbol-name:setNotificationsEnabled","kind":"calls","metadata":{"unresolvedName":"setNotificationsEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"external:EVENT_TYPES.map","kind":"calls","metadata":{"unresolvedName":"EVENT_TYPES.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"external:soundStore.setEnabled","kind":"calls","metadata":{"unresolvedName":"soundStore.setEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"external:soundStore.setCurrentSessionEnabled","kind":"calls","metadata":{"unresolvedName":"soundStore.setCurrentSessionEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:NotificationSettings","to":"external:soundStore.setVolume","kind":"calls","metadata":{"unresolvedName":"soundStore.setVolume"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleTestNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle","to":"symbol-name:setToastEnabledState","kind":"calls","metadata":{"unresolvedName":"setToastEnabledState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx:handleToastToggle","to":"external:notificationStore.setToastEnabled","kind":"calls","metadata":{"unresolvedName":"notificationStore.setToastEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/ConfirmDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NetworkAccessSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:setEditing","kind":"calls","metadata":{"unresolvedName":"setEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:onCheckHealth","kind":"calls","metadata":{"unresolvedName":"onCheckHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle","kind":"calls","metadata":{"unresolvedName":"statusTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusIcon","kind":"calls","metadata":{"unresolvedName":"statusIcon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:setConfirmDelete","kind":"calls","metadata":{"unresolvedName":"setConfirmDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServerItem","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusIcon","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:statusTitle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setEditing","kind":"calls","metadata":{"unresolvedName":"setEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:onCheckHealth","kind":"calls","metadata":{"unresolvedName":"onCheckHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setEditing","kind":"calls","metadata":{"unresolvedName":"setEditing"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setConfirmDelete","kind":"calls","metadata":{"unresolvedName":"setConfirmDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setConfirmDelete","kind":"calls","metadata":{"unresolvedName":"setConfirmDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"external:password.trim","kind":"calls","metadata":{"unresolvedName":"password.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"external:username.trim","kind":"calls","metadata":{"unresolvedName":"username.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setUrl","kind":"calls","metadata":{"unresolvedName":"setUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setShowAuth","kind":"calls","metadata":{"unresolvedName":"setShowAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setUsername","kind":"calls","metadata":{"unresolvedName":"setUsername"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:EditServerForm","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:password.trim","kind":"calls","metadata":{"unresolvedName":"password.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:username.trim","kind":"calls","metadata":{"unresolvedName":"username.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setUrl","kind":"calls","metadata":{"unresolvedName":"setUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setUsername","kind":"calls","metadata":{"unresolvedName":"setUsername"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:onAdd","kind":"calls","metadata":{"unresolvedName":"onAdd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"external:password.trim","kind":"calls","metadata":{"unresolvedName":"password.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"external:username.trim","kind":"calls","metadata":{"unresolvedName":"username.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setUrl","kind":"calls","metadata":{"unresolvedName":"setUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setShowAuth","kind":"calls","metadata":{"unresolvedName":"setShowAuth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setUsername","kind":"calls","metadata":{"unresolvedName":"setUsername"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:AddServerForm","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"symbol-name:onAdd","kind":"calls","metadata":{"unresolvedName":"onAdd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:password.trim","kind":"calls","metadata":{"unresolvedName":"password.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:handleSubmit","to":"external:username.trim","kind":"calls","metadata":{"unresolvedName":"username.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:url.trim","kind":"calls","metadata":{"unresolvedName":"url.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setUrl","kind":"calls","metadata":{"unresolvedName":"setUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setUsername","kind":"calls","metadata":{"unresolvedName":"setUsername"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setPassword","kind":"calls","metadata":{"unresolvedName":"setPassword"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","kind":"calls","metadata":{"unresolvedName":"useServerStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"calls","metadata":{"unresolvedName":"useRouter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"external:servers.find","kind":"calls","metadata":{"unresolvedName":"servers.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"external:servers.filter","kind":"calls","metadata":{"unresolvedName":"servers.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","kind":"calls","metadata":{"unresolvedName":"checkAllHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"external:messageStore.clearSession","kind":"calls","metadata":{"unresolvedName":"messageStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","kind":"calls","metadata":{"unresolvedName":"setActiveServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:setAddingServer","kind":"calls","metadata":{"unresolvedName":"setAddingServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"external:orderedServers.map","kind":"calls","metadata":{"unresolvedName":"orderedServers.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:getHealth","kind":"calls","metadata":{"unresolvedName":"getHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"symbol-name:handleSelectServer","kind":"calls","metadata":{"unresolvedName":"handleSelectServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","kind":"calls","metadata":{"unresolvedName":"removeServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","kind":"calls","metadata":{"unresolvedName":"updateServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:ServersSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","kind":"calls","metadata":{"unresolvedName":"addServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:servers.find","kind":"calls","metadata":{"unresolvedName":"servers.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:servers.filter","kind":"calls","metadata":{"unresolvedName":"servers.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","kind":"calls","metadata":{"unresolvedName":"checkAllHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"external:messageStore.clearSession","kind":"calls","metadata":{"unresolvedName":"messageStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","kind":"calls","metadata":{"unresolvedName":"setActiveServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","kind":"calls","metadata":{"unresolvedName":"updateServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","kind":"calls","metadata":{"unresolvedName":"addServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"symbol-name:setAddingServer","kind":"calls","metadata":{"unresolvedName":"setAddingServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"calls","metadata":{"unresolvedName":"useIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore","kind":"calls","metadata":{"unresolvedName":"useServiceStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","kind":"calls","metadata":{"unresolvedName":"useServerStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:setLocalBinaryPath","kind":"calls","metadata":{"unresolvedName":"setLocalBinaryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","kind":"calls","metadata":{"unresolvedName":"handleCheckService"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setAutoStart","kind":"calls","metadata":{"unresolvedName":"serviceStore.setAutoStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setBinaryPath","kind":"calls","metadata":{"unresolvedName":"serviceStore.setBinaryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:setServiceError","kind":"calls","metadata":{"unresolvedName":"setServiceError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setStarting","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStarting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:getServerUrl","kind":"calls","metadata":{"unresolvedName":"getServerUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","kind":"calls","metadata":{"unresolvedName":"handleBinaryPathChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:serviceStore.setEnvVars","kind":"calls","metadata":{"unresolvedName":"serviceStore.setEnvVars"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:envVars.map","kind":"calls","metadata":{"unresolvedName":"envVars.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:ServiceSettings","to":"external:envVars.filter","kind":"calls","metadata":{"unresolvedName":"envVars.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"symbol-name:setLocalBinaryPath","kind":"calls","metadata":{"unresolvedName":"setLocalBinaryPath"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","kind":"calls","metadata":{"unresolvedName":"handleCheckService"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleAutoStartToggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleAutoStartToggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleAutoStartToggle","to":"external:serviceStore.setAutoStart","kind":"calls","metadata":{"unresolvedName":"serviceStore.setAutoStart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","to":"symbol-name:setLocalBinaryPath","kind":"calls","metadata":{"unresolvedName":"setLocalBinaryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleBinaryPathChange","to":"external:serviceStore.setBinaryPath","kind":"calls","metadata":{"unresolvedName":"serviceStore.setBinaryPath"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:setServiceError","kind":"calls","metadata":{"unresolvedName":"setServiceError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"external:serviceStore.setStarting","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStarting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:getServerUrl","kind":"calls","metadata":{"unresolvedName":"getServerUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStartService","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"symbol-name:setServiceError","kind":"calls","metadata":{"unresolvedName":"setServiceError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleStopService","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"symbol-name:getServerUrl","kind":"calls","metadata":{"unresolvedName":"getServerUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:handleCheckService","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"external:serviceStore.setEnvVars","kind":"calls","metadata":{"unresolvedName":"serviceStore.setEnvVars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"external:serviceStore.setEnvVars","kind":"calls","metadata":{"unresolvedName":"serviceStore.setEnvVars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"external:envVars.filter","kind":"calls","metadata":{"unresolvedName":"envVars.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx:","to":"external:serviceStore.setEnvVars","kind":"calls","metadata":{"unresolvedName":"serviceStore.setEnvVars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:Toggle","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","to":"external:options.findIndex","kind":"calls","metadata":{"unresolvedName":"options.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SegmentedControl","to":"external:options.map","kind":"calls","metadata":{"unresolvedName":"options.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSelect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSelect","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingRow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingRow","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsSection","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsCard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx:SettingsCard","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(getSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(updateSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(updateSttSettings).mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(enableSwitch).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(enableSwitch).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.queryByRole('checkbox')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('checkbox')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(updateSttSettings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateSttSettings).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(requireKeySwitch).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(requireKeySwitch).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Provider')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Provider')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Base URL')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Base URL')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Endpoint')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Endpoint')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Model')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Model')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.findByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(insertMode).toHaveClass","kind":"calls","metadata":{"unresolvedName":"expect(insertMode).toHaveClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:insertMode.closest","kind":"calls","metadata":{"unresolvedName":"insertMode.closest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(getSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(updateSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:vi.mocked(updateSttSettings).mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateSttSettings).mockImplementation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(enableSwitch).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(enableSwitch).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.queryByRole('checkbox')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole('checkbox')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(updateSttSettings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateSttSettings).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByRole","kind":"calls","metadata":{"unresolvedName":"screen.findByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(requireKeySwitch).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(requireKeySwitch).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(updateSttSettings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateSttSettings).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByText","kind":"calls","metadata":{"unresolvedName":"screen.findByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('Transcription provider')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Provider')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Provider')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Base URL')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Base URL')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Endpoint')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Endpoint')).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(screen.getByLabelText('Model')).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText('Model')).toHaveValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:screen.findByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.findByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(insertMode).toHaveClass","kind":"calls","metadata":{"unresolvedName":"expect(insertMode).toHaveClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(insertMode.closest('[data-settings-select]')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.test.tsx:","to":"external:insertMode.closest","kind":"calls","metadata":{"unresolvedName":"insertMode.closest"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"external:getSttSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getSttSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"external:apiKey.trim","kind":"calls","metadata":{"unresolvedName":"apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:SttSettings","to":"symbol-name:setApiKey","kind":"calls","metadata":{"unresolvedName":"setApiKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"external:getSttSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getSttSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"symbol-name:updateSttSettings","kind":"calls","metadata":{"unresolvedName":"updateSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"external:apiKey.trim","kind":"calls","metadata":{"unresolvedName":"apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx:saveSettings","to":"symbol-name:setApiKey","kind":"calls","metadata":{"unresolvedName":"setApiKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(getTtsSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(updateTtsSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(getTtsSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(updateTtsSettings).mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:screen.findByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.findByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect(voiceSelect).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(voiceSelect).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect(updateTtsSettings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateTtsSettings).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(getTtsSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(updateTtsSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(getTtsSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getTtsSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:vi.mocked(updateTtsSettings).mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.mocked(updateTtsSettings).mockImplementation"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:screen.findByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.findByLabelText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect(voiceSelect).toHaveValue","kind":"calls","metadata":{"unresolvedName":"expect(voiceSelect).toHaveValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect(updateTtsSettings).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(updateTtsSettings).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Button.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/tts.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"external:getTtsSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getTtsSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","kind":"calls","metadata":{"unresolvedName":"getTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:updateTtsSettings","kind":"calls","metadata":{"unresolvedName":"updateTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"external:apiKey.trim","kind":"calls","metadata":{"unresolvedName":"apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"symbol-name:setApiKey","kind":"calls","metadata":{"unresolvedName":"setApiKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:TtsSettings","to":"external:KOKORO_VOICES.map","kind":"calls","metadata":{"unresolvedName":"KOKORO_VOICES.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"external:getTtsSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getTtsSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/tts.ts:getTtsSettings","kind":"calls","metadata":{"unresolvedName":"getTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"symbol-name:setIsSaving","kind":"calls","metadata":{"unresolvedName":"setIsSaving"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"symbol-name:updateTtsSettings","kind":"calls","metadata":{"unresolvedName":"updateTtsSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"external:apiKey.trim","kind":"calls","metadata":{"unresolvedName":"apiKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx:saveSettings","to":"symbol-name:setApiKey","kind":"calls","metadata":{"unresolvedName":"setApiKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SttSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/TtsSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx:VoiceSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx:VoiceSettings","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/SettingsUI.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"calls","metadata":{"unresolvedName":"useLayoutStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setWakeLock","kind":"calls","metadata":{"unresolvedName":"layoutStore.setWakeLock"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","kind":"calls","metadata":{"unresolvedName":"setCodeWordWrap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"calls","metadata":{"unresolvedName":"setManualTerminalTitles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.syncTerminalTitleMode","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalTitleMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","kind":"calls","metadata":{"unresolvedName":"setDiffStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setTerminalCopyOnSelect","kind":"calls","metadata":{"unresolvedName":"layoutStore.setTerminalCopyOnSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setTerminalRightClickPaste","kind":"calls","metadata":{"unresolvedName":"layoutStore.setTerminalRightClickPaste"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setSidebarFolderRecents","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarFolderRecents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setSidebarFolderRecentsShowDiff","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarFolderRecentsShowDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:WorkspaceSettings","to":"external:layoutStore.setSidebarShowChildSessions","kind":"calls","metadata":{"unresolvedName":"layoutStore.setSidebarShowChildSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"calls","metadata":{"unresolvedName":"setManualTerminalTitles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","to":"external:layoutStore.syncTerminalTitleMode","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalTitleMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"calls","metadata":{"unresolvedName":"setManualTerminalTitles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx:","to":"external:layoutStore.syncTerminalTitleMode","kind":"calls","metadata":{"unresolvedName":"layoutStore.syncTerminalTitleMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:Kbd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:Kbd","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"calls","metadata":{"unresolvedName":"parseKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","kind":"calls","metadata":{"unresolvedName":"formatKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","to":"external:formatted.split","kind":"calls","metadata":{"unresolvedName":"formatted.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:ShortcutDisplay","to":"external:parts.map","kind":"calls","metadata":{"unresolvedName":"parts.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:captureRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"captureRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:['Control', 'Alt', 'Shift', 'Meta'].includes","kind":"calls","metadata":{"unresolvedName":"['Control', 'Alt', 'Shift', 'Meta'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","kind":"calls","metadata":{"unresolvedName":"keyEventToString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:setTempKey","kind":"calls","metadata":{"unresolvedName":"setTempKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","kind":"calls","metadata":{"unresolvedName":"isKeyUsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:cancel","kind":"calls","metadata":{"unresolvedName":"cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:handleKeyDown","kind":"calls","metadata":{"unresolvedName":"handleKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingRow","to":"symbol-name:onReset","kind":"calls","metadata":{"unresolvedName":"onReset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:captureRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"captureRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:['Control', 'Alt', 'Shift', 'Meta'].includes","kind":"calls","metadata":{"unresolvedName":"['Control', 'Alt', 'Shift', 'Meta'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","kind":"calls","metadata":{"unresolvedName":"keyEventToString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setTempKey","kind":"calls","metadata":{"unresolvedName":"setTempKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","kind":"calls","metadata":{"unresolvedName":"isKeyUsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setTempKey","kind":"calls","metadata":{"unresolvedName":"setTempKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setTempKey","kind":"calls","metadata":{"unresolvedName":"setTempKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:cancel","kind":"calls","metadata":{"unresolvedName":"cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:handleKeyDown","kind":"calls","metadata":{"unresolvedName":"handleKeyDown"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","to":"symbol-name:cancel","kind":"calls","metadata":{"unresolvedName":"cancel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:handler","to":"symbol-name:handleKeyDown","kind":"calls","metadata":{"unresolvedName":"handleKeyDown"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setTempKey","kind":"calls","metadata":{"unresolvedName":"setTempKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","kind":"calls","metadata":{"unresolvedName":"useKeybindingStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:keybindings.map","kind":"calls","metadata":{"unresolvedName":"keybindings.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:search.trim","kind":"calls","metadata":{"unresolvedName":"search.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:search.toLowerCase","kind":"calls","metadata":{"unresolvedName":"search.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:localizedKeybindings.filter","kind":"calls","metadata":{"unresolvedName":"localizedKeybindings.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.label.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.label.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.description.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.description.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.description.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.description.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.currentKey.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.currentKey.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:kb.currentKey.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.currentKey.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:CATEGORY_ORDER.map","kind":"calls","metadata":{"unresolvedName":"CATEGORY_ORDER.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:filtered.filter","kind":"calls","metadata":{"unresolvedName":"filtered.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:localizedKeybindings.some","kind":"calls","metadata":{"unresolvedName":"localizedKeybindings.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:searchRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"searchRef.current?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"symbol-name:setSearch","kind":"calls","metadata":{"unresolvedName":"setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:grouped.map","kind":"calls","metadata":{"unresolvedName":"grouped.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:KeybindingsSection","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:search.trim","kind":"calls","metadata":{"unresolvedName":"search.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:search.toLowerCase","kind":"calls","metadata":{"unresolvedName":"search.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:localizedKeybindings.filter","kind":"calls","metadata":{"unresolvedName":"localizedKeybindings.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.label.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.label.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.label.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.label.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.description.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.description.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.description.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.description.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.currentKey.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"kb.currentKey.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:kb.currentKey.toLowerCase","kind":"calls","metadata":{"unresolvedName":"kb.currentKey.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx:","to":"external:searchRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"searchRef.current?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(voiceTab).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(voiceTab).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(voiceTab).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(voiceTab).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(screen.getByText('voice-panel')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('voice-panel')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(voiceTab).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(voiceTab).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(voiceTab).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(voiceTab).toHaveAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:expect(screen.getByText('voice-panel')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('voice-panel')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ui/Dialog.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Icons.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/KeybindingsSection.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AgentSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AppearanceSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/AboutSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ChatSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ModelsSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/NotificationSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServiceSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/ServersSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/VoiceSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/components/WorkspaceSettings.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:TabContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:TabContent","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"calls","metadata":{"unresolvedName":"useIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:normalizeTab","kind":"calls","metadata":{"unresolvedName":"normalizeTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:TAB_IDS.filter","kind":"calls","metadata":{"unresolvedName":"TAB_IDS.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:visibleTabIds.map","kind":"calls","metadata":{"unresolvedName":"visibleTabIds.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:GROUP_DEFS.map","kind":"calls","metadata":{"unresolvedName":"GROUP_DEFS.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:group.tabs\n .map","kind":"calls","metadata":{"unresolvedName":"group.tabs\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:visibleTabs.find","kind":"calls","metadata":{"unresolvedName":"visibleTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:visibleTabs.some","kind":"calls","metadata":{"unresolvedName":"visibleTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:document.getElementById(`settings-tab-${tab}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${tab}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:scrollRef.current?.scrollTo","kind":"calls","metadata":{"unresolvedName":"scrollRef.current?.scrollTo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:visibleTabs.map","kind":"calls","metadata":{"unresolvedName":"visibleTabs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:ids.indexOf","kind":"calls","metadata":{"unresolvedName":"ids.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"symbol-name:switchTab","kind":"calls","metadata":{"unresolvedName":"switchTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:document.getElementById(`settings-tab-${ids[next]}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${ids[next]}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:groupedTabs.map","kind":"calls","metadata":{"unresolvedName":"groupedTabs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:SettingsDialog","to":"external:group.tabs.map","kind":"calls","metadata":{"unresolvedName":"group.tabs.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:normalizeTab","kind":"calls","metadata":{"unresolvedName":"normalizeTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:normalizeTab","kind":"calls","metadata":{"unresolvedName":"normalizeTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:visibleTabs.some","kind":"calls","metadata":{"unresolvedName":"visibleTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById(`settings-tab-${tab}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${tab}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById(`settings-tab-${tab}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${tab}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:setTab","kind":"calls","metadata":{"unresolvedName":"setTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:scrollRef.current?.scrollTo","kind":"calls","metadata":{"unresolvedName":"scrollRef.current?.scrollTo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:scrollRef.current?.scrollTo","kind":"calls","metadata":{"unresolvedName":"scrollRef.current?.scrollTo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:visibleTabs.map","kind":"calls","metadata":{"unresolvedName":"visibleTabs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:ids.indexOf","kind":"calls","metadata":{"unresolvedName":"ids.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:switchTab","kind":"calls","metadata":{"unresolvedName":"switchTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById(`settings-tab-${ids[next]}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${ids[next]}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById(`settings-tab-${ids[next]}`)?.focus","kind":"calls","metadata":{"unresolvedName":"document.getElementById(`settings-tab-${ids[next]}`)?.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/settings/SettingsDialog.tsx:","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:expect(screen.getByText('/compact')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('/compact')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:expect(screen.queryByText('/explain')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('/explain')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:expect(screen.getByText('/compact')).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText('/compact')).toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:expect(screen.queryByText('/explain')).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText('/explain')).not.toBeInTheDocument"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:commands.filter","kind":"calls","metadata":{"unresolvedName":"commands.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.description?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.description?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:commands.reduce","kind":"calls","metadata":{"unresolvedName":"commands.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.visualViewport?.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:getCommands(rootPath)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getCommands(rootPath)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setCommands","kind":"calls","metadata":{"unresolvedName":"setCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:selectedEl.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"selectedEl.scrollIntoView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:useImperativeHandle","kind":"calls","metadata":{"unresolvedName":"useImperativeHandle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:filteredCommands.map","kind":"calls","metadata":{"unresolvedName":"filteredCommands.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:query.toLowerCase","kind":"calls","metadata":{"unresolvedName":"query.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:commands.filter","kind":"calls","metadata":{"unresolvedName":"commands.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.name.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.name.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.description?.toLowerCase().includes","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:cmd.description?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"cmd.description?.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:commands.reduce","kind":"calls","metadata":{"unresolvedName":"commands.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.visualViewport?.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate","to":"symbol-name:setDynamicMaxHeight","kind":"calls","metadata":{"unresolvedName":"setDynamicMaxHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:calculate","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:window.visualViewport?.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport?.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:getCommands(rootPath)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getCommands(rootPath)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setCommands","kind":"calls","metadata":{"unresolvedName":"setCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:getCommands(rootPath)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getCommands(rootPath)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:getCommands","kind":"calls","metadata":{"unresolvedName":"getCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setCommands","kind":"calls","metadata":{"unresolvedName":"setCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setCommands","kind":"calls","metadata":{"unresolvedName":"setCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setCommands","kind":"calls","metadata":{"unresolvedName":"setCommands"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:selectedEl.scrollIntoView","kind":"calls","metadata":{"unresolvedName":"selectedEl.scrollIntoView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveUp","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown","to":"symbol-name:setSelectedIndex","kind":"calls","metadata":{"unresolvedName":"setSelectedIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:moveDown","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:selectCurrent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:selectCurrent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:selectCurrent","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside","to":"external:menuRef.current.contains","kind":"calls","metadata":{"unresolvedName":"menuRef.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/slash-command/SlashCommandMenu.tsx:handleClickOutside","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:setShowCancelHint","kind":"calls","metadata":{"unresolvedName":"setShowCancelHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:handleAbort","kind":"calls","metadata":{"unresolvedName":"handleAbort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:useCancelHint","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:setShowCancelHint","kind":"calls","metadata":{"unresolvedName":"setShowCancelHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:setShowCancelHint","kind":"calls","metadata":{"unresolvedName":"setShowCancelHint"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:handleAbort","kind":"calls","metadata":{"unresolvedName":"handleAbort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCancelHint.ts:","to":"symbol-name:setShowCancelHint","kind":"calls","metadata":{"unresolvedName":"setShowCancelHint"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:summarizeSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"summarizeSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:executeCommandMock.mockReset","kind":"calls","metadata":{"unresolvedName":"executeCommandMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:getSelectableAgentsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSelectableAgentsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:updateConsumerSessionIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"updateConsumerSessionIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendNotificationMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendNotificationMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:isSystemEnabledMock.mockReset","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:errorHandlerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"errorHandlerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendMessageAsyncMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendMessageAsyncMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:abortSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"abortSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:getSelectableAgentsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSelectableAgentsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:summarizeSessionMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"summarizeSessionMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleCommand","kind":"calls","metadata":{"unresolvedName":"result.current.handleCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:promise.then","kind":"calls","metadata":{"unresolvedName":"promise.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(summarizeSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(summarizeSessionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(settled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(settled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(commandResult).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commandResult).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:executeCommandMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"executeCommandMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(executeCommandMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(executeCommandMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:it.each","kind":"calls","metadata":{"unresolvedName":"it.each"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:callbacks?.[trigger]","kind":"calls","metadata":{"unresolvedName":"callbacks?.[trigger]"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(sendNotificationMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(sendNotificationMock).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:summarizeSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"summarizeSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:executeCommandMock.mockReset","kind":"calls","metadata":{"unresolvedName":"executeCommandMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:getSelectableAgentsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSelectableAgentsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:updateConsumerSessionIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"updateConsumerSessionIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendNotificationMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendNotificationMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:isSystemEnabledMock.mockReset","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:errorHandlerMock.mockReset","kind":"calls","metadata":{"unresolvedName":"errorHandlerMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendMessageAsyncMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendMessageAsyncMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:abortSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"abortSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:getSelectableAgentsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSelectableAgentsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:summarizeSessionMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"summarizeSessionMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleCommand","kind":"calls","metadata":{"unresolvedName":"result.current.handleCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:promise.then","kind":"calls","metadata":{"unresolvedName":"promise.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(summarizeSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(summarizeSessionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(settled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(settled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(commandResult).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commandResult).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleCommand","kind":"calls","metadata":{"unresolvedName":"result.current.handleCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:promise.then","kind":"calls","metadata":{"unresolvedName":"promise.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:executeCommandMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"executeCommandMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleCommand","kind":"calls","metadata":{"unresolvedName":"result.current.handleCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:promise.then","kind":"calls","metadata":{"unresolvedName":"promise.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(executeCommandMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(executeCommandMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(settled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(settled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(commandResult).toBe","kind":"calls","metadata":{"unresolvedName":"expect(commandResult).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleCommand","kind":"calls","metadata":{"unresolvedName":"result.current.handleCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:promise.then","kind":"calls","metadata":{"unresolvedName":"promise.then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:registerSessionConsumerMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumerMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:callbacks?.[trigger]","kind":"calls","metadata":{"unresolvedName":"callbacks?.[trigger]"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(sendNotificationMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(sendNotificationMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:callbacks?.[trigger]","kind":"calls","metadata":{"unresolvedName":"callbacks?.[trigger]"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendMessageAsyncMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendMessageAsyncMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:abortSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"abortSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:navigateToSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"navigateToSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:navigateHomeMock.mockReset","kind":"calls","metadata":{"unresolvedName":"navigateHomeMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleSend","kind":"calls","metadata":{"unresolvedName":"result.current.handleSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(success).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(sendMessageAsyncMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(sendMessageAsyncMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(createSessionMock).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(createSessionMock).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(navigateToSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(navigateToSessionMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:sendMessageAsyncMock.mockReset","kind":"calls","metadata":{"unresolvedName":"sendMessageAsyncMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:abortSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"abortSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:navigateToSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"navigateToSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:navigateHomeMock.mockReset","kind":"calls","metadata":{"unresolvedName":"navigateHomeMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:createSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleSend","kind":"calls","metadata":{"unresolvedName":"result.current.handleSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(success).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(sendMessageAsyncMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(sendMessageAsyncMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleSend","kind":"calls","metadata":{"unresolvedName":"result.current.handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"calls","metadata":{"unresolvedName":"useChatSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleSend","kind":"calls","metadata":{"unresolvedName":"result.current.handleSend"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(success).toBe","kind":"calls","metadata":{"unresolvedName":"expect(success).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(createSessionMock).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(createSessionMock).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(navigateToSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(navigateToSessionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:expect(sendMessageAsyncMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(sendMessageAsyncMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.test.tsx:","to":"external:result.current.handleSend","kind":"calls","metadata":{"unresolvedName":"result.current.handleSend"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/chat","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore","kind":"calls","metadata":{"unresolvedName":"useActiveSessionStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setSelectedAgentRaw","kind":"calls","metadata":{"unresolvedName":"setSelectedAgentRaw"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","kind":"calls","metadata":{"unresolvedName":"usePermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useDirectory.ts:useDirectory","kind":"calls","metadata":{"unresolvedName":"useDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts/useSessionContext.ts:useSessionContext","kind":"calls","metadata":{"unresolvedName":"useSessionContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","kind":"calls","metadata":{"unresolvedName":"useNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","kind":"calls","metadata":{"unresolvedName":"useFollowupQueue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sessionId.slice","kind":"calls","metadata":{"unresolvedName":"sessionId.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","kind":"calls","metadata":{"unresolvedName":"getSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","kind":"calls","metadata":{"unresolvedName":"useSessionFamily"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","kind":"calls","metadata":{"unresolvedName":"useSessionManager"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","kind":"calls","metadata":{"unresolvedName":"usePermissionHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","kind":"calls","metadata":{"unresolvedName":"useMessageAnimation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:autoApproveStore.getPaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.getPaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:handlePermissionReply","kind":"calls","metadata":{"unresolvedName":"handlePermissionReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:autoApproveStore.shouldAutoApprove","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.shouldAutoApprove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:buildNotificationTitle","kind":"calls","metadata":{"unresolvedName":"buildNotificationTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:notificationEventSettingsStore.isSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:chatAreaRef.current?.scrollToBottomIfAtBottom","kind":"calls","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToBottomIfAtBottom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.markAllSessionsStale","kind":"calls","metadata":{"unresolvedName":"messageStore.markAllSessionsStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:loadSession","kind":"calls","metadata":{"unresolvedName":"loadSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:refreshPendingRequests","kind":"calls","metadata":{"unresolvedName":"refreshPendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:refetchModels().catch","kind":"calls","metadata":{"unresolvedName":"refetchModels().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:refetchModels","kind":"calls","metadata":{"unresolvedName":"refetchModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getSelectableAgents(currentDirectory)\n .then","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionRejected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onSessionError","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sseCallbacksRef.current.onReconnected","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","kind":"calls","metadata":{"unresolvedName":"updateConsumerSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getSelectableAgents(currentDirectory)\n .then","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:prefetchRootDirectory(effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"prefetchRootDirectory(effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","kind":"calls","metadata":{"unresolvedName":"prefetchRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:prefetchCommands(effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"prefetchCommands(effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","kind":"calls","metadata":{"unresolvedName":"prefetchCommands"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:primaryAgents.some","kind":"calls","metadata":{"unresolvedName":"primaryAgents.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:resetPendingRequests","kind":"calls","metadata":{"unresolvedName":"resetPendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:childSessionStore.getChildSessionIds","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getChildSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"calls","metadata":{"unresolvedName":"getSessionChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:childSessionStore.getSessionAndDescendants","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionAndDescendants"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getPendingPermissions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getPendingQuestions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:allPerms.filter","kind":"calls","metadata":{"unresolvedName":"allPerms.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:family.has","kind":"calls","metadata":{"unresolvedName":"family.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:nextPerms.map","kind":"calls","metadata":{"unresolvedName":"nextPerms.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:allQuestions.filter","kind":"calls","metadata":{"unresolvedName":"allQuestions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","kind":"calls","metadata":{"unresolvedName":"loadChildSessionsAndPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.createSendRollbackSnapshot","kind":"calls","metadata":{"unresolvedName":"messageStore.createSendRollbackSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.truncateAfterRevert","kind":"calls","metadata":{"unresolvedName":"messageStore.truncateAfterRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.setStreaming","kind":"calls","metadata":{"unresolvedName":"messageStore.setStreaming"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","kind":"calls","metadata":{"unresolvedName":"sendMessageAsync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:state.messages.some","kind":"calls","metadata":{"unresolvedName":"state.messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:getSessionMessages(pullSessionId, 5, pullDir)\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(pullSessionId, 5, pullDir)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.restoreSendRollback","kind":"calls","metadata":{"unresolvedName":"messageStore.restoreSendRollback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.remove","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.enqueue","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.enqueue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.upsertLocalMessage","kind":"calls","metadata":{"unresolvedName":"messageStore.upsertLocalMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:buildLocalQueuedMessage","kind":"calls","metadata":{"unresolvedName":"buildLocalQueuedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:sendMessageNow","kind":"calls","metadata":{"unresolvedName":"sendMessageNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.getItem","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.startSending","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.startSending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.removeMessage","kind":"calls","metadata":{"unresolvedName":"messageStore.removeMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.finishSending","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.finishSending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.markFailed","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.markFailed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.getItems","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:setRestoredContent","kind":"calls","metadata":{"unresolvedName":"setRestoredContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:sendQueuedFollowup","kind":"calls","metadata":{"unresolvedName":"sendQueuedFollowup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:followupQueueStore.clearSession","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","kind":"calls","metadata":{"unresolvedName":"hasOtherConsumerForSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.clearSession","kind":"calls","metadata":{"unresolvedName":"messageStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:resetPermissions","kind":"calls","metadata":{"unresolvedName":"resetPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","kind":"calls","metadata":{"unresolvedName":"forkSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:isUserMessage","kind":"calls","metadata":{"unresolvedName":"isUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"calls","metadata":{"unresolvedName":"abortSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messageStore.handleSessionIdle","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:commandStr.trim","kind":"calls","metadata":{"unresolvedName":"commandStr.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:trimmed.startsWith","kind":"calls","metadata":{"unresolvedName":"trimmed.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:withoutSlash.indexOf","kind":"calls","metadata":{"unresolvedName":"withoutSlash.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:withoutSlash.slice","kind":"calls","metadata":{"unresolvedName":"withoutSlash.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:handleNewChat","kind":"calls","metadata":{"unresolvedName":"handleNewChat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession","kind":"calls","metadata":{"unresolvedName":"summarizeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:executeCommand(sessionId, command, args, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"executeCommand(sessionId, command, args, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"calls","metadata":{"unresolvedName":"executeCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messages.slice(messageIndex).map","kind":"calls","metadata":{"unresolvedName":"messages.slice(messageIndex).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:messages.slice","kind":"calls","metadata":{"unresolvedName":"messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:animateUndo","kind":"calls","metadata":{"unresolvedName":"animateUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:handleUndo","kind":"calls","metadata":{"unresolvedName":"handleUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:animateRedo","kind":"calls","metadata":{"unresolvedName":"animateRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:handleRedo","kind":"calls","metadata":{"unresolvedName":"handleRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:sessions.findIndex","kind":"calls","metadata":{"unresolvedName":"sessions.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:primaryAgents.findIndex","kind":"calls","metadata":{"unresolvedName":"primaryAgents.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:agents.some","kind":"calls","metadata":{"unresolvedName":"agents.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:useChatSession","to":"symbol-name:clearRevert","kind":"calls","metadata":{"unresolvedName":"clearRevert"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setSelectedAgentRaw","kind":"calls","metadata":{"unresolvedName":"setSelectedAgentRaw"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sessionId.slice","kind":"calls","metadata":{"unresolvedName":"sessionId.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","kind":"calls","metadata":{"unresolvedName":"getSessionTitle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"external:autoApproveStore.getPaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.getPaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"symbol-name:handlePermissionReply","kind":"calls","metadata":{"unresolvedName":"handlePermissionReply"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"external:autoApproveStore.shouldAutoApprove","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.shouldAutoApprove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"symbol-name:buildNotificationTitle","kind":"calls","metadata":{"unresolvedName":"buildNotificationTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"external:notificationEventSettingsStore.isSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionAsked","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onPermissionReplied","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","to":"symbol-name:buildNotificationTitle","kind":"calls","metadata":{"unresolvedName":"buildNotificationTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","to":"external:notificationEventSettingsStore.isSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionAsked","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionReplied","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onQuestionRejected","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onScrollRequest","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onScrollRequest","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onScrollRequest","to":"external:chatAreaRef.current?.scrollToBottomIfAtBottom","kind":"calls","metadata":{"unresolvedName":"chatAreaRef.current?.scrollToBottomIfAtBottom"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","to":"symbol-name:buildNotificationTitle","kind":"calls","metadata":{"unresolvedName":"buildNotificationTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","to":"external:notificationEventSettingsStore.isSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionIdle","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","to":"symbol-name:buildNotificationTitle","kind":"calls","metadata":{"unresolvedName":"buildNotificationTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","to":"external:notificationEventSettingsStore.isSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.isSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onSessionError","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"external:messageStore.markAllSessionsStale","kind":"calls","metadata":{"unresolvedName":"messageStore.markAllSessionsStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"symbol-name:loadSession","kind":"calls","metadata":{"unresolvedName":"loadSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"symbol-name:refreshPendingRequests","kind":"calls","metadata":{"unresolvedName":"refreshPendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"external:refetchModels().catch","kind":"calls","metadata":{"unresolvedName":"refetchModels().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"symbol-name:refetchModels","kind":"calls","metadata":{"unresolvedName":"refetchModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"external:getSelectableAgents(currentDirectory)\n .then","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:onReconnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onPermissionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onQuestionRejected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onSessionError","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sseCallbacksRef.current.onReconnected","kind":"calls","metadata":{"unresolvedName":"sseCallbacksRef.current.onReconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","kind":"calls","metadata":{"unresolvedName":"updateConsumerSessionId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then(setAgents)\n .catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getSelectableAgents(currentDirectory)\n .then","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents(currentDirectory)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/agent.ts:getSelectableAgents","kind":"calls","metadata":{"unresolvedName":"getSelectableAgents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:prefetchRootDirectory(effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"prefetchRootDirectory(effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:prefetchRootDirectory","kind":"calls","metadata":{"unresolvedName":"prefetchRootDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:prefetchCommands(effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"prefetchCommands(effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:prefetchCommands","kind":"calls","metadata":{"unresolvedName":"prefetchCommands"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:primaryAgents.some","kind":"calls","metadata":{"unresolvedName":"primaryAgents.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:resetPendingRequests","kind":"calls","metadata":{"unresolvedName":"resetPendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:childSessionStore.getChildSessionIds","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getChildSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"calls","metadata":{"unresolvedName":"getSessionChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:childSessionStore.getSessionAndDescendants","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionAndDescendants"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getPendingPermissions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getPendingQuestions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:allPerms.filter","kind":"calls","metadata":{"unresolvedName":"allPerms.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:family.has","kind":"calls","metadata":{"unresolvedName":"family.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:nextPerms.map","kind":"calls","metadata":{"unresolvedName":"nextPerms.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:allQuestions.filter","kind":"calls","metadata":{"unresolvedName":"allQuestions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","kind":"calls","metadata":{"unresolvedName":"loadChildSessionsAndPermissions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:childSessionStore.getChildSessionIds","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getChildSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionChildren","kind":"calls","metadata":{"unresolvedName":"getSessionChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:childSessionStore.getSessionAndDescendants","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionAndDescendants"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:getPendingPermissions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:getPendingQuestions(undefined, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:allPerms.filter","kind":"calls","metadata":{"unresolvedName":"allPerms.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:family.has","kind":"calls","metadata":{"unresolvedName":"family.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:nextPerms.map","kind":"calls","metadata":{"unresolvedName":"nextPerms.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:loadChildSessionsAndPermissions","to":"external:allQuestions.filter","kind":"calls","metadata":{"unresolvedName":"allQuestions.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:nextPerms.map","kind":"calls","metadata":{"unresolvedName":"nextPerms.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:family.has","kind":"calls","metadata":{"unresolvedName":"family.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.createSendRollbackSnapshot","kind":"calls","metadata":{"unresolvedName":"messageStore.createSendRollbackSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.truncateAfterRevert","kind":"calls","metadata":{"unresolvedName":"messageStore.truncateAfterRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.setStreaming","kind":"calls","metadata":{"unresolvedName":"messageStore.setStreaming"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:sendMessageAsync","kind":"calls","metadata":{"unresolvedName":"sendMessageAsync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:state.messages.some","kind":"calls","metadata":{"unresolvedName":"state.messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getSessionMessages(pullSessionId, 5, pullDir)\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(pullSessionId, 5, pullDir)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.restoreSendRollback","kind":"calls","metadata":{"unresolvedName":"messageStore.restoreSendRollback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:state.messages.some","kind":"calls","metadata":{"unresolvedName":"state.messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:getSessionMessages(pullSessionId, 5, pullDir)\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(pullSessionId, 5, pullDir)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.remove","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.enqueue","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.enqueue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.upsertLocalMessage","kind":"calls","metadata":{"unresolvedName":"messageStore.upsertLocalMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:buildLocalQueuedMessage","kind":"calls","metadata":{"unresolvedName":"buildLocalQueuedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:sendMessageNow","kind":"calls","metadata":{"unresolvedName":"sendMessageNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.getItem","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.startSending","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.startSending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.removeMessage","kind":"calls","metadata":{"unresolvedName":"messageStore.removeMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:sendMessageNow","kind":"calls","metadata":{"unresolvedName":"sendMessageNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.finishSending","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.finishSending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.remove","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.markFailed","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.markFailed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.getItems","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.getItems"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setRestoredContent","kind":"calls","metadata":{"unresolvedName":"setRestoredContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:sendQueuedFollowup","kind":"calls","metadata":{"unresolvedName":"sendQueuedFollowup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:followupQueueStore.clearSession","kind":"calls","metadata":{"unresolvedName":"followupQueueStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","kind":"calls","metadata":{"unresolvedName":"hasOtherConsumerForSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.clearSession","kind":"calls","metadata":{"unresolvedName":"messageStore.clearSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:resetPermissions","kind":"calls","metadata":{"unresolvedName":"resetPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:resetPendingRequests","kind":"calls","metadata":{"unresolvedName":"resetPendingRequests"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:forkSession","kind":"calls","metadata":{"unresolvedName":"forkSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setRestoredContent","kind":"calls","metadata":{"unresolvedName":"setRestoredContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:isUserMessage","kind":"calls","metadata":{"unresolvedName":"isUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:abortSession","kind":"calls","metadata":{"unresolvedName":"abortSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messageStore.handleSessionIdle","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:commandStr.trim","kind":"calls","metadata":{"unresolvedName":"commandStr.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:trimmed.startsWith","kind":"calls","metadata":{"unresolvedName":"trimmed.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:trimmed.slice","kind":"calls","metadata":{"unresolvedName":"trimmed.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:withoutSlash.indexOf","kind":"calls","metadata":{"unresolvedName":"withoutSlash.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:withoutSlash.slice","kind":"calls","metadata":{"unresolvedName":"withoutSlash.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:handleNewChat","kind":"calls","metadata":{"unresolvedName":"handleNewChat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:summarizeSession","kind":"calls","metadata":{"unresolvedName":"summarizeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:executeCommand(sessionId, command, args, effectiveDirectory).catch","kind":"calls","metadata":{"unresolvedName":"executeCommand(sessionId, command, args, effectiveDirectory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/command.ts:executeCommand","kind":"calls","metadata":{"unresolvedName":"executeCommand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messages.slice(messageIndex).map","kind":"calls","metadata":{"unresolvedName":"messages.slice(messageIndex).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:messages.slice","kind":"calls","metadata":{"unresolvedName":"messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:animateUndo","kind":"calls","metadata":{"unresolvedName":"animateUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:handleUndo","kind":"calls","metadata":{"unresolvedName":"handleUndo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:animateRedo","kind":"calls","metadata":{"unresolvedName":"animateRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:handleRedo","kind":"calls","metadata":{"unresolvedName":"handleRedo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:handleNewChat","kind":"calls","metadata":{"unresolvedName":"handleNewChat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:updateSession","kind":"calls","metadata":{"unresolvedName":"updateSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateHome","kind":"calls","metadata":{"unresolvedName":"navigateHome"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:handleNewChat","kind":"calls","metadata":{"unresolvedName":"handleNewChat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"calls","metadata":{"unresolvedName":"handleError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sessions.findIndex","kind":"calls","metadata":{"unresolvedName":"sessions.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:sessions.findIndex","kind":"calls","metadata":{"unresolvedName":"sessions.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:navigateToSession","kind":"calls","metadata":{"unresolvedName":"navigateToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:agents.filter","kind":"calls","metadata":{"unresolvedName":"agents.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:primaryAgents.findIndex","kind":"calls","metadata":{"unresolvedName":"primaryAgents.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:agents.some","kind":"calls","metadata":{"unresolvedName":"agents.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setSelectedAgent","kind":"calls","metadata":{"unresolvedName":"setSelectedAgent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:clipboardErrorHandler","kind":"calls","metadata":{"unresolvedName":"clipboardErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:setRestoredContent","kind":"calls","metadata":{"unresolvedName":"setRestoredContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","to":"symbol-name:clearRevert","kind":"calls","metadata":{"unresolvedName":"clearRevert"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useChatSession.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"external:ref.current.contains","kind":"calls","metadata":{"unresolvedName":"ref.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","to":"external:ref.current.contains","kind":"calls","metadata":{"unresolvedName":"ref.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside","to":"external:ref.current.contains","kind":"calls","metadata":{"unresolvedName":"ref.current.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:handleClickOutside","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"external:import('@tauri-apps/api/event').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/event').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:setShowCloseDialog","kind":"calls","metadata":{"unresolvedName":"setShowCloseDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:useCloseServiceDialog","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"external:import('@tauri-apps/api/event').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/api/event').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:setShowCloseDialog","kind":"calls","metadata":{"unresolvedName":"setShowCloseDialog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:listen","kind":"calls","metadata":{"unresolvedName":"listen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:setShowCloseDialog","kind":"calls","metadata":{"unresolvedName":"setShowCloseDialog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:setShowCloseDialog","kind":"calls","metadata":{"unresolvedName":"setShowCloseDialog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:unlisten","kind":"calls","metadata":{"unresolvedName":"unlisten"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:uiErrorHandler","kind":"calls","metadata":{"unresolvedName":"uiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useCloseServiceDialog.ts:","to":"symbol-name:setShowCloseDialog","kind":"calls","metadata":{"unresolvedName":"setShowCloseDialog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:expect(result.current).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:setShouldRender","kind":"calls","metadata":{"unresolvedName":"setShouldRender"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"external:options.onOpen","kind":"calls","metadata":{"unresolvedName":"options.onOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"external:options.onClose","kind":"calls","metadata":{"unresolvedName":"options.onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:close","kind":"calls","metadata":{"unresolvedName":"close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"symbol-name:open","kind":"calls","metadata":{"unresolvedName":"open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:useDropdown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useClickOutside.ts:useClickOutside","kind":"calls","metadata":{"unresolvedName":"useClickOutside"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"external:options.onOpen","kind":"calls","metadata":{"unresolvedName":"options.onOpen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"symbol-name:setIsOpen","kind":"calls","metadata":{"unresolvedName":"setIsOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"external:options.onClose","kind":"calls","metadata":{"unresolvedName":"options.onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"symbol-name:close","kind":"calls","metadata":{"unresolvedName":"close"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"symbol-name:open","kind":"calls","metadata":{"unresolvedName":"open"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDropdown.ts:","to":"symbol-name:close","kind":"calls","metadata":{"unresolvedName":"close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:estimateHeight","kind":"calls","metadata":{"unresolvedName":"estimateHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:getEstimatedHeight","kind":"calls","metadata":{"unresolvedName":"getEstimatedHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:findIndex","kind":"calls","metadata":{"unresolvedName":"findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:setContainerWidth","kind":"calls","metadata":{"unresolvedName":"setContainerWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:setMeasuredHeights","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeights"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:useDynamicVirtualScroll","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:getEstimatedHeight","kind":"calls","metadata":{"unresolvedName":"getEstimatedHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:findIndex","kind":"calls","metadata":{"unresolvedName":"findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setContainerWidth","kind":"calls","metadata":{"unresolvedName":"setContainerWidth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setContainerHeight","kind":"calls","metadata":{"unresolvedName":"setContainerHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setContainerWidth","kind":"calls","metadata":{"unresolvedName":"setContainerWidth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setMeasuredHeights","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeights"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:ro.disconnect","kind":"calls","metadata":{"unresolvedName":"ro.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setMeasuredHeights","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeights"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setScrollTop","kind":"calls","metadata":{"unresolvedName":"setScrollTop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:getEstimatedHeight","kind":"calls","metadata":{"unresolvedName":"getEstimatedHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setMeasuredHeights","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeights"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDynamicVirtualScroll.ts:","to":"symbol-name:setMeasuredHeights","kind":"calls","metadata":{"unresolvedName":"setMeasuredHeights"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:changeScopeStore.clearAll","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:listDirectory.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"listDirectory.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getFileContent.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getFileContent.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getFileStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getFileStatus.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getVcsDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getVcsDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getSessionDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getLastTurnDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"calls","metadata":{"unresolvedName":"useFileExplorer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/session.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.fileStatus.get","kind":"calls","metadata":{"unresolvedName":"result.current.fileStatus.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:changeScopeStore.setMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.setMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(getLastTurnDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getLastTurnDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:listDirectory.mockImplementation","kind":"calls","metadata":{"unresolvedName":"listDirectory.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"result.current.expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:resolveRepoAChildren!","kind":"calls","metadata":{"unresolvedName":"resolveRepoAChildren!"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.tree[0]?.children?.map","kind":"calls","metadata":{"unresolvedName":"result.current.tree[0]?.children?.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:changeScopeStore.clearAll","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:listDirectory.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"listDirectory.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getFileContent.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getFileContent.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getFileStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getFileStatus.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getVcsDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getVcsDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getSessionDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionDiff.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:getLastTurnDiff.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff.mockResolvedValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"calls","metadata":{"unresolvedName":"useFileExplorer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/session.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.fileStatus.get","kind":"calls","metadata":{"unresolvedName":"result.current.fileStatus.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(getSessionDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionDiff).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:changeScopeStore.setMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.setMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(getLastTurnDiff).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getLastTurnDiff).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/session.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/session.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.fileStatus.get","kind":"calls","metadata":{"unresolvedName":"result.current.fileStatus.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:changeScopeStore.setMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.setMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.fileStatus.get('src/turn.ts')?.status).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.fileStatus.get","kind":"calls","metadata":{"unresolvedName":"result.current.fileStatus.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:listDirectory.mockImplementation","kind":"calls","metadata":{"unresolvedName":"listDirectory.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"calls","metadata":{"unresolvedName":"useFileExplorer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"result.current.expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"result.current.expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"result.current.expandedPaths.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.expandedPaths.has('src')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.expandedPaths.has('src')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"result.current.expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:listDirectory.mockImplementation","kind":"calls","metadata":{"unresolvedName":"listDirectory.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"calls","metadata":{"unresolvedName":"useFileExplorer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:resolveRepoAChildren!","kind":"calls","metadata":{"unresolvedName":"resolveRepoAChildren!"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.map(child => child.path)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.tree[0]?.children?.map","kind":"calls","metadata":{"unresolvedName":"result.current.tree[0]?.children?.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.absolute).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.absolute).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:result.current.toggleExpand","kind":"calls","metadata":{"unresolvedName":"result.current.toggleExpand"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"external:expect(result.current.tree[0]?.children?.[0]?.path).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.tree[0]?.children?.[0]?.path).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.test.tsx:","to":"symbol-name:resolveRepoAChildren!","kind":"calls","metadata":{"unresolvedName":"resolveRepoAChildren!"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","kind":"calls","metadata":{"unresolvedName":"useSessionChangeScope"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"calls","metadata":{"unresolvedName":"sortNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setTree","kind":"calls","metadata":{"unresolvedName":"setTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:sorted.map","kind":"calls","metadata":{"unresolvedName":"sorted.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setFileStatus","kind":"calls","metadata":{"unresolvedName":"setFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:status.forEach","kind":"calls","metadata":{"unresolvedName":"status.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:statusMap.set","kind":"calls","metadata":{"unresolvedName":"statusMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"calls","metadata":{"unresolvedName":"getVcsDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"calls","metadata":{"unresolvedName":"getSessionDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:diffs.forEach","kind":"calls","metadata":{"unresolvedName":"diffs.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"calls","metadata":{"unresolvedName":"getFileStatusFromDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","kind":"calls","metadata":{"unresolvedName":"computeDirectoryStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:childLoadIdsRef.current.get","kind":"calls","metadata":{"unresolvedName":"childLoadIdsRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:childLoadIdsRef.current.set","kind":"calls","metadata":{"unresolvedName":"childLoadIdsRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"calls","metadata":{"unresolvedName":"updateTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:isCurrentLoad","kind":"calls","metadata":{"unresolvedName":"isCurrentLoad"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setExpandedPaths","kind":"calls","metadata":{"unresolvedName":"setExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:expandedPathsByDirectoryRef.current.set","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:updateExpandedPaths","kind":"calls","metadata":{"unresolvedName":"updateExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"calls","metadata":{"unresolvedName":"findTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:previewCacheRef.current.get","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:setPreviewContent","kind":"calls","metadata":{"unresolvedName":"setPreviewContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","kind":"calls","metadata":{"unresolvedName":"getFileContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:previewCacheRef.current.set","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:expandedPathsByDirectoryRef.current.delete","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:previewCacheRef.current.clear","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:loadRoot","kind":"calls","metadata":{"unresolvedName":"loadRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:loadStatuses","kind":"calls","metadata":{"unresolvedName":"loadStatuses"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:expandedPathsByDirectoryRef.current.get","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","kind":"calls","metadata":{"unresolvedName":"collectPendingExpandedDirectoryPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:useFileExplorer","to":"external:pendingPaths.forEach","kind":"calls","metadata":{"unresolvedName":"pendingPaths.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"calls","metadata":{"unresolvedName":"sortNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setTree","kind":"calls","metadata":{"unresolvedName":"setTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:sorted.map","kind":"calls","metadata":{"unresolvedName":"sorted.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setFileStatus","kind":"calls","metadata":{"unresolvedName":"setFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:status.forEach","kind":"calls","metadata":{"unresolvedName":"status.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:statusMap.set","kind":"calls","metadata":{"unresolvedName":"statusMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsDiff","kind":"calls","metadata":{"unresolvedName":"getVcsDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getLastTurnDiff","kind":"calls","metadata":{"unresolvedName":"getLastTurnDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionDiff","kind":"calls","metadata":{"unresolvedName":"getSessionDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:diffs.forEach","kind":"calls","metadata":{"unresolvedName":"diffs.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"calls","metadata":{"unresolvedName":"getFileStatusFromDiff"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","kind":"calls","metadata":{"unresolvedName":"computeDirectoryStatus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:statusMap.set","kind":"calls","metadata":{"unresolvedName":"statusMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:normalizePath","kind":"calls","metadata":{"unresolvedName":"normalizePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:statusMap.set","kind":"calls","metadata":{"unresolvedName":"statusMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"calls","metadata":{"unresolvedName":"getFileStatusFromDiff"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:childLoadIdsRef.current.get","kind":"calls","metadata":{"unresolvedName":"childLoadIdsRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:childLoadIdsRef.current.set","kind":"calls","metadata":{"unresolvedName":"childLoadIdsRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setTree","kind":"calls","metadata":{"unresolvedName":"setTree"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"calls","metadata":{"unresolvedName":"updateTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:listDirectory","kind":"calls","metadata":{"unresolvedName":"listDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:isCurrentLoad","kind":"calls","metadata":{"unresolvedName":"isCurrentLoad"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"calls","metadata":{"unresolvedName":"sortNodes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:sorted.map","kind":"calls","metadata":{"unresolvedName":"sorted.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setExpandedPaths","kind":"calls","metadata":{"unresolvedName":"setExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:expandedPathsByDirectoryRef.current.set","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:expandedPathsByDirectoryRef.current.set","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updateExpandedPaths","kind":"calls","metadata":{"unresolvedName":"updateExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"calls","metadata":{"unresolvedName":"findTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.has","kind":"calls","metadata":{"unresolvedName":"next.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"calls","metadata":{"unresolvedName":"findTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updateExpandedPaths","kind":"calls","metadata":{"unresolvedName":"updateExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"calls","metadata":{"unresolvedName":"findTreeNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.add","kind":"calls","metadata":{"unresolvedName":"next.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updateExpandedPaths","kind":"calls","metadata":{"unresolvedName":"updateExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:next.delete","kind":"calls","metadata":{"unresolvedName":"next.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:previewCacheRef.current.get","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewContent","kind":"calls","metadata":{"unresolvedName":"setPreviewContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/file.ts:getFileContent","kind":"calls","metadata":{"unresolvedName":"getFileContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:previewCacheRef.current.set","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewContent","kind":"calls","metadata":{"unresolvedName":"setPreviewContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:expandedPathsByDirectoryRef.current.delete","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setExpandedPaths","kind":"calls","metadata":{"unresolvedName":"setExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:previewCacheRef.current.clear","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewContent","kind":"calls","metadata":{"unresolvedName":"setPreviewContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadRoot","kind":"calls","metadata":{"unresolvedName":"loadRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadStatuses","kind":"calls","metadata":{"unresolvedName":"loadStatuses"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadRoot","kind":"calls","metadata":{"unresolvedName":"loadRoot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadStatuses","kind":"calls","metadata":{"unresolvedName":"loadStatuses"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setExpandedPaths","kind":"calls","metadata":{"unresolvedName":"setExpandedPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:expandedPathsByDirectoryRef.current.get","kind":"calls","metadata":{"unresolvedName":"expandedPathsByDirectoryRef.current.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","kind":"calls","metadata":{"unresolvedName":"collectPendingExpandedDirectoryPaths"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:pendingPaths.forEach","kind":"calls","metadata":{"unresolvedName":"pendingPaths.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:loadChildren","kind":"calls","metadata":{"unresolvedName":"loadChildren"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:previewCacheRef.current.clear","kind":"calls","metadata":{"unresolvedName":"previewCacheRef.current.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewContent","kind":"calls","metadata":{"unresolvedName":"setPreviewContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","to":"external:[...nodes].sort","kind":"calls","metadata":{"unresolvedName":"[...nodes].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","to":"external:a.name.toLowerCase().localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:sortNodes","to":"external:b.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"b.name.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:a.name.toLowerCase().localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase().localeCompare"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:a.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"a.name.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"external:b.name.toLowerCase","kind":"calls","metadata":{"unresolvedName":"b.name.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:findTreeNode","kind":"calls","metadata":{"unresolvedName":"findTreeNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","to":"external:tree.map","kind":"calls","metadata":{"unresolvedName":"tree.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"calls","metadata":{"unresolvedName":"updateTreeNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:updateTreeNode","kind":"calls","metadata":{"unresolvedName":"updateTreeNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","to":"external:expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","to":"external:pending.push","kind":"calls","metadata":{"unresolvedName":"pending.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:collectPendingExpandedDirectoryPaths","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","kind":"calls","metadata":{"unresolvedName":"visit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","to":"external:expandedPaths.has","kind":"calls","metadata":{"unresolvedName":"expandedPaths.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","to":"external:pending.push","kind":"calls","metadata":{"unresolvedName":"pending.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:visit","kind":"calls","metadata":{"unresolvedName":"visit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","to":"external:p.replace","kind":"calls","metadata":{"unresolvedName":"p.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","to":"external:result.startsWith","kind":"calls","metadata":{"unresolvedName":"result.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:normalizePath","to":"external:result.slice","kind":"calls","metadata":{"unresolvedName":"result.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","to":"external:diff.before.trim","kind":"calls","metadata":{"unresolvedName":"diff.before.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:getFileStatusFromDiff","to":"external:diff.after.trim","kind":"calls","metadata":{"unresolvedName":"diff.after.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:filePath.split","kind":"calls","metadata":{"unresolvedName":"filePath.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:parts.slice(0, i).join","kind":"calls","metadata":{"unresolvedName":"parts.slice(0, i).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:parts.slice","kind":"calls","metadata":{"unresolvedName":"parts.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:dirStatuses.get","kind":"calls","metadata":{"unresolvedName":"dirStatuses.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:dirStatuses.set","kind":"calls","metadata":{"unresolvedName":"dirStatuses.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:statusMap.has","kind":"calls","metadata":{"unresolvedName":"statusMap.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useFileExplorer.ts:computeDirectoryStatus","to":"external:statusMap.set","kind":"calls","metadata":{"unresolvedName":"statusMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","to":"external:refreshListeners.forEach","kind":"calls","metadata":{"unresolvedName":"refreshListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:requestGitWorkspaceCatalogRefresh","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:directories.filter(Boolean).map","kind":"calls","metadata":{"unresolvedName":"directories.filter(Boolean).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:directories.filter","kind":"calls","metadata":{"unresolvedName":"directories.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:setCatalogState","kind":"calls","metadata":{"unresolvedName":"setCatalogState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:normalizedDirectories.map","kind":"calls","metadata":{"unresolvedName":"normalizedDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:previousWorkspacesByRoot.set","kind":"calls","metadata":{"unresolvedName":"previousWorkspacesByRoot.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:normalizedDirectorySet.has","kind":"calls","metadata":{"unresolvedName":"normalizedDirectorySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:nextCatalog.set","kind":"calls","metadata":{"unresolvedName":"nextCatalog.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:previousCatalog.get","kind":"calls","metadata":{"unresolvedName":"previousCatalog.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:rootDirectories.add","kind":"calls","metadata":{"unresolvedName":"rootDirectories.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:directoryToRoot.set","kind":"calls","metadata":{"unresolvedName":"directoryToRoot.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:rootDirectoryList.map","kind":"calls","metadata":{"unresolvedName":"rootDirectoryList.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"calls","metadata":{"unresolvedName":"listWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:rootToWorkspaces.set","kind":"calls","metadata":{"unresolvedName":"rootToWorkspaces.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:previousWorkspacesByRoot.get","kind":"calls","metadata":{"unresolvedName":"previousWorkspacesByRoot.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:worktrees.map","kind":"calls","metadata":{"unresolvedName":"worktrees.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:normalizedWorktrees.filter","kind":"calls","metadata":{"unresolvedName":"normalizedWorktrees.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:worktree.toLowerCase","kind":"calls","metadata":{"unresolvedName":"worktree.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:rootDirectory.toLowerCase","kind":"calls","metadata":{"unresolvedName":"rootDirectory.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:rootToWorkspaces.get","kind":"calls","metadata":{"unresolvedName":"rootToWorkspaces.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:refreshListeners.add","kind":"calls","metadata":{"unresolvedName":"refreshListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:useGitWorkspaceCatalog","to":"external:refreshListeners.delete","kind":"calls","metadata":{"unresolvedName":"refreshListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:setCatalog","kind":"calls","metadata":{"unresolvedName":"setCatalog"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:directories.filter(Boolean).map","kind":"calls","metadata":{"unresolvedName":"directories.filter(Boolean).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:directories.filter","kind":"calls","metadata":{"unresolvedName":"directories.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:setCatalogState","kind":"calls","metadata":{"unresolvedName":"setCatalogState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:Promise.allSettled","kind":"calls","metadata":{"unresolvedName":"Promise.allSettled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:normalizedDirectories.map","kind":"calls","metadata":{"unresolvedName":"normalizedDirectories.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:previousWorkspacesByRoot.set","kind":"calls","metadata":{"unresolvedName":"previousWorkspacesByRoot.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:normalizedDirectorySet.has","kind":"calls","metadata":{"unresolvedName":"normalizedDirectorySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:nextCatalog.set","kind":"calls","metadata":{"unresolvedName":"nextCatalog.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:previousCatalog.get","kind":"calls","metadata":{"unresolvedName":"previousCatalog.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:rootDirectories.add","kind":"calls","metadata":{"unresolvedName":"rootDirectories.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:directoryToRoot.set","kind":"calls","metadata":{"unresolvedName":"directoryToRoot.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:rootDirectoryList.map","kind":"calls","metadata":{"unresolvedName":"rootDirectoryList.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/worktree.ts:listWorktrees","kind":"calls","metadata":{"unresolvedName":"listWorktrees"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:rootToWorkspaces.set","kind":"calls","metadata":{"unresolvedName":"rootToWorkspaces.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:previousWorkspacesByRoot.get","kind":"calls","metadata":{"unresolvedName":"previousWorkspacesByRoot.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:worktrees.map","kind":"calls","metadata":{"unresolvedName":"worktrees.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:normalizedWorktrees.filter","kind":"calls","metadata":{"unresolvedName":"normalizedWorktrees.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:worktree.toLowerCase","kind":"calls","metadata":{"unresolvedName":"worktree.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:rootDirectory.toLowerCase","kind":"calls","metadata":{"unresolvedName":"rootDirectory.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:rootToWorkspaces.get","kind":"calls","metadata":{"unresolvedName":"rootToWorkspaces.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:refreshListeners.add","kind":"calls","metadata":{"unresolvedName":"refreshListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:refreshListeners.delete","kind":"calls","metadata":{"unresolvedName":"refreshListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGitWorkspaceCatalog.ts:","to":"external:refreshListeners.delete","kind":"calls","metadata":{"unresolvedName":"refreshListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:createDeferred","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:createDeferred","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:replyPermissionMock.mockClear","kind":"calls","metadata":{"unresolvedName":"replyPermissionMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:childBelongsToSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"childBelongsToSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:notificationPushMock.mockReset","kind":"calls","metadata":{"unresolvedName":"notificationPushMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:playNotificationSoundDedupedMock.mockReset","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDedupedMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSoundSnapshotMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockReset","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:applyServerConnectedTimestampMock.mockReset","kind":"calls","metadata":{"unresolvedName":"applyServerConnectedTimestampMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getActiveServerIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveServerIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Object.values(activeSessionStoreMock).forEach","kind":"calls","metadata":{"unresolvedName":"Object.values(activeSessionStoreMock).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Object.values","kind":"calls","metadata":{"unresolvedName":"Object.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:value.mockClear","kind":"calls","metadata":{"unresolvedName":"value.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSoundSnapshotMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getActiveServerIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveServerIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSessionMeta.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSnapshot.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSnapshot.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onServerConnected","kind":"calls","metadata":{"unresolvedName":"callbacks!.onServerConnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.set","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(getSessionStatusMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionStatusMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get('/two')?.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get('/two')?.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get('/one')?.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get('/one')?.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferred.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferred.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSessionMeta.mockImplementation","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.addPendingRequest.mock.calls.filter","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.addPendingRequest.mock.calls.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:childBelongsToSessionMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"childBelongsToSessionMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"callbacks!.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"callbacks!.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:unregister","kind":"calls","metadata":{"unresolvedName":"unregister"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:it.each","kind":"calls","metadata":{"unresolvedName":"it.each"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","kind":"calls","metadata":{"unresolvedName":"beforeTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:callbacks![trigger as keyof typeof callbacks]","kind":"calls","metadata":{"unresolvedName":"callbacks![trigger as keyof typeof callbacks]"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockClear","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:replyPermissionMock.mockClear","kind":"calls","metadata":{"unresolvedName":"replyPermissionMock.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:childBelongsToSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"childBelongsToSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:notificationPushMock.mockReset","kind":"calls","metadata":{"unresolvedName":"notificationPushMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:playNotificationSoundDedupedMock.mockReset","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDedupedMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSoundSnapshotMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockReset","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:applyServerConnectedTimestampMock.mockReset","kind":"calls","metadata":{"unresolvedName":"applyServerConnectedTimestampMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getActiveServerIdMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveServerIdMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Object.values(activeSessionStoreMock).forEach","kind":"calls","metadata":{"unresolvedName":"Object.values(activeSessionStoreMock).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Object.values","kind":"calls","metadata":{"unresolvedName":"Object.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:value.mockClear","kind":"calls","metadata":{"unresolvedName":"value.mockClear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSoundSnapshotMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getSoundSnapshotMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getActiveServerIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveServerIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSessionMeta.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSnapshot.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSnapshot.mockReturnValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:value.mockClear","kind":"calls","metadata":{"unresolvedName":"value.mockClear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onServerConnected","kind":"calls","metadata":{"unresolvedName":"callbacks!.onServerConnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(applyServerConnectedTimestampMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.set","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(getSessionStatusMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionStatusMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get('/two')?.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get('/two')?.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get('/one')?.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get('/one')?.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).not.toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.set","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergeStatusRefresh).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(getSessionStatusMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionStatusMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferred.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferred.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.initializePendingRequests).toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.addPendingRequest).toHaveBeenNthCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.getSessionMeta.mockImplementation","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSessionMeta.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getSessionStatusMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"getSessionStatusMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.set","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingPermissionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingPermissionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getPendingQuestionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getPendingQuestionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(getSessionStatusMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionStatusMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get('/two')?.resolve","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get('/two')?.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.get","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStoreMock.mergePendingRequests).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:activeSessionStoreMock.addPendingRequest.mock.calls.filter","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.addPendingRequest.mock.calls.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:statusDeferreds.set","kind":"calls","metadata":{"unresolvedName":"statusDeferreds.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:childBelongsToSessionMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"childBelongsToSessionMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"callbacks!.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:childBelongsToSessionMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"childBelongsToSessionMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"calls","metadata":{"unresolvedName":"registerSessionConsumer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"callbacks!.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(consumerAskedMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(consumerAskedMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:unregister","kind":"calls","metadata":{"unresolvedName":"unregister"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:getFocusedSessionIdMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getFocusedSessionIdMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:callbacks!.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"callbacks!.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","to":"external:activeSessionStoreMock.getSnapshot.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"activeSessionStoreMock.getSnapshot.mockReturnValue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:isSystemEnabledMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"isSystemEnabledMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:beforeTrigger","kind":"calls","metadata":{"unresolvedName":"beforeTrigger"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"calls","metadata":{"unresolvedName":"useGlobalEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(callbacks).toBeDefined","kind":"calls","metadata":{"unresolvedName":"expect(callbacks).toBeDefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"symbol-name:callbacks![trigger as keyof typeof callbacks]","kind":"calls","metadata":{"unresolvedName":"callbacks![trigger as keyof typeof callbacks]"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(notificationPushMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(notificationPushMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(playNotificationSoundDedupedMock).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","to":"external:sessionConsumers.set","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:registerSessionConsumer","to":"external:sessionConsumers.delete","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionConsumers.delete","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:updateConsumerSessionId","to":"external:sessionConsumers.get","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","to":"external:childSessionStore.belongsToSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.belongsToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","to":"external:childSessionStore.belongsToSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.belongsToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","to":"external:sessionConsumers.entries","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasOtherConsumerForSession","to":"external:childSessionStore.belongsToSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.belongsToSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","to":"external:arr.filter","kind":"calls","metadata":{"unresolvedName":"arr.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","to":"external:map.delete","kind":"calls","metadata":{"unresolvedName":"map.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","to":"external:arr.push","kind":"calls","metadata":{"unresolvedName":"arr.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","to":"external:map.delete","kind":"calls","metadata":{"unresolvedName":"map.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","to":"external:arr.map","kind":"calls","metadata":{"unresolvedName":"arr.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","to":"external:directories.join","kind":"calls","metadata":{"unresolvedName":"directories.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","to":"external:map.get","kind":"calls","metadata":{"unresolvedName":"map.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","to":"external:arr.filter","kind":"calls","metadata":{"unresolvedName":"arr.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","to":"external:map.delete","kind":"calls","metadata":{"unresolvedName":"map.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","to":"external:map.set","kind":"calls","metadata":{"unresolvedName":"map.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:scopes.map","kind":"calls","metadata":{"unresolvedName":"scopes.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:getSessionStatus(directory).catch","kind":"calls","metadata":{"unresolvedName":"getSessionStatus(directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus","kind":"calls","metadata":{"unresolvedName":"getSessionStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:getPendingPermissions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:getPendingQuestions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:results.forEach","kind":"calls","metadata":{"unresolvedName":"results.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:Object.keys(statusMap).forEach","kind":"calls","metadata":{"unresolvedName":"Object.keys(statusMap).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:sessionMetaEntries.push","kind":"calls","metadata":{"unresolvedName":"sessionMetaEntries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:permissions.forEach","kind":"calls","metadata":{"unresolvedName":"permissions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:permissionMap.set","kind":"calls","metadata":{"unresolvedName":"permissionMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:questions.forEach","kind":"calls","metadata":{"unresolvedName":"questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:questionMap.set","kind":"calls","metadata":{"unresolvedName":"questionMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:permissionMap.values","kind":"calls","metadata":{"unresolvedName":"permissionMap.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","to":"external:questionMap.values","kind":"calls","metadata":{"unresolvedName":"questionMap.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:getSessionStatus(directory).catch","kind":"calls","metadata":{"unresolvedName":"getSessionStatus(directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionStatus","kind":"calls","metadata":{"unresolvedName":"getSessionStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:getPendingPermissions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:getPendingQuestions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:Object.keys(statusMap).forEach","kind":"calls","metadata":{"unresolvedName":"Object.keys(statusMap).forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionMetaEntries.push","kind":"calls","metadata":{"unresolvedName":"sessionMetaEntries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:permissions.forEach","kind":"calls","metadata":{"unresolvedName":"permissions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:permissionMap.set","kind":"calls","metadata":{"unresolvedName":"permissionMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:questions.forEach","kind":"calls","metadata":{"unresolvedName":"questions.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:questionMap.set","kind":"calls","metadata":{"unresolvedName":"questionMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionMetaEntries.push","kind":"calls","metadata":{"unresolvedName":"sessionMetaEntries.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionMetaEntries.push","kind":"calls","metadata":{"unresolvedName":"sessionMetaEntries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:permissionMap.set","kind":"calls","metadata":{"unresolvedName":"permissionMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionMetaEntries.push","kind":"calls","metadata":{"unresolvedName":"sessionMetaEntries.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:questionMap.set","kind":"calls","metadata":{"unresolvedName":"questionMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","to":"external:childSessionStore.belongsToSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.belongsToSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:hasConsumerForSession","kind":"calls","metadata":{"unresolvedName":"hasConsumerForSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:pendingScrollSessionIds.add","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"cb.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:pendingScrollSessionIds.clear","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:fetchActiveScopeData(directoriesRef.current)\n .then","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData(directoriesRef.current)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:latePendingRequests.values","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:currentDirectories.includes","kind":"calls","metadata":{"unresolvedName":"currentDirectories.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.setSessionMetaBulk","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMetaBulk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"calls","metadata":{"unresolvedName":"scheduleScroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handlePartRemoved","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"calls","metadata":{"unresolvedName":"drainPending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.setSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"calls","metadata":{"unresolvedName":"cleanupExpired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handleSessionIdle","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:childSessionStore.markIdle","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"cb.onSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.handleSessionError","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:childSessionStore.markError","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.updateStatus","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.updateStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:error.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"error.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onSessionError","kind":"calls","metadata":{"unresolvedName":"cb.onSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch","kind":"calls","metadata":{"unresolvedName":"replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"calls","metadata":{"unresolvedName":"replyPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:request.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"request.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:latePendingRequests.set","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"calls","metadata":{"unresolvedName":"addPending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"calls","metadata":{"unresolvedName":"removePendingByRequestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:latePendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:cb.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionRejected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:activeSessionStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:data.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"data.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"calls","metadata":{"unresolvedName":"fetchAndInitialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:consumer.callbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"consumer.callbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:useGlobalEvents","to":"external:refreshRef.current","kind":"calls","metadata":{"unresolvedName":"refreshRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:pendingScrollSessionIds.add","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"cb.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:pendingScrollSessionIds.clear","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:fetchActiveScopeData(directoriesRef.current)\n .then","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData(directoriesRef.current)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:latePendingRequests.values","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:currentDirectories.includes","kind":"calls","metadata":{"unresolvedName":"currentDirectories.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.setSessionMetaBulk","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMetaBulk"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"calls","metadata":{"unresolvedName":"scheduleScroll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handlePartRemoved","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"calls","metadata":{"unresolvedName":"drainPending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.setSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"calls","metadata":{"unresolvedName":"cleanupExpired"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handleSessionIdle","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:childSessionStore.markIdle","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"cb.onSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.handleSessionError","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:childSessionStore.markError","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.updateStatus","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.updateStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:error.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"error.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onSessionError","kind":"calls","metadata":{"unresolvedName":"cb.onSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch","kind":"calls","metadata":{"unresolvedName":"replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"calls","metadata":{"unresolvedName":"replyPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:request.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"request.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:latePendingRequests.set","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"calls","metadata":{"unresolvedName":"addPending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"calls","metadata":{"unresolvedName":"removePendingByRequestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:latePendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionReplied"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionRejected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:data.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"data.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"calls","metadata":{"unresolvedName":"fetchAndInitialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:consumer.callbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"consumer.callbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","to":"external:pendingScrollSessionIds.add","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","to":"external:cb.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"cb.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","to":"external:pendingScrollSessionIds.clear","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:cb.onScrollRequest","kind":"calls","metadata":{"unresolvedName":"cb.onScrollRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:pendingScrollSessionIds.clear","kind":"calls","metadata":{"unresolvedName":"pendingScrollSessionIds.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:fetchActiveScopeData(directoriesRef.current)\n .then","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData(directoriesRef.current)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchActiveScopeData","kind":"calls","metadata":{"unresolvedName":"fetchActiveScopeData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:latePendingRequests.values","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:currentDirectories.includes","kind":"calls","metadata":{"unresolvedName":"currentDirectories.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","to":"external:activeSessionStore.setSessionMetaBulk","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMetaBulk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:latePendingRequests.values","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:currentDirectories.includes","kind":"calls","metadata":{"unresolvedName":"currentDirectories.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:activeSessionStore.setSessionMetaBulk","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMetaBulk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onMessageUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onMessageUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onMessageUpdated","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartUpdated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"calls","metadata":{"unresolvedName":"scheduleScroll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartDelta","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:scheduleScroll","kind":"calls","metadata":{"unresolvedName":"scheduleScroll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartRemoved","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartRemoved","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPartRemoved","to":"external:messageStore.handlePartRemoved","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:drainPending","kind":"calls","metadata":{"unresolvedName":"drainPending"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"external:cb.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"external:cb.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"external:activeSessionStore.setSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionCreated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:cleanupExpired","kind":"calls","metadata":{"unresolvedName":"cleanupExpired"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","to":"external:messageStore.handleSessionIdle","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","to":"external:childSessionStore.markIdle","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markIdle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionIdle","to":"external:cb.onSessionIdle","kind":"calls","metadata":{"unresolvedName":"cb.onSessionIdle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:messageStore.handleSessionError","kind":"calls","metadata":{"unresolvedName":"messageStore.handleSessionError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:childSessionStore.markError","kind":"calls","metadata":{"unresolvedName":"childSessionStore.markError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:activeSessionStore.updateStatus","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.updateStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:error.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"error.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionError","to":"external:cb.onSessionError","kind":"calls","metadata":{"unresolvedName":"cb.onSessionError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","to":"external:activeSessionStore.setSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.setSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","to":"external:childSessionStore.registerChildSession","kind":"calls","metadata":{"unresolvedName":"childSessionStore.registerChildSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionUpdated","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onServerConnected","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch","kind":"calls","metadata":{"unresolvedName":"replyPermission(request.id, 'once', undefined, dir, request.sessionID).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"calls","metadata":{"unresolvedName":"replyPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:request.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"request.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:latePendingRequests.set","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"external:cb.onPermissionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"calls","metadata":{"unresolvedName":"addPending"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"calls","metadata":{"unresolvedName":"removePendingByRequestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"external:latePendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onPermissionReplied","to":"external:cb.onPermissionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onPermissionReplied"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:request.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"request.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:latePendingRequests.set","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:getScopeKey","kind":"calls","metadata":{"unresolvedName":"getScopeKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"external:cb.onQuestionAsked","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionAsked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionAsked","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:addPending","kind":"calls","metadata":{"unresolvedName":"addPending"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"calls","metadata":{"unresolvedName":"removePendingByRequestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"external:latePendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionReplied","to":"external:cb.onQuestionReplied","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionReplied"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:removePendingByRequestId","kind":"calls","metadata":{"unresolvedName":"removePendingByRequestId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"external:latePendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"latePendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:dispatchToConsumers","kind":"calls","metadata":{"unresolvedName":"dispatchToConsumers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onQuestionRejected","to":"external:cb.onQuestionRejected","kind":"calls","metadata":{"unresolvedName":"cb.onQuestionRejected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:activeSessionStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:activeSessionStore.updateStatus","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.updateStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:belongsToCurrentSession","kind":"calls","metadata":{"unresolvedName":"belongsToCurrentSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:activeSessionStore.getSessionMeta","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getSessionMeta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:data.sessionID.slice","kind":"calls","metadata":{"unresolvedName":"data.sessionID.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:notificationStore.push","kind":"calls","metadata":{"unresolvedName":"notificationStore.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:isSessionDirectlyOpen","kind":"calls","metadata":{"unresolvedName":"isSessionDirectlyOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onSessionStatus","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"calls","metadata":{"unresolvedName":"playNotificationSoundDeduped"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:fetchAndInitialize","kind":"calls","metadata":{"unresolvedName":"fetchAndInitialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","to":"external:sessionConsumers.values","kind":"calls","metadata":{"unresolvedName":"sessionConsumers.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:onReconnected","to":"external:consumer.callbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"consumer.callbacks.onReconnected"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useGlobalEvents.ts:","to":"external:refreshRef.current","kind":"calls","metadata":{"unresolvedName":"refreshRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getMatchMediaMatches","kind":"calls","metadata":{"unresolvedName":"getMatchMediaMatches"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"symbol-name:setCapabilities","kind":"calls","metadata":{"unresolvedName":"setCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"calls","metadata":{"unresolvedName":"getInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"symbol-name:handleChange","kind":"calls","metadata":{"unresolvedName":"handleChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:canHoverMediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:coarsePointerMediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:canHoverMediaQuery.addListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.addListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:coarsePointerMediaQuery.addListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.addListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:canHoverMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:coarsePointerMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:canHoverMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:coarsePointerMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:useInputCapabilities","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"symbol-name:setCapabilities","kind":"calls","metadata":{"unresolvedName":"setCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"calls","metadata":{"unresolvedName":"getInputCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"symbol-name:handleChange","kind":"calls","metadata":{"unresolvedName":"handleChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.addListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.addListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.addListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.addListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange","to":"symbol-name:setCapabilities","kind":"calls","metadata":{"unresolvedName":"setCapabilities"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:handleChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:getInputCapabilities","kind":"calls","metadata":{"unresolvedName":"getInputCapabilities"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.removeEventListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:canHoverMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"canHoverMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:coarsePointerMediaQuery.removeListener","kind":"calls","metadata":{"unresolvedName":"coarsePointerMediaQuery.removeListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInputCapabilities.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:observe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:observe","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:unobserve","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:unobserve","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:disconnect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:disconnect","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"calls","metadata":{"unresolvedName":"useInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:InViewHarness","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:IntersectionObserverMock.instance?.callback","kind":"calls","metadata":{"unresolvedName":"IntersectionObserverMock.instance?.callback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:expect(screen.getByTestId('state')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('state')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:IntersectionObserverMock.instance?.callback","kind":"calls","metadata":{"unresolvedName":"IntersectionObserverMock.instance?.callback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:expect(screen.getByTestId('state')).toHaveTextContent","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByTestId('state')).toHaveTextContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.test.tsx:","to":"external:IntersectionObserverMock.instance?.callback","kind":"calls","metadata":{"unresolvedName":"IntersectionObserverMock.instance?.callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"symbol-name:setInView","kind":"calls","metadata":{"unresolvedName":"setInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"symbol-name:setHasTriggered","kind":"calls","metadata":{"unresolvedName":"setHasTriggered"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"external:observer.unobserve","kind":"calls","metadata":{"unresolvedName":"observer.unobserve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:useInView","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"symbol-name:setInView","kind":"calls","metadata":{"unresolvedName":"setInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"symbol-name:setHasTriggered","kind":"calls","metadata":{"unresolvedName":"setHasTriggered"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"external:observer.unobserve","kind":"calls","metadata":{"unresolvedName":"observer.unobserve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"external:observer.observe","kind":"calls","metadata":{"unresolvedName":"observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"symbol-name:setInView","kind":"calls","metadata":{"unresolvedName":"setInView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"symbol-name:setHasTriggered","kind":"calls","metadata":{"unresolvedName":"setHasTriggered"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"external:observer.unobserve","kind":"calls","metadata":{"unresolvedName":"observer.unobserve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useInView.ts:","to":"external:observer.disconnect","kind":"calls","metadata":{"unresolvedName":"observer.disconnect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","kind":"calls","metadata":{"unresolvedName":"checkMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","kind":"calls","metadata":{"unresolvedName":"checkMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:checkMobile","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.subscribe.bind","kind":"calls","metadata":{"unresolvedName":"keybindingStore.subscribe.bind"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.getAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.setKeybinding","kind":"calls","metadata":{"unresolvedName":"keybindingStore.setKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.resetKeybinding","kind":"calls","metadata":{"unresolvedName":"keybindingStore.resetKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.resetAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.resetAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.isKeyUsed","kind":"calls","metadata":{"unresolvedName":"keybindingStore.isKeyUsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","to":"external:keybindingStore.getByCategory","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getByCategory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.setKeybinding","kind":"calls","metadata":{"unresolvedName":"keybindingStore.setKeybinding"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.resetKeybinding","kind":"calls","metadata":{"unresolvedName":"keybindingStore.resetKeybinding"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.resetAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.resetAll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.getKey","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.isKeyUsed","kind":"calls","metadata":{"unresolvedName":"keybindingStore.isKeyUsed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.getByCategory","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getByCategory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:target.closest","kind":"calls","metadata":{"unresolvedName":"target.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:keybindingStore.getAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:['cancelMessage', 'sendMessage'].includes","kind":"calls","metadata":{"unresolvedName":"['cancelMessage', 'sendMessage'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useGlobalKeybindings","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:target.closest","kind":"calls","metadata":{"unresolvedName":"target.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:keybindingStore.getAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:['cancelMessage', 'sendMessage'].includes","kind":"calls","metadata":{"unresolvedName":"['cancelMessage', 'sendMessage'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:target.closest","kind":"calls","metadata":{"unresolvedName":"target.closest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:keybindingStore.getAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:['cancelMessage', 'sendMessage'].includes","kind":"calls","metadata":{"unresolvedName":"['cancelMessage', 'sendMessage'].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:handleKeyDown","to":"symbol-name:handler","kind":"calls","metadata":{"unresolvedName":"handler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingStore","kind":"calls","metadata":{"unresolvedName":"useKeybindingStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useKeybindings.ts:useKeybindingLabel","to":"external:keybindings.find","kind":"calls","metadata":{"unresolvedName":"keybindings.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:timeouts.forEach","kind":"calls","metadata":{"unresolvedName":"timeouts.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:timeouts.clear","kind":"calls","metadata":{"unresolvedName":"timeouts.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:timeoutsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"timeoutsRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:timeoutsRef.current.add","kind":"calls","metadata":{"unresolvedName":"timeoutsRef.current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:refs.current.messageRefs.set","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:refs.current.messageRefs.delete","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:messageIds.forEach","kind":"calls","metadata":{"unresolvedName":"messageIds.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:refs.current.messageRefs.get","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:useMessageAnimation","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeouts.forEach","kind":"calls","metadata":{"unresolvedName":"timeouts.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeouts.clear","kind":"calls","metadata":{"unresolvedName":"timeouts.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeouts.forEach","kind":"calls","metadata":{"unresolvedName":"timeouts.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeouts.clear","kind":"calls","metadata":{"unresolvedName":"timeouts.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeoutsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"timeoutsRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeoutsRef.current.add","kind":"calls","metadata":{"unresolvedName":"timeoutsRef.current.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:timeoutsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"timeoutsRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:refs.current.messageRefs.set","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:refs.current.messageRefs.delete","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:messageIds.forEach","kind":"calls","metadata":{"unresolvedName":"messageIds.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:refs.current.messageRefs.get","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:messageIds.forEach","kind":"calls","metadata":{"unresolvedName":"messageIds.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:refs.current.messageRefs.get","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"external:refs.current.messageRefs.get","kind":"calls","metadata":{"unresolvedName":"refs.current.messageRefs.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","to":"symbol-name:safeTimeout","kind":"calls","metadata":{"unresolvedName":"safeTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useMessageAnimation.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:useModalAnimation","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:handleKeyDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:handleKeyDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModalAnimation.ts:handleKeyDown","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:onServerChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:onServerChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:onServerChange","to":"external:onServerChangeCallbacks.push","kind":"calls","metadata":{"unresolvedName":"onServerChangeCallbacks.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:onServerChangeCallbacks.forEach","kind":"calls","metadata":{"unresolvedName":"onServerChangeCallbacks.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.isLoading).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.isLoading).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:resolvePromise","kind":"calls","metadata":{"unresolvedName":"resolvePromise"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:result.current.refetch","kind":"calls","metadata":{"unresolvedName":"result.current.refetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models[1].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models[1].id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models[0].id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:onServerChangeCallbacks.forEach","kind":"calls","metadata":{"unresolvedName":"onServerChangeCallbacks.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.isLoading).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.isLoading).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:resolvePromise","kind":"calls","metadata":{"unresolvedName":"resolvePromise"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:resolvePromise","kind":"calls","metadata":{"unresolvedName":"resolvePromise"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:result.current.refetch","kind":"calls","metadata":{"unresolvedName":"result.current.refetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models[1].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models[1].id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:result.current.refetch","kind":"calls","metadata":{"unresolvedName":"result.current.refetch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:getActiveModelsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getActiveModelsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"calls","metadata":{"unresolvedName":"useModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:onServerChangeCallbacks.forEach","kind":"calls","metadata":{"unresolvedName":"onServerChangeCallbacks.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:expect(result.current.models[0].id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.models[0].id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:onServerChangeCallbacks.forEach","kind":"calls","metadata":{"unresolvedName":"onServerChangeCallbacks.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","to":"symbol-name:_notify","kind":"calls","metadata":{"unresolvedName":"_notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"calls","metadata":{"unresolvedName":"_setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"calls","metadata":{"unresolvedName":"getActiveModels"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"calls","metadata":{"unresolvedName":"_setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getActiveModels","kind":"calls","metadata":{"unresolvedName":"getActiveModels"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_setState","kind":"calls","metadata":{"unresolvedName":"_setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"calls","metadata":{"unresolvedName":"_fetchModels"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe","to":"external:_listeners.add","kind":"calls","metadata":{"unresolvedName":"_listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_subscribe","to":"external:_listeners.delete","kind":"calls","metadata":{"unresolvedName":"_listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_getSnapshot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"calls","metadata":{"unresolvedName":"_fetchModels"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:useModels","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModels.ts:_fetchModels","kind":"calls","metadata":{"unresolvedName":"_fetchModels"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:set","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:set","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:set","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:remove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:remove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:remove","to":"external:storage.delete","kind":"calls","metadata":{"unresolvedName":"storage.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveModelVariantPref","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveModelVariantPref","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveModelVariantPref","to":"external:variantPrefs.set","kind":"calls","metadata":{"unresolvedName":"variantPrefs.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveSessionModelSelection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveSessionModelSelection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:saveSessionModelSelection","to":"external:sessionSelections.set","kind":"calls","metadata":{"unresolvedName":"sessionSelections.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.clear","kind":"calls","metadata":{"unresolvedName":"storage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.clear","kind":"calls","metadata":{"unresolvedName":"variantPrefs.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.clear","kind":"calls","metadata":{"unresolvedName":"sessionSelections.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.currentModel?.name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.currentModel?.name).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.set","kind":"calls","metadata":{"unresolvedName":"variantPrefs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedVariant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedVariant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleVariantChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleVariantChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.get","kind":"calls","metadata":{"unresolvedName":"storage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(variantPrefs.get('openai:gpt-4.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.get","kind":"calls","metadata":{"unresolvedName":"variantPrefs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(variantPrefs.get('openai:gpt-4o-mini')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4o-mini')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"result.current.restoreFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(sessionSelections.get('session-1')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sessionSelections.get('session-1')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.get","kind":"calls","metadata":{"unresolvedName":"sessionSelections.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.set","kind":"calls","metadata":{"unresolvedName":"sessionSelections.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(sessionSelections.get('session-2')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sessionSelections.get('session-2')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.clear","kind":"calls","metadata":{"unresolvedName":"storage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.clear","kind":"calls","metadata":{"unresolvedName":"variantPrefs.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.clear","kind":"calls","metadata":{"unresolvedName":"sessionSelections.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.currentModel?.name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.currentModel?.name).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.set","kind":"calls","metadata":{"unresolvedName":"variantPrefs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedVariant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedVariant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleVariantChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleVariantChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleVariantChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleVariantChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.get","kind":"calls","metadata":{"unresolvedName":"storage.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.set","kind":"calls","metadata":{"unresolvedName":"variantPrefs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(variantPrefs.get('openai:gpt-4.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:variantPrefs.get","kind":"calls","metadata":{"unresolvedName":"variantPrefs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(variantPrefs.get('openai:gpt-4o-mini')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(variantPrefs.get('openai:gpt-4o-mini')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"result.current.restoreFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedVariant).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedVariant).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(storage.get(STORAGE_KEY_SELECTED_MODEL)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:storage.get","kind":"calls","metadata":{"unresolvedName":"storage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(sessionSelections.get('session-1')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sessionSelections.get('session-1')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.get","kind":"calls","metadata":{"unresolvedName":"sessionSelections.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.restoreFromMessage","kind":"calls","metadata":{"unresolvedName":"result.current.restoreFromMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(sessionSelections.get('session-1')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sessionSelections.get('session-1')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.get","kind":"calls","metadata":{"unresolvedName":"sessionSelections.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:result.current.handleModelChange","kind":"calls","metadata":{"unresolvedName":"result.current.handleModelChange"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.set","kind":"calls","metadata":{"unresolvedName":"sessionSelections.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(sessionSelections.get('session-2')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(sessionSelections.get('session-2')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.get","kind":"calls","metadata":{"unresolvedName":"sessionSelections.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.set","kind":"calls","metadata":{"unresolvedName":"sessionSelections.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:sessionSelections.set","kind":"calls","metadata":{"unresolvedName":"sessionSelections.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"calls","metadata":{"unresolvedName":"useModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.test.tsx:","to":"external:expect(result.current.selectedModelKey).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.selectedModelKey).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection","kind":"calls","metadata":{"unresolvedName":"getSessionModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"calls","metadata":{"unresolvedName":"findModelByKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:setSelection","kind":"calls","metadata":{"unresolvedName":"setSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:saveSessionModelSelection","kind":"calls","metadata":{"unresolvedName":"saveSessionModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:useModelSelection","to":"symbol-name:saveModelVariantPref","kind":"calls","metadata":{"unresolvedName":"saveModelVariantPref"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"calls","metadata":{"unresolvedName":"findModelByKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:setSelection","kind":"calls","metadata":{"unresolvedName":"setSelection"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:saveSessionModelSelection","kind":"calls","metadata":{"unresolvedName":"saveSessionModelSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:saveModelVariantPref","kind":"calls","metadata":{"unresolvedName":"saveModelVariantPref"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:setSelection","kind":"calls","metadata":{"unresolvedName":"setSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:setSelection","kind":"calls","metadata":{"unresolvedName":"setSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:saveModelVariantPref","kind":"calls","metadata":{"unresolvedName":"saveModelVariantPref"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"calls","metadata":{"unresolvedName":"findModelByKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"symbol-name:setSelection","kind":"calls","metadata":{"unresolvedName":"setSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useModelSelection.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"calls","metadata":{"unresolvedName":"getModelVariantPref"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","to":"external:navigator.serviceWorker.register","kind":"calls","metadata":{"unresolvedName":"navigator.serviceWorker.register"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","to":"symbol-name:isPermissionGranted","kind":"calls","metadata":{"unresolvedName":"isPermissionGranted"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","to":"symbol-name:requestPermission","kind":"calls","metadata":{"unresolvedName":"requestPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","to":"symbol-name:sendNotification","kind":"calls","metadata":{"unresolvedName":"sendNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","to":"symbol-name:isPermissionGranted","kind":"calls","metadata":{"unresolvedName":"isPermissionGranted"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","to":"symbol-name:requestPermission","kind":"calls","metadata":{"unresolvedName":"requestPermission"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:checkTauriPermission().then","kind":"calls","metadata":{"unresolvedName":"checkTauriPermission().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","kind":"calls","metadata":{"unresolvedName":"checkTauriPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"calls","metadata":{"unresolvedName":"ensureServiceWorker"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:window.focus","kind":"calls","metadata":{"unresolvedName":"window.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:navigator.serviceWorker.addEventListener","kind":"calls","metadata":{"unresolvedName":"navigator.serviceWorker.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:navigator.serviceWorker.removeEventListener","kind":"calls","metadata":{"unresolvedName":"navigator.serviceWorker.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","kind":"calls","metadata":{"unresolvedName":"requestTauriPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:setPermission","kind":"calls","metadata":{"unresolvedName":"setPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:Notification.requestPermission","kind":"calls","metadata":{"unresolvedName":"Notification.requestPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"symbol-name:setEnabledState","kind":"calls","metadata":{"unresolvedName":"setEnabledState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","kind":"calls","metadata":{"unresolvedName":"sendTauriNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:reg.showNotification","kind":"calls","metadata":{"unresolvedName":"reg.showNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:useNotification","to":"external:notification.close","kind":"calls","metadata":{"unresolvedName":"notification.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:checkTauriPermission().then","kind":"calls","metadata":{"unresolvedName":"checkTauriPermission().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:checkTauriPermission","kind":"calls","metadata":{"unresolvedName":"checkTauriPermission"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"calls","metadata":{"unresolvedName":"ensureServiceWorker"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:window.focus","kind":"calls","metadata":{"unresolvedName":"window.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:navigator.serviceWorker.addEventListener","kind":"calls","metadata":{"unresolvedName":"navigator.serviceWorker.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:navigator.serviceWorker.removeEventListener","kind":"calls","metadata":{"unresolvedName":"navigator.serviceWorker.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:handler","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:handler","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:handler","to":"external:window.focus","kind":"calls","metadata":{"unresolvedName":"window.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:requestTauriPermission","kind":"calls","metadata":{"unresolvedName":"requestTauriPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"symbol-name:setPermission","kind":"calls","metadata":{"unresolvedName":"setPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:Notification.requestPermission","kind":"calls","metadata":{"unresolvedName":"Notification.requestPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"symbol-name:setEnabledState","kind":"calls","metadata":{"unresolvedName":"setEnabledState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"calls","metadata":{"unresolvedName":"ensureServiceWorker"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:sendTauriNotification","kind":"calls","metadata":{"unresolvedName":"sendTauriNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:ensureServiceWorker","kind":"calls","metadata":{"unresolvedName":"ensureServiceWorker"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:reg.showNotification","kind":"calls","metadata":{"unresolvedName":"reg.showNotification"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:window.focus","kind":"calls","metadata":{"unresolvedName":"window.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:notification.close","kind":"calls","metadata":{"unresolvedName":"notification.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:window.focus","kind":"calls","metadata":{"unresolvedName":"window.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNotification.ts:","to":"external:notification.close","kind":"calls","metadata":{"unresolvedName":"notification.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"symbol-name:setNow","kind":"calls","metadata":{"unresolvedName":"setNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"external:window.setInterval","kind":"calls","metadata":{"unresolvedName":"window.setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:useNow","to":"external:window.clearInterval","kind":"calls","metadata":{"unresolvedName":"window.clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"symbol-name:setNow","kind":"calls","metadata":{"unresolvedName":"setNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"external:window.setInterval","kind":"calls","metadata":{"unresolvedName":"window.setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"external:window.clearInterval","kind":"calls","metadata":{"unresolvedName":"window.clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useNow.ts:","to":"external:window.clearInterval","kind":"calls","metadata":{"unresolvedName":"window.clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:usePanelResizeStatus","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePanelResizeStatus.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","kind":"calls","metadata":{"unresolvedName":"subscribePathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:setPathModeState","kind":"calls","metadata":{"unresolvedName":"setPathModeState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:setEffectiveStyle","kind":"calls","metadata":{"unresolvedName":"setEffectiveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:setDetectedStyle","kind":"calls","metadata":{"unresolvedName":"setDetectedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"calls","metadata":{"unresolvedName":"getDetectedPathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"symbol-name:setPathModeUtil","kind":"calls","metadata":{"unresolvedName":"setPathModeUtil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:usePathMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"calls","metadata":{"unresolvedName":"getEffectivePathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","kind":"calls","metadata":{"unresolvedName":"subscribePathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setPathModeState","kind":"calls","metadata":{"unresolvedName":"setPathModeState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setEffectiveStyle","kind":"calls","metadata":{"unresolvedName":"setEffectiveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setDetectedStyle","kind":"calls","metadata":{"unresolvedName":"setDetectedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"calls","metadata":{"unresolvedName":"getDetectedPathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setPathModeState","kind":"calls","metadata":{"unresolvedName":"setPathModeState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setEffectiveStyle","kind":"calls","metadata":{"unresolvedName":"setEffectiveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setDetectedStyle","kind":"calls","metadata":{"unresolvedName":"setDetectedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"calls","metadata":{"unresolvedName":"getDetectedPathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setPathModeUtil","kind":"calls","metadata":{"unresolvedName":"setPathModeUtil"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setPathModeState","kind":"calls","metadata":{"unresolvedName":"setPathModeState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"symbol-name:setEffectiveStyle","kind":"calls","metadata":{"unresolvedName":"setEffectiveStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePathMode.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"calls","metadata":{"unresolvedName":"getEffectivePathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:replyingIdsRef.current.add","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:setIsReplying","kind":"calls","metadata":{"unresolvedName":"setIsReplying"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"calls","metadata":{"unresolvedName":"withRetry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"calls","metadata":{"unresolvedName":"replyPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:permissionErrorHandler","kind":"calls","metadata":{"unresolvedName":"permissionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:replyingIdsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","kind":"calls","metadata":{"unresolvedName":"replyQuestion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","kind":"calls","metadata":{"unresolvedName":"rejectQuestion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:getPendingPermissions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:getPendingQuestions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:allPermissions.filter","kind":"calls","metadata":{"unresolvedName":"allPermissions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:familySet.has","kind":"calls","metadata":{"unresolvedName":"familySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:nextPermissions.map","kind":"calls","metadata":{"unresolvedName":"nextPermissions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:allQuestions.filter","kind":"calls","metadata":{"unresolvedName":"allQuestions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:usePermissionHandler","to":"external:replyingIdsRef.current.clear","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.add","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setIsReplying","kind":"calls","metadata":{"unresolvedName":"setIsReplying"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"calls","metadata":{"unresolvedName":"withRetry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyPermission","kind":"calls","metadata":{"unresolvedName":"replyPermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:permissionErrorHandler","kind":"calls","metadata":{"unresolvedName":"permissionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.add","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setIsReplying","kind":"calls","metadata":{"unresolvedName":"setIsReplying"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"calls","metadata":{"unresolvedName":"withRetry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:replyQuestion","kind":"calls","metadata":{"unresolvedName":"replyQuestion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:permissionErrorHandler","kind":"calls","metadata":{"unresolvedName":"permissionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.add","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setIsReplying","kind":"calls","metadata":{"unresolvedName":"setIsReplying"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:withRetry","kind":"calls","metadata":{"unresolvedName":"withRetry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:rejectQuestion","kind":"calls","metadata":{"unresolvedName":"rejectQuestion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:activeSessionStore.resolvePendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.resolvePendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:permissionErrorHandler","kind":"calls","metadata":{"unresolvedName":"permissionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.delete","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:getPendingPermissions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingPermissions","kind":"calls","metadata":{"unresolvedName":"getPendingPermissions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:getPendingQuestions(undefined, directory).catch","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions(undefined, directory).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/permission.ts:getPendingQuestions","kind":"calls","metadata":{"unresolvedName":"getPendingQuestions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:allPermissions.filter","kind":"calls","metadata":{"unresolvedName":"allPermissions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:familySet.has","kind":"calls","metadata":{"unresolvedName":"familySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:nextPermissions.map","kind":"calls","metadata":{"unresolvedName":"nextPermissions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:allQuestions.filter","kind":"calls","metadata":{"unresolvedName":"allQuestions.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:permissionErrorHandler","kind":"calls","metadata":{"unresolvedName":"permissionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:nextPermissions.map","kind":"calls","metadata":{"unresolvedName":"nextPermissions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.has","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:familySet.has","kind":"calls","metadata":{"unresolvedName":"familySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.has","kind":"calls","metadata":{"unresolvedName":"merged.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.set","kind":"calls","metadata":{"unresolvedName":"merged.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:merged.values","kind":"calls","metadata":{"unresolvedName":"merged.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingPermissionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingPermissionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"symbol-name:setPendingQuestionRequests","kind":"calls","metadata":{"unresolvedName":"setPendingQuestionRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissionHandler.ts:","to":"external:replyingIdsRef.current.clear","kind":"calls","metadata":{"unresolvedName":"replyingIdsRef.current.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","to":"external:sessionApprovedTools.has","kind":"calls","metadata":{"unresolvedName":"sessionApprovedTools.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:usePermissions","to":"symbol-name:setSessionApprovedTools","kind":"calls","metadata":{"unresolvedName":"setSessionApprovedTools"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","to":"external:sessionApprovedTools.has","kind":"calls","metadata":{"unresolvedName":"sessionApprovedTools.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","to":"symbol-name:setSessionApprovedTools","kind":"calls","metadata":{"unresolvedName":"setSessionApprovedTools"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePermissions.ts:","to":"symbol-name:setSessionApprovedTools","kind":"calls","metadata":{"unresolvedName":"setSessionApprovedTools"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"external:motion/mini","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useDelayedRender.ts:useDelayedRender","kind":"calls","metadata":{"unresolvedName":"useDelayedRender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","kind":"calls","metadata":{"unresolvedName":"stringifyStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:usePresence","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","to":"external:animRef.current?.stop","kind":"calls","metadata":{"unresolvedName":"animRef.current?.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","kind":"calls","metadata":{"unresolvedName":"stringifyStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:","to":"symbol-name:animate","kind":"calls","metadata":{"unresolvedName":"animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/usePresence.ts:stringifyStyle","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:useTranslation","kind":"calls","metadata":{"unresolvedName":"useTranslation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","kind":"calls","metadata":{"unresolvedName":"getProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:all.find","kind":"calls","metadata":{"unresolvedName":"all.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:setCurrentProject","kind":"calls","metadata":{"unresolvedName":"setCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"symbol-name:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:useProject","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getCurrentProject","kind":"calls","metadata":{"unresolvedName":"getCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/client.ts:getProjects","kind":"calls","metadata":{"unresolvedName":"getProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:all.find","kind":"calls","metadata":{"unresolvedName":"all.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:setCurrentProject","kind":"calls","metadata":{"unresolvedName":"setCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/parts/ToolPartView.test.tsx:t","kind":"calls","metadata":{"unresolvedName":"t"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"symbol-name:setCurrentProject","kind":"calls","metadata":{"unresolvedName":"setCurrentProject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useProject.ts:","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:","to":"external:listeners.forEach","kind":"calls","metadata":{"unresolvedName":"listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe","to":"external:listeners.add","kind":"calls","metadata":{"unresolvedName":"listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:subscribe","to":"external:listeners.delete","kind":"calls","metadata":{"unresolvedName":"listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getSnapshot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getServerSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:getServerSnapshot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useResponsiveMaxHeight.ts:useResponsiveMaxHeight","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:messages.some","kind":"calls","metadata":{"unresolvedName":"messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:revertErrorHandler","kind":"calls","metadata":{"unresolvedName":"revertErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:messages.slice(targetUIIndex).map","kind":"calls","metadata":{"unresolvedName":"messages.slice(targetUIIndex).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:messages.slice","kind":"calls","metadata":{"unresolvedName":"messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:animateUndo","kind":"calls","metadata":{"unresolvedName":"animateUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:apiMessages.findIndex","kind":"calls","metadata":{"unresolvedName":"apiMessages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:setSessionRevertState","kind":"calls","metadata":{"unresolvedName":"setSessionRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:apiMessages.slice(targetIndex).filter","kind":"calls","metadata":{"unresolvedName":"apiMessages.slice(targetIndex).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:apiMessages.slice","kind":"calls","metadata":{"unresolvedName":"apiMessages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:revertedUserMessages.map","kind":"calls","metadata":{"unresolvedName":"revertedUserMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:setRevertHistory","kind":"calls","metadata":{"unresolvedName":"setRevertHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:setRevertedMessage","kind":"calls","metadata":{"unresolvedName":"setRevertedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"calls","metadata":{"unresolvedName":"setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:filteredApiMessages.map","kind":"calls","metadata":{"unresolvedName":"filteredApiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:scrollToEnd","kind":"calls","metadata":{"unresolvedName":"scrollToEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"symbol-name:animateRedo","kind":"calls","metadata":{"unresolvedName":"animateRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:revertHistory.slice","kind":"calls","metadata":{"unresolvedName":"revertHistory.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:useRevertState","to":"external:apiMessages.map","kind":"calls","metadata":{"unresolvedName":"apiMessages.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:revertErrorHandler","kind":"calls","metadata":{"unresolvedName":"revertErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:messages.slice(targetUIIndex).map","kind":"calls","metadata":{"unresolvedName":"messages.slice(targetUIIndex).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:messages.slice","kind":"calls","metadata":{"unresolvedName":"messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:animateUndo","kind":"calls","metadata":{"unresolvedName":"animateUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.findIndex","kind":"calls","metadata":{"unresolvedName":"apiMessages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setSessionRevertState","kind":"calls","metadata":{"unresolvedName":"setSessionRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.slice(targetIndex).filter","kind":"calls","metadata":{"unresolvedName":"apiMessages.slice(targetIndex).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.slice","kind":"calls","metadata":{"unresolvedName":"apiMessages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:revertedUserMessages.map","kind":"calls","metadata":{"unresolvedName":"revertedUserMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertHistory","kind":"calls","metadata":{"unresolvedName":"setRevertHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertedMessage","kind":"calls","metadata":{"unresolvedName":"setRevertedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"calls","metadata":{"unresolvedName":"setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:filteredApiMessages.map","kind":"calls","metadata":{"unresolvedName":"filteredApiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:scrollToEnd","kind":"calls","metadata":{"unresolvedName":"scrollToEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:animateRedo","kind":"calls","metadata":{"unresolvedName":"animateRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:revertHistory.slice","kind":"calls","metadata":{"unresolvedName":"revertHistory.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertedMessage","kind":"calls","metadata":{"unresolvedName":"setRevertedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setSessionRevertState","kind":"calls","metadata":{"unresolvedName":"setSessionRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertHistory","kind":"calls","metadata":{"unresolvedName":"setRevertHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.findIndex","kind":"calls","metadata":{"unresolvedName":"apiMessages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.slice","kind":"calls","metadata":{"unresolvedName":"apiMessages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"calls","metadata":{"unresolvedName":"setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:filteredApiMessages.map","kind":"calls","metadata":{"unresolvedName":"filteredApiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.map","kind":"calls","metadata":{"unresolvedName":"apiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:revertErrorHandler","kind":"calls","metadata":{"unresolvedName":"revertErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setSessionRevertState","kind":"calls","metadata":{"unresolvedName":"setSessionRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertHistory","kind":"calls","metadata":{"unresolvedName":"setRevertHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertedMessage","kind":"calls","metadata":{"unresolvedName":"setRevertedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"calls","metadata":{"unresolvedName":"setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"external:apiMessages.map","kind":"calls","metadata":{"unresolvedName":"apiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:revertErrorHandler","kind":"calls","metadata":{"unresolvedName":"revertErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertedMessage","kind":"calls","metadata":{"unresolvedName":"setRevertedMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRevertState.ts:","to":"symbol-name:setRevertHistory","kind":"calls","metadata":{"unresolvedName":"setRevertHistory"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam","to":"symbol-name:decodeURIComponent","kind":"calls","metadata":{"unresolvedName":"decodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"external:hash.split","kind":"calls","metadata":{"unresolvedName":"hash.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"external:queryString.match","kind":"calls","metadata":{"unresolvedName":"queryString.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:decodeDirectoryParam","kind":"calls","metadata":{"unresolvedName":"decodeDirectoryParam"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","to":"external:path.match","kind":"calls","metadata":{"unresolvedName":"path.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:isSameRoute","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:isSameRoute","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"calls","metadata":{"unresolvedName":"parseHash"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","kind":"calls","metadata":{"unresolvedName":"ensureSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:isSameRoute","kind":"calls","metadata":{"unresolvedName":"isSameRoute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:syncRouteFromHash","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"calls","metadata":{"unresolvedName":"parseHash"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:parseHash","kind":"calls","metadata":{"unresolvedName":"parseHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","kind":"calls","metadata":{"unresolvedName":"ensureWindowListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","to":"external:listeners.add","kind":"calls","metadata":{"unresolvedName":"listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:subscribe","to":"external:listeners.delete","kind":"calls","metadata":{"unresolvedName":"listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:listeners.delete","kind":"calls","metadata":{"unresolvedName":"listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureWindowListener","kind":"calls","metadata":{"unresolvedName":"ensureWindowListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:getSnapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:ensureSnapshot","kind":"calls","metadata":{"unresolvedName":"ensureSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useIsMobile.ts:useIsMobile","kind":"calls","metadata":{"unresolvedName":"useIsMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"external:window.history.replaceState","kind":"calls","metadata":{"unresolvedName":"window.history.replaceState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:useRouter","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:window.history.replaceState","kind":"calls","metadata":{"unresolvedName":"window.history.replaceState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:window.history.replaceState","kind":"calls","metadata":{"unresolvedName":"window.history.replaceState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:window.history.replaceState","kind":"calls","metadata":{"unresolvedName":"window.history.replaceState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:buildHash","kind":"calls","metadata":{"unresolvedName":"buildHash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:serverStorage.remove","kind":"calls","metadata":{"unresolvedName":"serverStorage.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"external:window.history.replaceState","kind":"calls","metadata":{"unresolvedName":"window.history.replaceState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useRouter.ts:emitRoute","kind":"calls","metadata":{"unresolvedName":"emitRoute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.subscribe.bind","kind":"calls","metadata":{"unresolvedName":"serverStore.subscribe.bind"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.getServers","kind":"calls","metadata":{"unresolvedName":"serverStore.getServers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.getActiveServer","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.getAllHealth","kind":"calls","metadata":{"unresolvedName":"serverStore.getAllHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.addServer","kind":"calls","metadata":{"unresolvedName":"serverStore.addServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.updateServer","kind":"calls","metadata":{"unresolvedName":"serverStore.updateServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.removeServer","kind":"calls","metadata":{"unresolvedName":"serverStore.removeServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.setActiveServer","kind":"calls","metadata":{"unresolvedName":"serverStore.setActiveServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.checkHealth","kind":"calls","metadata":{"unresolvedName":"serverStore.checkHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:serverStore.checkAllHealth","kind":"calls","metadata":{"unresolvedName":"serverStore.checkAllHealth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:useServerStore","to":"external:healthMap.get","kind":"calls","metadata":{"unresolvedName":"healthMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.addServer","kind":"calls","metadata":{"unresolvedName":"serverStore.addServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.updateServer","kind":"calls","metadata":{"unresolvedName":"serverStore.updateServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.removeServer","kind":"calls","metadata":{"unresolvedName":"serverStore.removeServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.setActiveServer","kind":"calls","metadata":{"unresolvedName":"serverStore.setActiveServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.checkHealth","kind":"calls","metadata":{"unresolvedName":"serverStore.checkHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:serverStore.checkAllHealth","kind":"calls","metadata":{"unresolvedName":"serverStore.checkAllHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useServerStore.ts:","to":"external:healthMap.get","kind":"calls","metadata":{"unresolvedName":"healthMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","to":"symbol-name:setUsage","kind":"calls","metadata":{"unresolvedName":"setUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","to":"external:getSessionContextUsage(sessionId)\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage(sessionId)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:useSessionContextUsage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","to":"symbol-name:setUsage","kind":"calls","metadata":{"unresolvedName":"setUsage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","to":"external:getSessionContextUsage(sessionId)\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage(sessionId)\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessionContextUsage","kind":"calls","metadata":{"unresolvedName":"getSessionContextUsage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","to":"symbol-name:setUsage","kind":"calls","metadata":{"unresolvedName":"setUsage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","to":"symbol-name:setUsage","kind":"calls","metadata":{"unresolvedName":"setUsage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionContextUsage.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","to":"external:apiMessages.map","kind":"calls","metadata":{"unresolvedName":"apiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","to":"external:localState.messages.filter(m => !apiIds.has(m.info.id)).map","kind":"calls","metadata":{"unresolvedName":"localState.messages.filter(m => !apiIds.has(m.info.id)).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","to":"external:localState.messages.filter","kind":"calls","metadata":{"unresolvedName":"localState.messages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","to":"external:apiIds.has","kind":"calls","metadata":{"unresolvedName":"apiIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","to":"external:[...apiMessages, ...localOnly].sort","kind":"calls","metadata":{"unresolvedName":"[...apiMessages, ...localOnly].sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:loadSequenceRef.current.get","kind":"calls","metadata":{"unresolvedName":"loadSequenceRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:loadSequenceRef.current.set","kind":"calls","metadata":{"unresolvedName":"loadSequenceRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:getSession(sid, dir).catch","kind":"calls","metadata":{"unresolvedName":"getSession(sid, dir).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:isStale","kind":"calls","metadata":{"unresolvedName":"isStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:cursorRef.current.set","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:onLoadComplete","kind":"calls","metadata":{"unresolvedName":"onLoadComplete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","kind":"calls","metadata":{"unresolvedName":"mergeWithLocalStreamingMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:onError","kind":"calls","metadata":{"unresolvedName":"onError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:cursorRef.current.get","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:latestState.messages.map","kind":"calls","metadata":{"unresolvedName":"latestState.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort","kind":"calls","metadata":{"unresolvedName":"apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:apiMessages\r\n .filter","kind":"calls","metadata":{"unresolvedName":"apiMessages\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.prependMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.prependMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:state.messages.slice(revertIndex).filter","kind":"calls","metadata":{"unresolvedName":"state.messages.slice(revertIndex).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:revertedUserMessages.map","kind":"calls","metadata":{"unresolvedName":"revertedUserMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:history.slice","kind":"calls","metadata":{"unresolvedName":"history.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:useSessionManager","to":"external:loadSessionRef.current","kind":"calls","metadata":{"unresolvedName":"loadSessionRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:loadSequenceRef.current.get","kind":"calls","metadata":{"unresolvedName":"loadSequenceRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:loadSequenceRef.current.set","kind":"calls","metadata":{"unresolvedName":"loadSequenceRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:getSession(sid, dir).catch","kind":"calls","metadata":{"unresolvedName":"getSession(sid, dir).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSession","kind":"calls","metadata":{"unresolvedName":"getSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then","kind":"calls","metadata":{"unresolvedName":"getSessionMessages(sid, INITIAL_MESSAGE_LIMIT, dir)\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:isStale","kind":"calls","metadata":{"unresolvedName":"isStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.set","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:onLoadComplete","kind":"calls","metadata":{"unresolvedName":"onLoadComplete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.setLoadState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:mergeWithLocalStreamingMessages","kind":"calls","metadata":{"unresolvedName":"mergeWithLocalStreamingMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:onError","kind":"calls","metadata":{"unresolvedName":"onError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:isStale","kind":"calls","metadata":{"unresolvedName":"isStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.set","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.updateSessionMetadata","kind":"calls","metadata":{"unresolvedName":"messageStore.updateSessionMetadata"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.get","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:getSessionMessages","kind":"calls","metadata":{"unresolvedName":"getSessionMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.set","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:latestState.messages.map","kind":"calls","metadata":{"unresolvedName":"latestState.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort","kind":"calls","metadata":{"unresolvedName":"apiMessages\r\n .filter(m => !existingIds.has(m.info.id))\r\n .sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:apiMessages\r\n .filter","kind":"calls","metadata":{"unresolvedName":"apiMessages\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.prependMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.prependMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:state.messages.slice(revertIndex).filter","kind":"calls","metadata":{"unresolvedName":"state.messages.slice(revertIndex).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:revertedUserMessages.map","kind":"calls","metadata":{"unresolvedName":"revertedUserMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/message.ts:extractUserMessageContent","kind":"calls","metadata":{"unresolvedName":"extractUserMessageContent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:history.slice","kind":"calls","metadata":{"unresolvedName":"history.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:revertMessage","kind":"calls","metadata":{"unresolvedName":"revertMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:unrevertSession","kind":"calls","metadata":{"unresolvedName":"unrevertSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"symbol-name:sessionErrorHandler","kind":"calls","metadata":{"unresolvedName":"sessionErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.get","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:cursorRef.current.set","kind":"calls","metadata":{"unresolvedName":"cursorRef.current.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionManager.ts:","to":"external:loadSessionRef.current","kind":"calls","metadata":{"unresolvedName":"loadSessionRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:createDeferred","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:createDeferred","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:deleteSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:createSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:deleteSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(result.current.sessions).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.sessions).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.remove","kind":"calls","metadata":{"unresolvedName":"result.current.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(deleteSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteSessionMock).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(result.current.sessions.map(session => session.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.sessions.map(session => session.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.sessions.map","kind":"calls","metadata":{"unresolvedName":"result.current.sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock\r\n .mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"getSessionsMock\r\n .mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.setSearch","kind":"calls","metadata":{"unresolvedName":"result.current.setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:createSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:deleteSessionMock.mockReset","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:subscribeToEventsMock.mockReset","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:createSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"createSessionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:deleteSessionMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"deleteSessionMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:subscribeToEventsMock.mockImplementation","kind":"calls","metadata":{"unresolvedName":"subscribeToEventsMock.mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"getSessionsMock.mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(result.current.sessions).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.sessions).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.remove","kind":"calls","metadata":{"unresolvedName":"result.current.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(deleteSessionMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteSessionMock).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.remove","kind":"calls","metadata":{"unresolvedName":"result.current.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(result.current.sessions.map(session => session.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.sessions.map(session => session.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.sessions.map","kind":"calls","metadata":{"unresolvedName":"result.current.sessions.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onSessionCreated","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onSessionCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:createDeferred","kind":"calls","metadata":{"unresolvedName":"createDeferred"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:getSessionsMock\r\n .mockImplementationOnce","kind":"calls","metadata":{"unresolvedName":"getSessionsMock\r\n .mockImplementationOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.setSearch","kind":"calls","metadata":{"unresolvedName":"result.current.setSearch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:expect(getSessionsMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSessionsMock).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.runAllTimers","kind":"calls","metadata":{"unresolvedName":"vi.runAllTimers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:result.current.setSearch","kind":"calls","metadata":{"unresolvedName":"result.current.setSearch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:firstRequest.resolve","kind":"calls","metadata":{"unresolvedName":"firstRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:latestEventCallbacks.onReconnected","kind":"calls","metadata":{"unresolvedName":"latestEventCallbacks.onReconnected"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:secondRequest.resolve","kind":"calls","metadata":{"unresolvedName":"secondRequest.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:makeSession","kind":"calls","metadata":{"unresolvedName":"makeSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.test.tsx:","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:directory.replace(/\\\\/g, '/').replace","kind":"calls","metadata":{"unresolvedName":"directory.replace(/\\\\/g, '/').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:directory.replace","kind":"calls","metadata":{"unresolvedName":"directory.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"calls","metadata":{"unresolvedName":"getSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:setHasMore","kind":"calls","metadata":{"unresolvedName":"setHasMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"symbol-name:matchesDirectory","kind":"calls","metadata":{"unresolvedName":"matchesDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"calls","metadata":{"unresolvedName":"deleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:useSessions","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:getSessions","kind":"calls","metadata":{"unresolvedName":"getSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"calls","metadata":{"unresolvedName":"autoDetectPathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setHasMore","kind":"calls","metadata":{"unresolvedName":"setHasMore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setIsLoadingMore","kind":"calls","metadata":{"unresolvedName":"setIsLoadingMore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:subscribeToEvents","kind":"calls","metadata":{"unresolvedName":"subscribeToEvents"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:matchesDirectory","kind":"calls","metadata":{"unresolvedName":"matchesDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","to":"symbol-name:matchesDirectory","kind":"calls","metadata":{"unresolvedName":"matchesDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionCreated","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","to":"symbol-name:matchesDirectory","kind":"calls","metadata":{"unresolvedName":"matchesDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionUpdated","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.findIndex","kind":"calls","metadata":{"unresolvedName":"prev.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:matchesDirectory","kind":"calls","metadata":{"unresolvedName":"matchesDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onSessionDeleted","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:onReconnected","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:fetchSessions","kind":"calls","metadata":{"unresolvedName":"fetchSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:createSession","kind":"calls","metadata":{"unresolvedName":"createSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:fetchSessionsRef.current","kind":"calls","metadata":{"unresolvedName":"fetchSessionsRef.current"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.some","kind":"calls","metadata":{"unresolvedName":"prev.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/session.ts:deleteSession","kind":"calls","metadata":{"unresolvedName":"deleteSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessions.ts:","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/sessionStatsUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(999)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(999)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(1200)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(1200)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(15000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(15000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(1500000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(1500000)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(999)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(999)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(1200)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(1200)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(15000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(15000)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatTokens(1500000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTokens(1500000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/message/MessageRenderer.tsx:formatTokens","kind":"calls","metadata":{"unresolvedName":"formatTokens"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.0004)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.0004)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.009)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.009)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.5)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.5)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(2.345)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(2.345)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.0004)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.0004)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.009)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.009)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"calls","metadata":{"unresolvedName":"formatCost"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(0.5)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(0.5)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.ts:","to":"external:expect(formatCost(2.345)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCost(2.345)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:useMessageStoreMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextEstimated).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextEstimated).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBeLessThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeLessThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextPercent).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextPercent).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextKnown).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextKnown).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextSource).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextSource).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.providerID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.providerID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.modelID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.modelID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.modelName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.modelName).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.outputLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextNotice).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(warning.result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(warning.result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(warning.result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(warning.result.current.contextNotice).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(danger.result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(danger.result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(danger.result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(danger.result.current.contextNotice).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:useMessageStoreMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextEstimated).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextEstimated).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBeLessThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeLessThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBeGreaterThan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:useMessageStoreMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextPercent).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextPercent).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextEstimated).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextEstimated).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextKnown).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextKnown).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextSource).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextSource).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.providerID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.providerID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.modelID).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.modelID).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.modelName).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.modelName).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.outputLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.outputLimit).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:useMessageStoreMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextUsed).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextUsed).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextLimit).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextLimit).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextPercent).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextPercent).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextEstimated).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextEstimated).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextKnown).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextKnown).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextSource).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextSource).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.contextNotice).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:useMessageStoreMock.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"useMessageStoreMock.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"calls","metadata":{"unresolvedName":"useSessionStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(warning.result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(warning.result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(warning.result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(warning.result.current.contextNotice).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(danger.result.current.contextStatus).toBe","kind":"calls","metadata":{"unresolvedName":"expect(danger.result.current.contextStatus).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.test.tsx:","to":"external:expect(danger.result.current.contextNotice).toBe","kind":"calls","metadata":{"unresolvedName":"expect(danger.result.current.contextNotice).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens","to":"external:Math.ceil","kind":"calls","metadata":{"unresolvedName":"Math.ceil"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromUserPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromUserPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"external:[...messages].reverse().find","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"external:[...messages].reverse","kind":"calls","metadata":{"unresolvedName":"[...messages].reverse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"external:((system.info as { system?: string }).system ?? '').trim","kind":"calls","metadata":{"unresolvedName":"((system.info as { system?: string }).system ?? '').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromUserPart","kind":"calls","metadata":{"unresolvedName":"charsFromUserPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:charsFromAssistantPart","kind":"calls","metadata":{"unresolvedName":"charsFromAssistantPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateTokens","kind":"calls","metadata":{"unresolvedName":"estimateTokens"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","to":"external:msg.parts.some","kind":"calls","metadata":{"unresolvedName":"msg.parts.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"calls","metadata":{"unresolvedName":"useMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"symbol-name:tokenTotal","kind":"calls","metadata":{"unresolvedName":"tokenTotal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus","kind":"calls","metadata":{"unresolvedName":"getContextStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","kind":"calls","metadata":{"unresolvedName":"estimateCurrentContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:useSessionStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","kind":"calls","metadata":{"unresolvedName":"shouldUseEstimatedContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"symbol-name:tokenTotal","kind":"calls","metadata":{"unresolvedName":"tokenTotal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:getContextStatus","kind":"calls","metadata":{"unresolvedName":"getContextStatus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:estimateCurrentContext","kind":"calls","metadata":{"unresolvedName":"estimateCurrentContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:shouldUseEstimatedContext","kind":"calls","metadata":{"unresolvedName":"shouldUseEstimatedContext"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:tokenTotal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSessionStats.ts:tokenTotal","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(true).theme).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(true).theme).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(false).theme).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(false).theme).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(true).key).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(true).key).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(false).key).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(false).key).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(true).theme).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(true).theme).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(false).theme).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(false).theme).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(true).key).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(true).key).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.test.ts:","to":"external:expect(getShikiTheme(false).key).toBe","kind":"calls","metadata":{"unresolvedName":"expect(getShikiTheme(false).key).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get","to":"external:this.cache.get","kind":"calls","metadata":{"unresolvedName":"this.cache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:get","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","to":"external:this.cache.has","kind":"calls","metadata":{"unresolvedName":"this.cache.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","to":"external:this.cache.get","kind":"calls","metadata":{"unresolvedName":"this.cache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","to":"external:this.cache.delete","kind":"calls","metadata":{"unresolvedName":"this.cache.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:set","to":"external:this.cache.set","kind":"calls","metadata":{"unresolvedName":"this.cache.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clear","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clear","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clear","to":"external:this.cache.clear","kind":"calls","metadata":{"unresolvedName":"this.cache.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","to":"external:highlightQueue.push","kind":"calls","metadata":{"unresolvedName":"highlightQueue.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","to":"symbol-name:task","kind":"calls","metadata":{"unresolvedName":"task"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","kind":"calls","metadata":{"unresolvedName":"runHighlightQueue"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:task","kind":"calls","metadata":{"unresolvedName":"task"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","to":"external:highlightQueue.shift","kind":"calls","metadata":{"unresolvedName":"highlightQueue.shift"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","to":"symbol-name:task","kind":"calls","metadata":{"unresolvedName":"task"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:runHighlightQueue","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread","kind":"calls","metadata":{"unresolvedName":"yieldToMainThread"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:yieldToMainThread","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash","kind":"calls","metadata":{"unresolvedName":"simpleHash"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:simpleHash","to":"external:str.charCodeAt","kind":"calls","metadata":{"unresolvedName":"str.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"calls","metadata":{"unresolvedName":"getCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"external:htmlCache.get","kind":"calls","metadata":{"unresolvedName":"htmlCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","kind":"calls","metadata":{"unresolvedName":"codeToHtml"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"external:htmlCache.set","kind":"calls","metadata":{"unresolvedName":"htmlCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"external:tokensCache.get","kind":"calls","metadata":{"unresolvedName":"tokensCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","kind":"calls","metadata":{"unresolvedName":"codeToTokens"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","to":"external:tokensCache.set","kind":"calls","metadata":{"unresolvedName":"tokensCache.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getHighlightCacheStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getHighlightCacheStats","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache","to":"external:htmlCache.clear","kind":"calls","metadata":{"unresolvedName":"htmlCache.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:clearHighlightCache","to":"external:tokensCache.clear","kind":"calls","metadata":{"unresolvedName":"tokensCache.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme","to":"external:document.documentElement.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:detectTheme","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:this.detectTheme","kind":"calls","metadata":{"unresolvedName":"this.detectTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:this.observer.observe","kind":"calls","metadata":{"unresolvedName":"this.observer.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:document.documentElement.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:setupListeners","to":"external:this.mediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"this.mediaQuery.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:this.detectTheme","kind":"calls","metadata":{"unresolvedName":"this.detectTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange","to":"external:document.documentElement.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.getAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:handleChange","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getIsDark","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getIsDark","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:subscribe","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getThemeStateManager","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getThemeStateManager","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getThemeStateManager","kind":"calls","metadata":{"unresolvedName":"getThemeStateManager"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","to":"external:manager.getIsDark","kind":"calls","metadata":{"unresolvedName":"manager.getIsDark"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","to":"external:manager.subscribe","kind":"calls","metadata":{"unresolvedName":"manager.subscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:manager.subscribe","kind":"calls","metadata":{"unresolvedName":"manager.subscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","kind":"calls","metadata":{"unresolvedName":"normalizeLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","kind":"calls","metadata":{"unresolvedName":"useIsDarkMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"calls","metadata":{"unresolvedName":"getCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:htmlCache.get","kind":"calls","metadata":{"unresolvedName":"htmlCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:tokensCache.get","kind":"calls","metadata":{"unresolvedName":"tokensCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:setOutput","kind":"calls","metadata":{"unresolvedName":"setOutput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"calls","metadata":{"unresolvedName":"schedule"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlight","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"calls","metadata":{"unresolvedName":"getCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:htmlCache.get","kind":"calls","metadata":{"unresolvedName":"htmlCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:tokensCache.get","kind":"calls","metadata":{"unresolvedName":"tokensCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:setOutput","kind":"calls","metadata":{"unresolvedName":"setOutput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"calls","metadata":{"unresolvedName":"schedule"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"symbol-name:setOutput","kind":"calls","metadata":{"unresolvedName":"setOutput"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","kind":"calls","metadata":{"unresolvedName":"normalizeLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useIsDarkMode","kind":"calls","metadata":{"unresolvedName":"useIsDarkMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"calls","metadata":{"unresolvedName":"getCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"external:tokensCache.get","kind":"calls","metadata":{"unresolvedName":"tokensCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:setVersion","kind":"calls","metadata":{"unresolvedName":"setVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"calls","metadata":{"unresolvedName":"schedule"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:useSyntaxHighlightRef","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getShikiTheme","kind":"calls","metadata":{"unresolvedName":"getShikiTheme"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:getCacheKey","kind":"calls","metadata":{"unresolvedName":"getCacheKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:tokensCache.get","kind":"calls","metadata":{"unresolvedName":"tokensCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:setVersion","kind":"calls","metadata":{"unresolvedName":"setVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"calls","metadata":{"unresolvedName":"schedule"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlightWithCache","kind":"calls","metadata":{"unresolvedName":"highlightWithCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"symbol-name:setVersion","kind":"calls","metadata":{"unresolvedName":"setVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:idleWindow.requestIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.requestIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:idleWindow.cancelIdleCallback","kind":"calls","metadata":{"unresolvedName":"idleWindow.cancelIdleCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:schedule","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:scheduleQueuedHighlight","kind":"calls","metadata":{"unresolvedName":"scheduleQueuedHighlight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useSyntaxHighlight.ts:","to":"symbol-name:cancelSchedule","kind":"calls","metadata":{"unresolvedName":"cancelSchedule"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"external:react-dom","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.getResolvedMode","kind":"calls","metadata":{"unresolvedName":"themeStore.getResolvedMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:Math.hypot","kind":"calls","metadata":{"unresolvedName":"Math.hypot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:root.setAttribute","kind":"calls","metadata":{"unresolvedName":"root.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:document.startViewTransition","kind":"calls","metadata":{"unresolvedName":"document.startViewTransition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:transition.ready\r\n .then","kind":"calls","metadata":{"unresolvedName":"transition.ready\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:document.documentElement.animate","kind":"calls","metadata":{"unresolvedName":"document.documentElement.animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setPreset","kind":"calls","metadata":{"unresolvedName":"themeStore.setPreset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCustomCSS","kind":"calls","metadata":{"unresolvedName":"themeStore.setCustomCSS"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.saveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.saveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.updateCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.updateCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.deleteCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.deleteCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.applyCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.applyCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.clearActiveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.clearActiveCustomCSSSnippet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setCollapseUserMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompletedAtFormat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setReasoningDisplayMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setDiffStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setDiffStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"themeStore.setDescriptiveToolSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"themeStore.setInlineToolRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCodeWordWrap","kind":"calls","metadata":{"unresolvedName":"themeStore.setCodeWordWrap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setUIFontScale","kind":"calls","metadata":{"unresolvedName":"themeStore.setUIFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCodeFontScale","kind":"calls","metadata":{"unresolvedName":"themeStore.setCodeFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setToolCardStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setImmersiveMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setManualTerminalTitles","kind":"calls","metadata":{"unresolvedName":"themeStore.setManualTerminalTitles"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.getAvailablePresets","kind":"calls","metadata":{"unresolvedName":"themeStore.getAvailablePresets"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.toggleWideMode.bind","kind":"calls","metadata":{"unresolvedName":"themeStore.toggleWideMode.bind"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompactInlinePermission"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:useTheme","to":"external:themeStore.setGlassEffect","kind":"calls","metadata":{"unresolvedName":"themeStore.setGlassEffect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:Math.hypot","kind":"calls","metadata":{"unresolvedName":"Math.hypot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.setAttribute","kind":"calls","metadata":{"unresolvedName":"root.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.startViewTransition","kind":"calls","metadata":{"unresolvedName":"document.startViewTransition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:transition.ready\r\n .then","kind":"calls","metadata":{"unresolvedName":"transition.ready\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.documentElement.animate","kind":"calls","metadata":{"unresolvedName":"document.documentElement.animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setColorMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setColorMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.documentElement.animate","kind":"calls","metadata":{"unresolvedName":"document.documentElement.animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setPreset","kind":"calls","metadata":{"unresolvedName":"themeStore.setPreset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setPreset","kind":"calls","metadata":{"unresolvedName":"themeStore.setPreset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:Math.hypot","kind":"calls","metadata":{"unresolvedName":"Math.hypot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.setAttribute","kind":"calls","metadata":{"unresolvedName":"root.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.startViewTransition","kind":"calls","metadata":{"unresolvedName":"document.startViewTransition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:transition.ready\r\n .then","kind":"calls","metadata":{"unresolvedName":"transition.ready\r\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.documentElement.animate","kind":"calls","metadata":{"unresolvedName":"document.documentElement.animate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:flushSync","kind":"calls","metadata":{"unresolvedName":"flushSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setPreset","kind":"calls","metadata":{"unresolvedName":"themeStore.setPreset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setPreset","kind":"calls","metadata":{"unresolvedName":"themeStore.setPreset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:document.documentElement.animate","kind":"calls","metadata":{"unresolvedName":"document.documentElement.animate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCustomCSS","kind":"calls","metadata":{"unresolvedName":"themeStore.setCustomCSS"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.saveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.saveCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.updateCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.updateCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.deleteCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.deleteCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.applyCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.applyCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.clearActiveCustomCSSSnippet","kind":"calls","metadata":{"unresolvedName":"themeStore.clearActiveCustomCSSSnippet"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCollapseUserMessages","kind":"calls","metadata":{"unresolvedName":"themeStore.setCollapseUserMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setStepFinishDisplay","kind":"calls","metadata":{"unresolvedName":"themeStore.setStepFinishDisplay"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCompletedAtFormat","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompletedAtFormat"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setReasoningDisplayMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setReasoningDisplayMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setDiffStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setDiffStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setDescriptiveToolSteps","kind":"calls","metadata":{"unresolvedName":"themeStore.setDescriptiveToolSteps"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setInlineToolRequests","kind":"calls","metadata":{"unresolvedName":"themeStore.setInlineToolRequests"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCodeWordWrap","kind":"calls","metadata":{"unresolvedName":"themeStore.setCodeWordWrap"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setUIFontScale","kind":"calls","metadata":{"unresolvedName":"themeStore.setUIFontScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCodeFontScale","kind":"calls","metadata":{"unresolvedName":"themeStore.setCodeFontScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setToolCardStyle","kind":"calls","metadata":{"unresolvedName":"themeStore.setToolCardStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setImmersiveMode","kind":"calls","metadata":{"unresolvedName":"themeStore.setImmersiveMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setManualTerminalTitles","kind":"calls","metadata":{"unresolvedName":"themeStore.setManualTerminalTitles"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setCompactInlinePermission","kind":"calls","metadata":{"unresolvedName":"themeStore.setCompactInlinePermission"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useTheme.ts:","to":"external:themeStore.setGlassEffect","kind":"calls","metadata":{"unresolvedName":"themeStore.setGlassEffect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/vcs.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"calls","metadata":{"unresolvedName":"getVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:fetchVcs","kind":"calls","metadata":{"unresolvedName":"fetchVcs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:useVcsInfo","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/vcs.ts:getVcsInfo","kind":"calls","metadata":{"unresolvedName":"getVcsInfo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setVcsInfo","kind":"calls","metadata":{"unresolvedName":"setVcsInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:fetchVcs","kind":"calls","metadata":{"unresolvedName":"fetchVcs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVcsInfo.ts:","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:useLayoutEffect","kind":"calls","metadata":{"unresolvedName":"useLayoutEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:primaryRef.current.style.setProperty","kind":"calls","metadata":{"unresolvedName":"primaryRef.current.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:setSplitHeight","kind":"calls","metadata":{"unresolvedName":"setSplitHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:primaryEl.style.setProperty","kind":"calls","metadata":{"unresolvedName":"primaryEl.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"symbol-name:finishResize","kind":"calls","metadata":{"unresolvedName":"finishResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:useVerticalSplitResize","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:primaryRef.current.style.setProperty","kind":"calls","metadata":{"unresolvedName":"primaryRef.current.style.setProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:setSplitHeight","kind":"calls","metadata":{"unresolvedName":"setSplitHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:primaryEl.style.setProperty","kind":"calls","metadata":{"unresolvedName":"primaryEl.style.setProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:setSplitHeight","kind":"calls","metadata":{"unresolvedName":"setSplitHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:finishResize","kind":"calls","metadata":{"unresolvedName":"finishResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseMove","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp","to":"symbol-name:finishResize","kind":"calls","metadata":{"unresolvedName":"finishResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleMouseUp","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:setIsResizing","kind":"calls","metadata":{"unresolvedName":"setIsResizing"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:container.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"container.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:finishResize","kind":"calls","metadata":{"unresolvedName":"finishResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","to":"external:moveEvent.preventDefault","kind":"calls","metadata":{"unresolvedName":"moveEvent.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchMove","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:","to":"symbol-name:applyHeight","kind":"calls","metadata":{"unresolvedName":"applyHeight"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd","to":"symbol-name:finishResize","kind":"calls","metadata":{"unresolvedName":"finishResize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVerticalSplitResize.ts:handleTouchEnd","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:root.classList.contains","kind":"calls","metadata":{"unresolvedName":"root.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:root.style.setProperty","kind":"calls","metadata":{"unresolvedName":"root.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","kind":"calls","metadata":{"unresolvedName":"updateAppHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"calls","metadata":{"unresolvedName":"measureSafeAreaBottom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"calls","metadata":{"unresolvedName":"updateViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:window.visualViewport.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:useViewportHeight","to":"external:window.visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:root.classList.contains","kind":"calls","metadata":{"unresolvedName":"root.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:root.style.setProperty","kind":"calls","metadata":{"unresolvedName":"root.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","kind":"calls","metadata":{"unresolvedName":"updateAppHeight"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"calls","metadata":{"unresolvedName":"measureSafeAreaBottom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"calls","metadata":{"unresolvedName":"updateViewport"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.visualViewport.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateAppHeight","to":"external:root.style.setProperty","kind":"calls","metadata":{"unresolvedName":"root.style.setProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","to":"symbol-name:parseFloat","kind":"calls","metadata":{"unresolvedName":"parseFloat"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","to":"external:root.style.setProperty","kind":"calls","metadata":{"unresolvedName":"root.style.setProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:measureSafeAreaBottom","kind":"calls","metadata":{"unresolvedName":"measureSafeAreaBottom"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:handleWindowResize","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:updateViewport","kind":"calls","metadata":{"unresolvedName":"updateViewport"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.visualViewport.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useViewportHeight.ts:","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:start","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:start","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","to":"external:this.ondataavailable","kind":"calls","metadata":{"unresolvedName":"this.ondataavailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","to":"external:Promise.resolve().then","kind":"calls","metadata":{"unresolvedName":"Promise.resolve().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:stop","to":"external:this.onstop","kind":"calls","metadata":{"unresolvedName":"this.onstop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(transcribeAudio).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(transcribeAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.enabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.stopRecording","kind":"calls","metadata":{"unresolvedName":"result.current.stopRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(onTranscription).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onTranscription).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.isAvailable).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.isAvailable).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.apiKeyRequired).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.apiKeyRequired).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockRejectedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(getSttSettings).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSttSettings).toHaveBeenCalledTimes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(transcribeAudio).mockReset","kind":"calls","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockReset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(transcribeAudio).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(transcribeAudio).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.enabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.stopRecording","kind":"calls","metadata":{"unresolvedName":"result.current.stopRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(onTranscription).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onTranscription).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.stopRecording","kind":"calls","metadata":{"unresolvedName":"result.current.stopRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.enabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.isAvailable).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.isAvailable).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockResolvedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.apiKeyRequired).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.apiKeyRequired).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(getSttSettings).mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(getSttSettings).mockRejectedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(getSttSettings).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(getSttSettings).toHaveBeenCalledTimes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.mocked(navigator.mediaDevices.getUserMedia).mockRejectedValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"calls","metadata":{"unresolvedName":"useVoiceTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.settings?.enabled).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.settings?.enabled).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.state).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:expect(result.current.error).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.test.tsx:","to":"external:result.current.startRecording","kind":"calls","metadata":{"unresolvedName":"result.current.startRecording"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/stt.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:getSttSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getSttSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:streamRef.current?.getTracks().forEach","kind":"calls","metadata":{"unresolvedName":"streamRef.current?.getTracks().forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:streamRef.current?.getTracks","kind":"calls","metadata":{"unresolvedName":"streamRef.current?.getTracks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:track.stop","kind":"calls","metadata":{"unresolvedName":"track.stop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:loadSettings","kind":"calls","metadata":{"unresolvedName":"loadSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported","kind":"calls","metadata":{"unresolvedName":"isRecordingSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:navigator.mediaDevices.getUserMedia","kind":"calls","metadata":{"unresolvedName":"navigator.mediaDevices.getUserMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:MediaRecorder.isTypeSupported","kind":"calls","metadata":{"unresolvedName":"MediaRecorder.isTypeSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:chunksRef.current.push","kind":"calls","metadata":{"unresolvedName":"chunksRef.current.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:cleanupStream","kind":"calls","metadata":{"unresolvedName":"cleanupStream"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:result.text.trim","kind":"calls","metadata":{"unresolvedName":"result.text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"symbol-name:onTranscription","kind":"calls","metadata":{"unresolvedName":"onTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:recorder.start","kind":"calls","metadata":{"unresolvedName":"recorder.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:useVoiceTranscription","to":"external:recorder.stop","kind":"calls","metadata":{"unresolvedName":"recorder.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:getSttSettings()\n .then","kind":"calls","metadata":{"unresolvedName":"getSttSettings()\n .then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/stt.ts:getSttSettings","kind":"calls","metadata":{"unresolvedName":"getSttSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:streamRef.current?.getTracks().forEach","kind":"calls","metadata":{"unresolvedName":"streamRef.current?.getTracks().forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:streamRef.current?.getTracks","kind":"calls","metadata":{"unresolvedName":"streamRef.current?.getTracks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:track.stop","kind":"calls","metadata":{"unresolvedName":"track.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:loadSettings","kind":"calls","metadata":{"unresolvedName":"loadSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setSettings","kind":"calls","metadata":{"unresolvedName":"setSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:isRecordingSupported","kind":"calls","metadata":{"unresolvedName":"isRecordingSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:navigator.mediaDevices.getUserMedia","kind":"calls","metadata":{"unresolvedName":"navigator.mediaDevices.getUserMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:MediaRecorder.isTypeSupported","kind":"calls","metadata":{"unresolvedName":"MediaRecorder.isTypeSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:chunksRef.current.push","kind":"calls","metadata":{"unresolvedName":"chunksRef.current.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:cleanupStream","kind":"calls","metadata":{"unresolvedName":"cleanupStream"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:result.text.trim","kind":"calls","metadata":{"unresolvedName":"result.text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:onTranscription","kind":"calls","metadata":{"unresolvedName":"onTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:recorder.start","kind":"calls","metadata":{"unresolvedName":"recorder.start"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:chunksRef.current.push","kind":"calls","metadata":{"unresolvedName":"chunksRef.current.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:cleanupStream","kind":"calls","metadata":{"unresolvedName":"cleanupStream"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:transcribeAudio","kind":"calls","metadata":{"unresolvedName":"transcribeAudio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:result.text.trim","kind":"calls","metadata":{"unresolvedName":"result.text.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:onTranscription","kind":"calls","metadata":{"unresolvedName":"onTranscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"external:recorder.stop","kind":"calls","metadata":{"unresolvedName":"recorder.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useVoiceTranscription.ts:","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"external:navigator.wakeLock.request","kind":"calls","metadata":{"unresolvedName":"navigator.wakeLock.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"calls","metadata":{"unresolvedName":"request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"external:wakeLockRef.current?.release().catch","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:useWakeLock","to":"external:wakeLockRef.current?.release","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:navigator.wakeLock.request","kind":"calls","metadata":{"unresolvedName":"navigator.wakeLock.request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"calls","metadata":{"unresolvedName":"request"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:wakeLockRef.current?.release().catch","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:wakeLockRef.current?.release","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","to":"external:navigator.wakeLock.request","kind":"calls","metadata":{"unresolvedName":"navigator.wakeLock.request"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:onVisibilityChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:onVisibilityChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:onVisibilityChange","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:request","kind":"calls","metadata":{"unresolvedName":"request"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:wakeLockRef.current?.release().catch","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","to":"external:wakeLockRef.current?.release","kind":"calls","metadata":{"unresolvedName":"wakeLockRef.current?.release"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/hooks/useWakeLock.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","to":"external:i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","to":"external:react-i18next","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","to":"external:i18next-browser-languagedetector","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","kind":"calls","metadata":{"unresolvedName":"wantsNoScrollbar"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:wantsNoScrollbar","kind":"calls","metadata":{"unresolvedName":"wantsNoScrollbar"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"calls","metadata":{"unresolvedName":"isScrollableY"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"calls","metadata":{"unresolvedName":"isScrollableX"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:parent.appendChild","kind":"calls","metadata":{"unresolvedName":"parent.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"calls","metadata":{"unresolvedName":"scheduleFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:vp.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"vp.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.setPointerCapture","kind":"calls","metadata":{"unresolvedName":"thumb.setPointerCapture"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.releasePointerCapture","kind":"calls","metadata":{"unresolvedName":"thumb.releasePointerCapture"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.removeEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.addEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","to":"external:thumb.remove","kind":"calls","metadata":{"unresolvedName":"thumb.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal","to":"external:thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reveal","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"calls","metadata":{"unresolvedName":"scheduleFade"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:vp.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"vp.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:parent.getBoundingClientRect","kind":"calls","metadata":{"unresolvedName":"parent.getBoundingClientRect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.setPointerCapture","kind":"calls","metadata":{"unresolvedName":"thumb.setPointerCapture"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.releasePointerCapture","kind":"calls","metadata":{"unresolvedName":"thumb.releasePointerCapture"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.removeEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"calls","metadata":{"unresolvedName":"scheduleFade"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbDown","to":"external:thumb.addEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.addEventListener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onMove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onMove","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","to":"external:thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","to":"external:thumb.releasePointerCapture","kind":"calls","metadata":{"unresolvedName":"thumb.releasePointerCapture"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","to":"external:thumb.removeEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onUp","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"calls","metadata":{"unresolvedName":"scheduleFade"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbEnter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbEnter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbEnter","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbLeave","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbLeave","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onThumbLeave","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scheduleFade","kind":"calls","metadata":{"unresolvedName":"scheduleFade"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","to":"external:thumb.removeEventListener","kind":"calls","metadata":{"unresolvedName":"thumb.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:destroy","to":"external:thumb.remove","kind":"calls","metadata":{"unresolvedName":"thumb.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:entries.has","kind":"calls","metadata":{"unresolvedName":"entries.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","kind":"calls","metadata":{"unresolvedName":"ensurePositioned"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"calls","metadata":{"unresolvedName":"isScrollableY"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"calls","metadata":{"unresolvedName":"isScrollableX"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","kind":"calls","metadata":{"unresolvedName":"createAxisThumb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:vp.setAttribute","kind":"calls","metadata":{"unresolvedName":"vp.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:v?.update","kind":"calls","metadata":{"unresolvedName":"v?.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:h?.update","kind":"calls","metadata":{"unresolvedName":"h?.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"symbol-name:update","kind":"calls","metadata":{"unresolvedName":"update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:v?.reveal","kind":"calls","metadata":{"unresolvedName":"v?.reveal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:h?.reveal","kind":"calls","metadata":{"unresolvedName":"h?.reveal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.v.update","kind":"calls","metadata":{"unresolvedName":"e.v.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.v.thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"e.v.thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.h.update","kind":"calls","metadata":{"unresolvedName":"e.h.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.h.thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"e.h.thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.v!.thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"e.v!.thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:e.h!.thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"e.h!.thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:entries.values","kind":"calls","metadata":{"unresolvedName":"entries.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:vp.contains","kind":"calls","metadata":{"unresolvedName":"vp.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","kind":"calls","metadata":{"unresolvedName":"revealEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","kind":"calls","metadata":{"unresolvedName":"fadeEntry"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:vp.addEventListener","kind":"calls","metadata":{"unresolvedName":"vp.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:ro.observe","kind":"calls","metadata":{"unresolvedName":"ro.observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","to":"external:entries.set","kind":"calls","metadata":{"unresolvedName":"entries.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:v?.update","kind":"calls","metadata":{"unresolvedName":"v?.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:update","to":"external:h?.update","kind":"calls","metadata":{"unresolvedName":"h?.update"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","to":"symbol-name:update","kind":"calls","metadata":{"unresolvedName":"update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","to":"external:v?.reveal","kind":"calls","metadata":{"unresolvedName":"v?.reveal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onScroll","to":"external:h?.reveal","kind":"calls","metadata":{"unresolvedName":"h?.reveal"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","to":"external:e.v.update","kind":"calls","metadata":{"unresolvedName":"e.v.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","to":"external:e.v.thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"e.v.thumb.classList.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","to":"external:e.h.update","kind":"calls","metadata":{"unresolvedName":"e.h.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","to":"external:e.h.thumb.classList.add","kind":"calls","metadata":{"unresolvedName":"e.h.thumb.classList.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","to":"external:e.v!.thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"e.v!.thumb.classList.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","to":"external:e.h!.thumb.classList.remove","kind":"calls","metadata":{"unresolvedName":"e.h!.thumb.classList.remove"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","to":"external:entries.values","kind":"calls","metadata":{"unresolvedName":"entries.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","to":"external:vp.contains","kind":"calls","metadata":{"unresolvedName":"vp.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onEnter","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:revealEntry","kind":"calls","metadata":{"unresolvedName":"revealEntry"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","to":"external:entries.values","kind":"calls","metadata":{"unresolvedName":"entries.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","to":"external:vp.contains","kind":"calls","metadata":{"unresolvedName":"vp.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:onLeave","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:fadeEntry","kind":"calls","metadata":{"unresolvedName":"fadeEntry"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:entries.get","kind":"calls","metadata":{"unresolvedName":"entries.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:vp.removeEventListener","kind":"calls","metadata":{"unresolvedName":"vp.removeEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:e.v?.destroy","kind":"calls","metadata":{"unresolvedName":"e.v?.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:e.h?.destroy","kind":"calls","metadata":{"unresolvedName":"e.h?.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:e.ro.disconnect","kind":"calls","metadata":{"unresolvedName":"e.ro.disconnect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:vp.removeAttribute","kind":"calls","metadata":{"unresolvedName":"vp.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","to":"external:entries.delete","kind":"calls","metadata":{"unresolvedName":"entries.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableY","kind":"calls","metadata":{"unresolvedName":"isScrollableY"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollableX","kind":"calls","metadata":{"unresolvedName":"isScrollableX"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:ensurePositioned","kind":"calls","metadata":{"unresolvedName":"ensurePositioned"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:createAxisThumb","kind":"calls","metadata":{"unresolvedName":"createAxisThumb"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"external:entry.v!.destroy","kind":"calls","metadata":{"unresolvedName":"entry.v!.destroy"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","to":"external:entry.h!.destroy","kind":"calls","metadata":{"unresolvedName":"entry.h!.destroy"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:document.contains","kind":"calls","metadata":{"unresolvedName":"document.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:isScrollable","kind":"calls","metadata":{"unresolvedName":"isScrollable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:detach","kind":"calls","metadata":{"unresolvedName":"detach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:reconcile","kind":"calls","metadata":{"unresolvedName":"reconcile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:document.createTreeWalker","kind":"calls","metadata":{"unresolvedName":"document.createTreeWalker"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:entries.has","kind":"calls","metadata":{"unresolvedName":"entries.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:el.hasAttribute","kind":"calls","metadata":{"unresolvedName":"el.hasAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:el.classList.contains","kind":"calls","metadata":{"unresolvedName":"el.classList.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:attach","kind":"calls","metadata":{"unresolvedName":"attach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","to":"external:walker.nextNode","kind":"calls","metadata":{"unresolvedName":"walker.nextNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"calls","metadata":{"unresolvedName":"scan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:new MutationObserver(debounceScan).observe","kind":"calls","metadata":{"unresolvedName":"new MutationObserver(debounceScan).observe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:entries.values","kind":"calls","metadata":{"unresolvedName":"entries.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:e.v?.update","kind":"calls","metadata":{"unresolvedName":"e.v?.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:initOverlayScrollbars","to":"external:e.h?.update","kind":"calls","metadata":{"unresolvedName":"e.h?.update"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:debounceScan","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"calls","metadata":{"unresolvedName":"scan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:scan","kind":"calls","metadata":{"unresolvedName":"scan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","to":"external:entries.values","kind":"calls","metadata":{"unresolvedName":"entries.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","to":"external:e.v?.update","kind":"calls","metadata":{"unresolvedName":"e.v?.update"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts:","to":"external:e.h?.update","kind":"calls","metadata":{"unresolvedName":"e.h?.update"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"external:shiki/core","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"external:shiki/engine/oniguruma","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"external:shiki/onig.wasm?url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"external:shiki/langs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"external:shiki/themes","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","to":"external:fetch(onigWasmUrl).then","kind":"calls","metadata":{"unresolvedName":"fetch(onigWasmUrl).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:loadOnigWasm","to":"external:response.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"response.arrayBuffer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","to":"external:response.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"response.arrayBuffer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","to":"symbol-name:createHighlighterCore","kind":"calls","metadata":{"unresolvedName":"createHighlighterCore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","to":"symbol-name:createOnigurumaEngine","kind":"calls","metadata":{"unresolvedName":"createOnigurumaEngine"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"calls","metadata":{"unresolvedName":"getHighlighter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:h.getLoadedLanguages","kind":"calls","metadata":{"unresolvedName":"h.getLoadedLanguages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:loaded.includes","kind":"calls","metadata":{"unresolvedName":"loaded.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:loadingLangs.get","kind":"calls","metadata":{"unresolvedName":"loadingLangs.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:h.loadLanguage(loader as Parameters[0]).then","kind":"calls","metadata":{"unresolvedName":"h.loadLanguage(loader as Parameters[0]).then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:h.loadLanguage","kind":"calls","metadata":{"unresolvedName":"h.loadLanguage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:loadingLangs.delete","kind":"calls","metadata":{"unresolvedName":"loadingLangs.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:loadingLangs.set","kind":"calls","metadata":{"unresolvedName":"loadingLangs.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","to":"external:h.getLoadedLanguages().includes","kind":"calls","metadata":{"unresolvedName":"h.getLoadedLanguages().includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","to":"external:loadingLangs.delete","kind":"calls","metadata":{"unresolvedName":"loadingLangs.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","to":"external:loadingLangs.delete","kind":"calls","metadata":{"unresolvedName":"loadingLangs.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"calls","metadata":{"unresolvedName":"getHighlighter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","kind":"calls","metadata":{"unresolvedName":"ensureLang"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToHtml","to":"external:h.codeToHtml","kind":"calls","metadata":{"unresolvedName":"h.codeToHtml"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:getHighlighter","kind":"calls","metadata":{"unresolvedName":"getHighlighter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:ensureLang","kind":"calls","metadata":{"unresolvedName":"ensureLang"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:codeToTokens","to":"external:h.codeToTokens","kind":"calls","metadata":{"unresolvedName":"h.codeToTokens"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:isSupportedLanguage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:isSupportedLanguage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts:isSupportedLanguage","to":"external:supportedLangs.has","kind":"calls","metadata":{"unresolvedName":"supportedLangs.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"external:node:path","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"external:node:url","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","to":"symbol-name:readFileSync","kind":"calls","metadata":{"unresolvedName":"readFileSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","to":"external:Object.entries(value).flatMap","kind":"calls","metadata":{"unresolvedName":"Object.entries(value).flatMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"calls","metadata":{"unresolvedName":"flattenKeys"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:readdirSync(join(LOCALES_DIR, BASE_LOCALE))\n .filter","kind":"calls","metadata":{"unresolvedName":"readdirSync(join(LOCALES_DIR, BASE_LOCALE))\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:readdirSync","kind":"calls","metadata":{"unresolvedName":"readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:file.endsWith","kind":"calls","metadata":{"unresolvedName":"file.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:readdirSync(LOCALES_DIR)\n .filter","kind":"calls","metadata":{"unresolvedName":"readdirSync(LOCALES_DIR)\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:entry.endsWith","kind":"calls","metadata":{"unresolvedName":"entry.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(locales).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(locales).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:[...EXPECTED_LOCALES].sort","kind":"calls","metadata":{"unresolvedName":"[...EXPECTED_LOCALES].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:readdirSync(join(LOCALES_DIR, locale))\n .filter","kind":"calls","metadata":{"unresolvedName":"readdirSync(join(LOCALES_DIR, locale))\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(localeNamespaces).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(localeNamespaces).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:flattenKeys(readLocaleFile(locale, namespace)).sort","kind":"calls","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(locale, namespace)).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"calls","metadata":{"unresolvedName":"flattenKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","kind":"calls","metadata":{"unresolvedName":"readLocaleFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort","kind":"calls","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:readdirSync(LOCALES_DIR)\n .filter","kind":"calls","metadata":{"unresolvedName":"readdirSync(LOCALES_DIR)\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:readdirSync","kind":"calls","metadata":{"unresolvedName":"readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:entry.endsWith","kind":"calls","metadata":{"unresolvedName":"entry.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(locales).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(locales).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:[...EXPECTED_LOCALES].sort","kind":"calls","metadata":{"unresolvedName":"[...EXPECTED_LOCALES].sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:readdirSync(join(LOCALES_DIR, locale))\n .filter","kind":"calls","metadata":{"unresolvedName":"readdirSync(join(LOCALES_DIR, locale))\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:readdirSync","kind":"calls","metadata":{"unresolvedName":"readdirSync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:join","kind":"calls","metadata":{"unresolvedName":"join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:file.endsWith","kind":"calls","metadata":{"unresolvedName":"file.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(localeNamespaces).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(localeNamespaces).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(flattenKeys(readLocaleFile(locale, namespace)).sort()).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:flattenKeys(readLocaleFile(locale, namespace)).sort","kind":"calls","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(locale, namespace)).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:flattenKeys","kind":"calls","metadata":{"unresolvedName":"flattenKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:readLocaleFile","kind":"calls","metadata":{"unresolvedName":"readLocaleFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/locales/locales.test.ts:","to":"external:flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort","kind":"calls","metadata":{"unresolvedName":"flattenKeys(readLocaleFile(BASE_LOCALE, namespace)).sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"external:react-dom/client","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"external:katex/dist/katex.min.css","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/index.css","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/overlayScrollbar.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/App.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/ErrorBoundary.tsx","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/contexts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:cryptoObj.getRandomValues","kind":"calls","metadata":{"unresolvedName":"cryptoObj.getRandomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:b.toString(16).padStart","kind":"calls","metadata":{"unresolvedName":"b.toString(16).padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:b.toString","kind":"calls","metadata":{"unresolvedName":"b.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice(0, 4).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(0, 4).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice","kind":"calls","metadata":{"unresolvedName":"hex.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice(4, 6).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(4, 6).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice(6, 8).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(6, 8).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice(8, 10).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(8, 10).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:ensureRandomUUID","to":"external:hex.slice(10).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(10).join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:cryptoObj.getRandomValues","kind":"calls","metadata":{"unresolvedName":"cryptoObj.getRandomValues"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:b.toString(16).padStart","kind":"calls","metadata":{"unresolvedName":"b.toString(16).padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:b.toString","kind":"calls","metadata":{"unresolvedName":"b.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice(0, 4).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(0, 4).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice","kind":"calls","metadata":{"unresolvedName":"hex.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice(4, 6).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(4, 6).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice(6, 8).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(6, 8).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice(8, 10).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(8, 10).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:hex.slice(10).join","kind":"calls","metadata":{"unresolvedName":"hex.slice(10).join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:messageStore.clearAll","kind":"calls","metadata":{"unresolvedName":"messageStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:childSessionStore.clearAll","kind":"calls","metadata":{"unresolvedName":"childSessionStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:todoStore.clearAll","kind":"calls","metadata":{"unresolvedName":"todoStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:resetPathModeCache","kind":"calls","metadata":{"unresolvedName":"resetPathModeCache"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:autoApproveStore.reloadFromStorage","kind":"calls","metadata":{"unresolvedName":"autoApproveStore.reloadFromStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/events.ts:reconnectSSE","kind":"calls","metadata":{"unresolvedName":"reconnectSSE"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setStarting","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStarting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:console.info","kind":"calls","metadata":{"unresolvedName":"console.info"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setStartedByUs","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStartedByUs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setRunning","kind":"calls","metadata":{"unresolvedName":"serviceStore.setRunning"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setStarting","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStarting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:console.info","kind":"calls","metadata":{"unresolvedName":"console.info"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:serviceStore.setStarting","kind":"calls","metadata":{"unresolvedName":"serviceStore.setStarting"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"symbol-name:apiErrorHandler","kind":"calls","metadata":{"unresolvedName":"apiErrorHandler"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"symbol-name:globalErrorHandler","kind":"calls","metadata":{"unresolvedName":"globalErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"symbol-name:globalErrorHandler","kind":"calls","metadata":{"unresolvedName":"globalErrorHandler"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"symbol-name:invoke","kind":"calls","metadata":{"unresolvedName":"invoke"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"external:console.log","kind":"calls","metadata":{"unresolvedName":"console.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"external:createRoot(document.getElementById('root')!).render","kind":"calls","metadata":{"unresolvedName":"createRoot(document.getElementById('root')!).render"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"symbol-name:createRoot","kind":"calls","metadata":{"unresolvedName":"createRoot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/main.tsx:bootstrap","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions().map","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initializePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initializePendingRequests"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.mergeStatusRefresh","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergeStatusRefresh"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions().map","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.initialize","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.initialize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions().map","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.addPendingRequest","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.addPendingRequest"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.mergePendingRequests","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.mergePendingRequests"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions().map","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:activeSessionStore.getBusySessions","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.test.ts:","to":"external:expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(activeSessionStore.getBusySessions()[0]?.pendingAction).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","to":"external:this.recomputeDerived","kind":"calls","metadata":{"unresolvedName":"this.recomputeDerived"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:notify","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","to":"external:Object.entries(this.state.statusMap)\r\n .filter","kind":"calls","metadata":{"unresolvedName":"Object.entries(this.state.statusMap)\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","to":"external:this.sessionMeta.get","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:recomputeDerived","to":"external:this.findPendingForSession","kind":"calls","metadata":{"unresolvedName":"this.findPendingForSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","to":"external:this.sessionMeta.get","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:","to":"external:this.findPendingForSession","kind":"calls","metadata":{"unresolvedName":"this.findPendingForSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:findPendingForSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:findPendingForSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:findPendingForSession","to":"external:this.pendingRequests.values","kind":"calls","metadata":{"unresolvedName":"this.pendingRequests.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:hasPendingForSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:hasPendingForSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:hasPendingForSession","to":"external:this.pendingRequests.values","kind":"calls","metadata":{"unresolvedName":"this.pendingRequests.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyStatusSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyStatusSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyStatusSnapshot","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize","to":"external:this.applyStatusSnapshot","kind":"calls","metadata":{"unresolvedName":"this.applyStatusSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initialize","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh","to":"external:this.applyStatusSnapshot","kind":"calls","metadata":{"unresolvedName":"this.applyStatusSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergeStatusRefresh","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initializePendingRequests","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initializePendingRequests","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:initializePendingRequests","to":"external:this.applyPendingSnapshot","kind":"calls","metadata":{"unresolvedName":"this.applyPendingSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergePendingRequests","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergePendingRequests","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:mergePendingRequests","to":"external:this.applyPendingSnapshot","kind":"calls","metadata":{"unresolvedName":"this.applyPendingSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","to":"external:pendingRequests.set","kind":"calls","metadata":{"unresolvedName":"pendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","to":"external:deferredIdleSessions.add","kind":"calls","metadata":{"unresolvedName":"deferredIdleSessions.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:applyPendingSnapshot","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","to":"external:this.pendingRequests.set","kind":"calls","metadata":{"unresolvedName":"this.pendingRequests.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","to":"external:this.deferredIdleSessions.add","kind":"calls","metadata":{"unresolvedName":"this.deferredIdleSessions.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:addPendingRequest","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.pendingRequests.get","kind":"calls","metadata":{"unresolvedName":"this.pendingRequests.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.pendingRequests.delete","kind":"calls","metadata":{"unresolvedName":"this.pendingRequests.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.deferredIdleSessions.has","kind":"calls","metadata":{"unresolvedName":"this.deferredIdleSessions.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.hasPendingForSession","kind":"calls","metadata":{"unresolvedName":"this.hasPendingForSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.deferredIdleSessions.delete","kind":"calls","metadata":{"unresolvedName":"this.deferredIdleSessions.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:resolvePendingRequest","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","to":"external:this.hasPendingForSession","kind":"calls","metadata":{"unresolvedName":"this.hasPendingForSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","to":"external:this.deferredIdleSessions.add","kind":"calls","metadata":{"unresolvedName":"this.deferredIdleSessions.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","to":"external:this.deferredIdleSessions.delete","kind":"calls","metadata":{"unresolvedName":"this.deferredIdleSessions.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:updateStatus","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","to":"external:this.sessionMeta.get","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","to":"external:this.sessionMeta.set","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMeta","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","to":"external:this.sessionMeta.get","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","to":"external:this.sessionMeta.set","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:setSessionMetaBulk","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getSessionMeta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getSessionMeta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getSessionMeta","to":"external:this.sessionMeta.get","kind":"calls","metadata":{"unresolvedName":"this.sessionMeta.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getBusySessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:getBusySessions","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useActiveSessionStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusySessions","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useBusyCount","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","to":"external:activeSessionStore.getBusySessions().find","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions().find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","to":"external:activeSessionStore.getBusySessions","kind":"calls","metadata":{"unresolvedName":"activeSessionStore.getBusySessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/activeSessionStore.ts:useSessionActiveEntry","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","to":"external:pattern\r\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&') // 转义特殊字符\r\n .replace","kind":"calls","metadata":{"unresolvedName":"pattern\r\n .replace(/[.+^${}()|[\\]\\\\]/g, '\\\\$&') // 转义特殊字符\r\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","to":"external:pattern\r\n .replace","kind":"calls","metadata":{"unresolvedName":"pattern\r\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","to":"external:regex.test","kind":"calls","metadata":{"unresolvedName":"regex.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","to":"external:this.rulesMap.clear","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","to":"external:this._paneFullAutoModes.clear","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","to":"external:this._fullAutoListeners.forEach","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:reloadFromStorage","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setEnabled","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode","to":"external:this._fullAutoListeners.forEach","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAutoMode","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getPaneFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getPaneFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getPaneFullAutoMode","to":"external:this._paneFullAutoModes.get","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","to":"external:this._paneFullAutoModes.delete","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","to":"external:this.setFullAutoMode","kind":"calls","metadata":{"unresolvedName":"this.setFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","to":"external:this._paneFullAutoModes.set","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","to":"external:this._fullAutoListeners.forEach","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setPaneFullAutoMode","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearPaneFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearPaneFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearPaneFullAutoMode","to":"external:this._paneFullAutoModes.delete","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","to":"external:this.getPaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"this.getPaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","to":"external:this.setPaneFullAutoMode","kind":"calls","metadata":{"unresolvedName":"this.setPaneFullAutoMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","to":"external:this._paneFullAutoModes.delete","kind":"calls","metadata":{"unresolvedName":"this._paneFullAutoModes.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:cyclePaneFullAutoMode","to":"external:this.setFullAutoMode","kind":"calls","metadata":{"unresolvedName":"this.setFullAutoMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAuto","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAuto","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:setFullAuto","to":"external:this.setFullAutoMode","kind":"calls","metadata":{"unresolvedName":"this.setFullAutoMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange","to":"external:this._fullAutoListeners.add","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:onFullAutoChange","to":"external:this._fullAutoListeners.delete","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","to":"external:this._fullAutoListeners.delete","kind":"calls","metadata":{"unresolvedName":"this._fullAutoListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","to":"external:this.rulesMap.get","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","to":"external:patterns.map","kind":"calls","metadata":{"unresolvedName":"patterns.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","to":"external:uniqueRules.some","kind":"calls","metadata":{"unresolvedName":"uniqueRules.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","to":"external:uniqueRules.push","kind":"calls","metadata":{"unresolvedName":"uniqueRules.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:addRules","to":"external:this.rulesMap.set","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getRules","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getRules","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getRules","to":"external:this.rulesMap.get","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearRules","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearRules","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearRules","to":"external:this.rulesMap.delete","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearAllRules","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearAllRules","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:clearAllRules","to":"external:this.rulesMap.clear","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","to":"external:this.getRules","kind":"calls","metadata":{"unresolvedName":"this.getRules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","to":"external:requestPatterns.every","kind":"calls","metadata":{"unresolvedName":"requestPatterns.every"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","to":"external:rules.some","kind":"calls","metadata":{"unresolvedName":"rules.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:shouldAutoApprove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"calls","metadata":{"unresolvedName":"wildcardMatch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","to":"external:rules.some","kind":"calls","metadata":{"unresolvedName":"rules.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"calls","metadata":{"unresolvedName":"wildcardMatch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:wildcardMatch","kind":"calls","metadata":{"unresolvedName":"wildcardMatch"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","to":"external:Array.from(this.rulesMap.entries()).map","kind":"calls","metadata":{"unresolvedName":"Array.from(this.rulesMap.entries()).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/autoApproveStore.ts:getDebugInfo","to":"external:this.rulesMap.entries","kind":"calls","metadata":{"unresolvedName":"this.rulesMap.entries"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:getMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:getMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:getMode","to":"external:this.modes.get","kind":"calls","metadata":{"unresolvedName":"this.modes.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","to":"external:this.modes.get","kind":"calls","metadata":{"unresolvedName":"this.modes.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","to":"external:this.modes.set","kind":"calls","metadata":{"unresolvedName":"this.modes.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:setMode","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","to":"external:this.modes.delete","kind":"calls","metadata":{"unresolvedName":"this.modes.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearSession","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","to":"external:this.modes.clear","kind":"calls","metadata":{"unresolvedName":"this.modes.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:clearAll","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","to":"external:changeScopeStore.getMode","kind":"calls","metadata":{"unresolvedName":"changeScopeStore.getMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/changeScopeStore.ts:useSessionChangeScope","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:subscribe","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:this.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:this.childrenByParent.set","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:children.add","kind":"calls","metadata":{"unresolvedName":"children.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:this.sessionInfo.set","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:i18n.t","kind":"calls","metadata":{"unresolvedName":"i18n.t"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:registerChildSession","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","to":"external:this.sessionInfo.get","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:updateChildSession","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markIdle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markIdle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markIdle","to":"external:this.updateChildSession","kind":"calls","metadata":{"unresolvedName":"this.updateChildSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:markError","to":"external:this.updateChildSession","kind":"calls","metadata":{"unresolvedName":"this.updateChildSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds","to":"external:this.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionIds","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","to":"external:this.getChildSessionIds","kind":"calls","metadata":{"unresolvedName":"this.getChildSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","to":"external:childIds.map(id => this.sessionInfo.get(id)).filter","kind":"calls","metadata":{"unresolvedName":"childIds.map(id => this.sessionInfo.get(id)).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","to":"external:childIds.map","kind":"calls","metadata":{"unresolvedName":"childIds.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessions","to":"external:this.sessionInfo.get","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionInfo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionInfo","to":"external:this.sessionInfo.get","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf","to":"external:this.sessionInfo.get","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:isChildOf","to":"external:this.isChildOf","kind":"calls","metadata":{"unresolvedName":"this.isChildOf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","to":"external:this.getChildSessionIds","kind":"calls","metadata":{"unresolvedName":"this.getChildSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionAndDescendants","to":"external:this.getSessionAndDescendants","kind":"calls","metadata":{"unresolvedName":"this.getSessionAndDescendants"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:belongsToSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:belongsToSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:belongsToSession","to":"external:this.isChildOf","kind":"calls","metadata":{"unresolvedName":"this.isChildOf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","to":"external:this.childrenByParent.clear","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","to":"external:this.sessionInfo.clear","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearAll","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","to":"external:this.childrenByParent.get","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","to":"external:this.sessionInfo.delete","kind":"calls","metadata":{"unresolvedName":"this.sessionInfo.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","to":"external:this.clearChildren","kind":"calls","metadata":{"unresolvedName":"this.clearChildren"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","to":"external:this.childrenByParent.delete","kind":"calls","metadata":{"unresolvedName":"this.childrenByParent.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:clearChildren","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:","to":"external:childSessionsCache.clear","kind":"calls","metadata":{"unresolvedName":"childSessionsCache.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:","to":"external:sessionFamilyCache.clear","kind":"calls","metadata":{"unresolvedName":"sessionFamilyCache.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","to":"external:childSessionsCache.has","kind":"calls","metadata":{"unresolvedName":"childSessionsCache.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","to":"external:childSessionsCache.set","kind":"calls","metadata":{"unresolvedName":"childSessionsCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","to":"external:childSessionsCache.get","kind":"calls","metadata":{"unresolvedName":"childSessionsCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","to":"external:childSessionStore.getChildSessions","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getChildSessions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","to":"external:sessionFamilyCache.has","kind":"calls","metadata":{"unresolvedName":"sessionFamilyCache.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","to":"external:sessionFamilyCache.set","kind":"calls","metadata":{"unresolvedName":"sessionFamilyCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","to":"external:sessionFamilyCache.get","kind":"calls","metadata":{"unresolvedName":"sessionFamilyCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","to":"external:childSessionStore.getSessionAndDescendants","kind":"calls","metadata":{"unresolvedName":"childSessionStore.getSessionAndDescendants"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","to":"external:childSessionStore.subscribe","kind":"calls","metadata":{"unresolvedName":"childSessionStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useChildSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getChildSessionsSnapshot","kind":"calls","metadata":{"unresolvedName":"getChildSessionsSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","to":"external:childSessionStore.subscribe","kind":"calls","metadata":{"unresolvedName":"childSessionStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:useSessionFamily","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/childSessionStore.ts:getSessionFamilySnapshot","kind":"calls","metadata":{"unresolvedName":"getSessionFamilySnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments","to":"external:attachments.map","kind":"calls","metadata":{"unresolvedName":"attachments.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit","to":"external:this.listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:emit","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:setState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:setState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:setState","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","to":"external:crypto.randomUUID().replace","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID().replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:cloneAttachments","kind":"calls","metadata":{"unresolvedName":"cloneAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:enqueue","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove","to":"external:current.filter","kind":"calls","metadata":{"unresolvedName":"current.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:remove","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:markFailed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:markFailed","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:markFailed","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearFailed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearFailed","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearFailed","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:startSending","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:startSending","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:startSending","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:finishSending","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:finishSending","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:finishSending","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItems","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem","to":"external:this.getItems(sessionId).find","kind":"calls","metadata":{"unresolvedName":"this.getItems(sessionId).find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getItem","to":"external:this.getItems","kind":"calls","metadata":{"unresolvedName":"this.getItems"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:clearSession","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getSessionIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getSessionIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:getSessionIds","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:reset","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:reset","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:reset","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/followupQueueStore.ts:useFollowupQueue","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:keybindingStore.findMatchingAction","kind":"calls","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent","kind":"calls","metadata":{"unresolvedName":"keyboardEvent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:keybindingStore.isKeyUsed","kind":"calls","metadata":{"unresolvedName":"keybindingStore.isKeyUsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:keybindingStore.findMatchingAction","kind":"calls","metadata":{"unresolvedName":"keybindingStore.findMatchingAction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:keyboardEvent","kind":"calls","metadata":{"unresolvedName":"keyboardEvent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'terminal')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:keybindingStore.isKeyUsed","kind":"calls","metadata":{"unresolvedName":"keybindingStore.isKeyUsed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.test.ts:","to":"external:expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(keybindingStore.isKeyUsed('Ctrl+C', undefined, 'global')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","to":"external:key.toLowerCase","kind":"calls","metadata":{"unresolvedName":"key.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:remaining.includes","kind":"calls","metadata":{"unresolvedName":"remaining.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:remaining.indexOf","kind":"calls","metadata":{"unresolvedName":"remaining.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:remaining.substring","kind":"calls","metadata":{"unresolvedName":"remaining.substring"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:modifiers.includes","kind":"calls","metadata":{"unresolvedName":"modifiers.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:remaining.substring(1).split('+')[0].toLowerCase","kind":"calls","metadata":{"unresolvedName":"remaining.substring(1).split('+')[0].toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:remaining.substring(1).split","kind":"calls","metadata":{"unresolvedName":"remaining.substring(1).split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"external:part.toLowerCase","kind":"calls","metadata":{"unresolvedName":"part.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"calls","metadata":{"unresolvedName":"normalizeKeyName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"calls","metadata":{"unresolvedName":"parseKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","kind":"calls","metadata":{"unresolvedName":"keybindingToNormalizedString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingToNormalizedString","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","to":"external:keyDisplay.toUpperCase","kind":"calls","metadata":{"unresolvedName":"keyDisplay.toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","to":"external:keyDisplay.startsWith","kind":"calls","metadata":{"unresolvedName":"keyDisplay.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","to":"external:/^f\\d{1,2}$/.test","kind":"calls","metadata":{"unresolvedName":"/^f\\d{1,2}$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybinding","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","to":"external:keyStr.toUpperCase","kind":"calls","metadata":{"unresolvedName":"keyStr.toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","to":"external:keyStr.startsWith","kind":"calls","metadata":{"unresolvedName":"keyStr.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","to":"external:/^f\\d{1,2}$/.test","kind":"calls","metadata":{"unresolvedName":"/^f\\d{1,2}$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","to":"external:parts.join","kind":"calls","metadata":{"unresolvedName":"parts.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"calls","metadata":{"unresolvedName":"normalizeKeyName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keyEventToString","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:formatKeybindingCompact","kind":"calls","metadata":{"unresolvedName":"formatKeybindingCompact"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:parseKeybinding","kind":"calls","metadata":{"unresolvedName":"parseKeybinding"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeyName","kind":"calls","metadata":{"unresolvedName":"normalizeKeyName"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingsEqual","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingsEqual","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:keybindingsEqual","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"calls","metadata":{"unresolvedName":"normalizeKeybindingString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","to":"external:DEFAULT_KEYBINDINGS.map","kind":"calls","metadata":{"unresolvedName":"DEFAULT_KEYBINDINGS.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:loadFromStorage","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:saveToStorage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:subscribe","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","to":"external:this.updateSnapshot","kind":"calls","metadata":{"unresolvedName":"this.updateSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","to":"external:this.listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:notify","to":"symbol-name:l","kind":"calls","metadata":{"unresolvedName":"l"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:updateSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:updateSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:updateSnapshot","to":"external:this.keybindings.map","kind":"calls","metadata":{"unresolvedName":"this.keybindings.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getAll","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getByCategory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getByCategory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getByCategory","to":"external:this.keybindings.filter","kind":"calls","metadata":{"unresolvedName":"this.keybindings.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKeybinding","to":"external:this.keybindings.find","kind":"calls","metadata":{"unresolvedName":"this.keybindings.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:getKey","to":"external:this.getKeybinding","kind":"calls","metadata":{"unresolvedName":"this.getKeybinding"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"calls","metadata":{"unresolvedName":"normalizeKeybindingString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:isKeyUsed","to":"external:this.keybindings.some","kind":"calls","metadata":{"unresolvedName":"this.keybindings.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:normalizeKeybindingString","kind":"calls","metadata":{"unresolvedName":"normalizeKeybindingString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findActionByKey","to":"external:this.keybindings.find","kind":"calls","metadata":{"unresolvedName":"this.keybindings.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction","to":"external:this.keybindings.find","kind":"calls","metadata":{"unresolvedName":"this.keybindings.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:findMatchingAction","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:matchesKeybinding","kind":"calls","metadata":{"unresolvedName":"matchesKeybinding"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","to":"external:this.keybindings.find","kind":"calls","metadata":{"unresolvedName":"this.keybindings.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:setKeybinding","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","to":"external:this.keybindings.find","kind":"calls","metadata":{"unresolvedName":"this.keybindings.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetKeybinding","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:resetAll","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup","to":"external:keybindingStore.getAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.getAll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","to":"external:keybindingStore.resetAll","kind":"calls","metadata":{"unresolvedName":"keybindingStore.resetAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","to":"external:customKey.trim","kind":"calls","metadata":{"unresolvedName":"customKey.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","to":"external:keybindingStore.setKeybinding","kind":"calls","metadata":{"unresolvedName":"keybindingStore.setKeybinding"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.addMcpTab","kind":"calls","metadata":{"unresolvedName":"store.addMcpTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"store.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.openRightPanel","kind":"calls","metadata":{"unresolvedName":"store.openRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(persisted).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted.panelTabs).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(persisted.panelTabs).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect.arrayContaining","kind":"calls","metadata":{"unresolvedName":"expect.arrayContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:persisted.panelTabs.some","kind":"calls","metadata":{"unresolvedName":"persisted.panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:new LayoutStore().getState","kind":"calls","metadata":{"unresolvedName":"new LayoutStore().getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.rightPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.rightPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.bottomPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.bottomPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.panelTabs.some","kind":"calls","metadata":{"unresolvedName":"restored.panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.openBottomPanel","kind":"calls","metadata":{"unresolvedName":"store.openBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().bottomPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().bottomPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState","kind":"calls","metadata":{"unresolvedName":"store.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().rightPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().rightPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('bottom')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('right')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.moveTab","kind":"calls","metadata":{"unresolvedName":"store.moveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs('bottom').map","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs('bottom').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs('right').map","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs('right').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState().panelTabs.some","kind":"calls","metadata":{"unresolvedName":"store.getState().panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"store.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.subscribe","kind":"calls","metadata":{"unresolvedName":"store.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(notifications).toBe","kind":"calls","metadata":{"unresolvedName":"expect(notifications).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setActiveTab","kind":"calls","metadata":{"unresolvedName":"store.setActiveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().activeTabId.right).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().activeTabId.right).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"restored.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.getState().panelTabs.find","kind":"calls","metadata":{"unresolvedName":"restored.getState().panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.getState","kind":"calls","metadata":{"unresolvedName":"restored.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setTerminalCopyOnSelect","kind":"calls","metadata":{"unresolvedName":"store.setTerminalCopyOnSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setTerminalRightClickPaste","kind":"calls","metadata":{"unresolvedName":"store.setTerminalRightClickPaste"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.terminalCopyOnSelect).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.terminalCopyOnSelect).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.terminalRightClickPaste).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.terminalRightClickPaste).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.addMcpTab","kind":"calls","metadata":{"unresolvedName":"store.addMcpTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.addTerminalTab","kind":"calls","metadata":{"unresolvedName":"store.addTerminalTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.openRightPanel","kind":"calls","metadata":{"unresolvedName":"store.openRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(persisted).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted.panelTabs).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(persisted.panelTabs).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect.arrayContaining","kind":"calls","metadata":{"unresolvedName":"expect.arrayContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:persisted.panelTabs.some","kind":"calls","metadata":{"unresolvedName":"persisted.panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:new LayoutStore().getState","kind":"calls","metadata":{"unresolvedName":"new LayoutStore().getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.rightPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.rightPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.bottomPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.bottomPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.panelTabs.some","kind":"calls","metadata":{"unresolvedName":"restored.panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.panelTabs.some(tab => tab.id === 'term-1')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.openBottomPanel","kind":"calls","metadata":{"unresolvedName":"store.openBottomPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.openRightPanel","kind":"calls","metadata":{"unresolvedName":"store.openRightPanel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().bottomPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().bottomPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState","kind":"calls","metadata":{"unresolvedName":"store.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().rightPanelOpen).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().rightPanelOpen).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('bottom')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('right')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right')).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.moveTab","kind":"calls","metadata":{"unresolvedName":"store.moveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom').map(tab => tab.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs('bottom').map","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs('bottom').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('right').map(tab => tab.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs('right').map","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs('right').map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getTerminalTabs('bottom')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(store.getTerminalTabs('bottom')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getTerminalTabs","kind":"calls","metadata":{"unresolvedName":"store.getTerminalTabs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().panelTabs.some(tab => tab.id === 'term-a1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState().panelTabs.some","kind":"calls","metadata":{"unresolvedName":"store.getState().panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState","kind":"calls","metadata":{"unresolvedName":"store.getState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"store.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.subscribe","kind":"calls","metadata":{"unresolvedName":"store.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:unsubscribe","kind":"calls","metadata":{"unresolvedName":"unsubscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(notifications).toBe","kind":"calls","metadata":{"unresolvedName":"expect(notifications).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.moveTab","kind":"calls","metadata":{"unresolvedName":"store.moveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setActiveTab","kind":"calls","metadata":{"unresolvedName":"store.setActiveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(store.getState().activeTabId.right).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getState().activeTabId.right).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.getState","kind":"calls","metadata":{"unresolvedName":"store.getState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"store.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.updateTerminalSnapshot","kind":"calls","metadata":{"unresolvedName":"store.updateTerminalSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(persisted.directories['dir-a'].sessions['term-a1']).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.syncTerminalSessions","kind":"calls","metadata":{"unresolvedName":"restored.syncTerminalSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.getState().panelTabs.find","kind":"calls","metadata":{"unresolvedName":"restored.getState().panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:restored.getState","kind":"calls","metadata":{"unresolvedName":"restored.getState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setTerminalCopyOnSelect","kind":"calls","metadata":{"unresolvedName":"store.setTerminalCopyOnSelect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:store.setTerminalRightClickPaste","kind":"calls","metadata":{"unresolvedName":"store.setTerminalRightClickPaste"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-copy-on-select')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-terminal-right-click-paste')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:new LayoutStore().getState","kind":"calls","metadata":{"unresolvedName":"new LayoutStore().getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.terminalCopyOnSelect).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.terminalCopyOnSelect).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.test.ts:","to":"external:expect(restored.terminalRightClickPaste).toBe","kind":"calls","metadata":{"unresolvedName":"expect(restored.terminalRightClickPaste).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getResolvedTerminalTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getResolvedTerminalTitle","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition","to":"external:PANEL_POSITIONS.includes","kind":"calls","metadata":{"unresolvedName":"PANEL_POSITIONS.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType","to":"external:PERSISTED_PANEL_TAB_TYPES.includes","kind":"calls","metadata":{"unresolvedName":"PERSISTED_PANEL_TAB_TYPES.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:normalizePersistedPanelTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:normalizePersistedPanelTab","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"external:seenIds.has","kind":"calls","metadata":{"unresolvedName":"seenIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPersistedPanelTabType","kind":"calls","metadata":{"unresolvedName":"isPersistedPanelTabType"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:isPanelPosition","kind":"calls","metadata":{"unresolvedName":"isPanelPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"external:seenIds.add","kind":"calls","metadata":{"unresolvedName":"seenIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","to":"external:panelTabs.push","kind":"calls","metadata":{"unresolvedName":"panelTabs.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","to":"external:rawOrder.bottom.filter","kind":"calls","metadata":{"unresolvedName":"rawOrder.bottom.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","to":"external:rawOrder.right.filter","kind":"calls","metadata":{"unresolvedName":"rawOrder.right.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","to":"external:this.state.panelTabs\n .filter","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistPanelLayout","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"calls","metadata":{"unresolvedName":"sanitizePersistedTerminalLayoutMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:readTerminalLayoutMap","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:this.readTerminalLayoutMap","kind":"calls","metadata":{"unresolvedName":"this.readTerminalLayoutMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:this.getTabsForPosition('bottom').map","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition('bottom').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:this.getTabsForPosition","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:this.getTabsForPosition('right').map","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition('right').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:Object.fromEntries","kind":"calls","metadata":{"unresolvedName":"Object.fromEntries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:this.state.panelTabs\n .filter","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:persistTerminalLayout","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:subscribe","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","to":"external:this.persistPanelLayout","kind":"calls","metadata":{"unresolvedName":"this.persistPanelLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","to":"external:this.persistTerminalLayout","kind":"calls","metadata":{"unresolvedName":"this.persistTerminalLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSidebarExpanded","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSidebarExpanded","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarExpanded","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecents","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarFolderRecentsShowDiff","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setSidebarShowChildSessions","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setWakeLock","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalCopyOnSelect","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setTerminalRightClickPaste","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleSidebar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleSidebar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleSidebar","to":"external:this.setSidebarExpanded","kind":"calls","metadata":{"unresolvedName":"this.setSidebarExpanded"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setPanelOpen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setPanelOpen","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTabsForPosition","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTabsForPosition","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTabsForPosition","to":"external:this.state.panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getActiveTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getActiveTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getActiveTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","to":"external:this.state.panelTabs.push","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","to":"external:this.setPanelOpen","kind":"calls","metadata":{"unresolvedName":"this.setPanelOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","to":"external:this.setActiveTab","kind":"calls","metadata":{"unresolvedName":"this.setActiveTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","to":"external:this.setPanelOpen","kind":"calls","metadata":{"unresolvedName":"this.setPanelOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSingletonTab","to":"external:this.addTab","kind":"calls","metadata":{"unresolvedName":"this.addTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addFilesTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addFilesTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addFilesTab","to":"external:this.addTab","kind":"calls","metadata":{"unresolvedName":"this.addTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addChangesTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addChangesTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addChangesTab","to":"external:this.addTab","kind":"calls","metadata":{"unresolvedName":"this.addTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addMcpTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addMcpTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addMcpTab","to":"external:this.addSingletonTab","kind":"calls","metadata":{"unresolvedName":"this.addSingletonTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSkillTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSkillTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addSkillTab","to":"external:this.addSingletonTab","kind":"calls","metadata":{"unresolvedName":"this.addSingletonTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addWorktreeTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addWorktreeTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addWorktreeTab","to":"external:this.addSingletonTab","kind":"calls","metadata":{"unresolvedName":"this.addSingletonTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addExtensionTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addExtensionTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addExtensionTab","to":"external:this.addSingletonTab","kind":"calls","metadata":{"unresolvedName":"this.addSingletonTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:this.state.panelTabs.findIndex","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:this.state.panelTabs.splice","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:this.getTabsForPosition","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:this.setPanelOpen","kind":"calls","metadata":{"unresolvedName":"this.setPanelOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","to":"external:Object.assign","kind":"calls","metadata":{"unresolvedName":"Object.assign"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","to":"external:this.getTabsForPosition","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:moveTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","to":"external:tabs.findIndex","kind":"calls","metadata":{"unresolvedName":"tabs.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","to":"external:tabs.splice","kind":"calls","metadata":{"unresolvedName":"tabs.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTabs","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel","to":"external:this.setRightPanelView","kind":"calls","metadata":{"unresolvedName":"this.setRightPanelView"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleRightPanel","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openRightPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openRightPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openRightPanel","to":"external:this.setRightPanelView","kind":"calls","metadata":{"unresolvedName":"this.setRightPanelView"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeRightPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeRightPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeRightPanel","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelView","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","to":"external:this.state.rightPanelWidth.toString","kind":"calls","metadata":{"unresolvedName":"this.state.rightPanelWidth.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setRightPanelWidth","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","to":"external:this.getTargetFilesTab","kind":"calls","metadata":{"unresolvedName":"this.getTargetFilesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","to":"external:previewFiles.findIndex","kind":"calls","metadata":{"unresolvedName":"previewFiles.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","to":"external:previewFiles.map","kind":"calls","metadata":{"unresolvedName":"previewFiles.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","to":"external:this.setPanelOpen","kind":"calls","metadata":{"unresolvedName":"this.setPanelOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openFilePreview","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","to":"external:tab?.previewFiles?.find","kind":"calls","metadata":{"unresolvedName":"tab?.previewFiles?.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:activateFilePreview","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","to":"external:previewFiles.findIndex","kind":"calls","metadata":{"unresolvedName":"previewFiles.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","to":"external:previewFiles.filter","kind":"calls","metadata":{"unresolvedName":"previewFiles.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeFilePreview","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeAllFilePreviews","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","to":"external:previewFiles.findIndex","kind":"calls","metadata":{"unresolvedName":"previewFiles.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","to":"external:nextPreviewFiles.splice","kind":"calls","metadata":{"unresolvedName":"nextPreviewFiles.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderFilePreviews","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","to":"external:this.addFilesTab","kind":"calls","metadata":{"unresolvedName":"this.addFilesTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTargetFilesTab","to":"external:(['right', 'bottom'] as const)\n .map","kind":"calls","metadata":{"unresolvedName":"(['right', 'bottom'] as const)\n .map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleBottomPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleBottomPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:toggleBottomPanel","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openBottomPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openBottomPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:openBottomPanel","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeBottomPanel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeBottomPanel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:closeBottomPanel","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","to":"external:height.toString","kind":"calls","metadata":{"unresolvedName":"height.toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setBottomPanelHeight","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setCurrentTerminalDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setCurrentTerminalDirectory","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.readTerminalLayoutMap","kind":"calls","metadata":{"unresolvedName":"this.readTerminalLayoutMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.state.panelTabs.filter(tab => tab.type === 'terminal').map","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.filter(tab => tab.type === 'terminal').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.state.panelTabs.filter","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab","kind":"calls","metadata":{"unresolvedName":"buildTerminalPanelTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:existingTerminalById.get","kind":"calls","metadata":{"unresolvedName":"existingTerminalById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:nonTerminalTabs.map","kind":"calls","metadata":{"unresolvedName":"nonTerminalTabs.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:nonTerminalTabs.filter(tab => tab.position === position).map","kind":"calls","metadata":{"unresolvedName":"nonTerminalTabs.filter(tab => tab.position === position).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:nonTerminalTabs.filter","kind":"calls","metadata":{"unresolvedName":"nonTerminalTabs.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:orderByPosition[position].includes","kind":"calls","metadata":{"unresolvedName":"orderByPosition[position].includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:orderByPosition[position].push","kind":"calls","metadata":{"unresolvedName":"orderByPosition[position].push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:nonTerminalById.get","kind":"calls","metadata":{"unresolvedName":"nonTerminalById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:tabsByPosition[position].push","kind":"calls","metadata":{"unresolvedName":"tabsByPosition[position].push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:sessionById.get","kind":"calls","metadata":{"unresolvedName":"sessionById.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:assignedTerminalIds.has","kind":"calls","metadata":{"unresolvedName":"assignedTerminalIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:assignedTerminalIds.add","kind":"calls","metadata":{"unresolvedName":"assignedTerminalIds.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:tabsByPosition.bottom.push","kind":"calls","metadata":{"unresolvedName":"tabsByPosition.bottom.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.state.panelTabs.some","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.getTabsForPosition","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalSessions","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","to":"external:this.setPanelOpen","kind":"calls","metadata":{"unresolvedName":"this.setPanelOpen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","to":"external:this.addTab","kind":"calls","metadata":{"unresolvedName":"this.addTab"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:addTerminalTab","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildTerminalPanelTab","kind":"calls","metadata":{"unresolvedName":"buildTerminalPanelTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTerminalTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTerminalTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:removeTerminalTab","to":"external:this.removeTab","kind":"calls","metadata":{"unresolvedName":"this.removeTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTerminal","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTerminal","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:setActiveTerminal","to":"external:this.setActiveTab","kind":"calls","metadata":{"unresolvedName":"this.setActiveTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalTab","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalTab","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalTab","to":"external:this.updateTab","kind":"calls","metadata":{"unresolvedName":"this.updateTab"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalShellTitle","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalCustomTitle","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot","to":"external:this.state.panelTabs.find","kind":"calls","metadata":{"unresolvedName":"this.state.panelTabs.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:updateTerminalSnapshot","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getResolvedTerminalTitle","kind":"calls","metadata":{"unresolvedName":"getResolvedTerminalTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:syncTerminalTitleMode","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTerminalTabs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTerminalTabs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:reorderTerminalTabs","to":"external:this.reorderTabs","kind":"calls","metadata":{"unresolvedName":"this.reorderTabs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs","to":"external:this.getTabsForPosition(position)\n .filter","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition(position)\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getTerminalTabs","to":"external:this.getTabsForPosition","kind":"calls","metadata":{"unresolvedName":"this.getTabsForPosition"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getState","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","to":"external:state.panelTabs\n .filter","kind":"calls","metadata":{"unresolvedName":"state.panelTabs\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"external:layoutStore.getState","kind":"calls","metadata":{"unresolvedName":"layoutStore.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"external:Number.parseInt","kind":"calls","metadata":{"unresolvedName":"Number.parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"calls","metadata":{"unresolvedName":"sanitizePersistedTerminalLayoutMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","kind":"calls","metadata":{"unresolvedName":"buildPersistedPanelLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedPanelLayout","kind":"calls","metadata":{"unresolvedName":"sanitizePersistedPanelLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:buildPersistedPanelLayout","kind":"calls","metadata":{"unresolvedName":"buildPersistedPanelLayout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:layoutStore.getState","kind":"calls","metadata":{"unresolvedName":"layoutStore.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:sanitizePersistedTerminalLayoutMap","kind":"calls","metadata":{"unresolvedName":"sanitizePersistedTerminalLayoutMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot","to":"external:layoutStore.getState","kind":"calls","metadata":{"unresolvedName":"layoutStore.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:getSnapshot","to":"external:layoutStore.getTerminalTabs","kind":"calls","metadata":{"unresolvedName":"layoutStore.getTerminalTabs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:useLayoutStore","to":"external:layoutStore.subscribe","kind":"calls","metadata":{"unresolvedName":"layoutStore.subscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createAssistantMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createAssistantMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createTextPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createTextPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:createMessageWithParts","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.clearAll","kind":"calls","metadata":{"unresolvedName":"messageStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.isStreaming).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.isStreaming).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages.map(message => message.info.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages.map(message => message.info.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:state?.messages.map","kind":"calls","metadata":{"unresolvedName":"state?.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages ?? []).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages ?? []).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(messageStore.isSessionStale('session-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messageStore.isSessionStale('session-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.isSessionStale","kind":"calls","metadata":{"unresolvedName":"messageStore.isSessionStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.markAllSessionsStale","kind":"calls","metadata":{"unresolvedName":"messageStore.markAllSessionsStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.truncateAfterRevert","kind":"calls","metadata":{"unresolvedName":"messageStore.truncateAfterRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.revertState).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(state?.revertState).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartRemoved","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.prependMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.prependMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[1].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[1].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:rafCallbacks.push","kind":"calls","metadata":{"unresolvedName":"rafCallbacks.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:scheduledFrame","kind":"calls","metadata":{"unresolvedName":"scheduledFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage1?.parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage1?.parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage2?.parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage2?.parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage1).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage1).not.toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage2).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage2).not.toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.clearAll","kind":"calls","metadata":{"unresolvedName":"messageStore.clearAll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.isStreaming).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.isStreaming).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages.map(message => message.info.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages.map(message => message.info.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:state?.messages.map","kind":"calls","metadata":{"unresolvedName":"state?.messages.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handleMessageUpdated","kind":"calls","metadata":{"unresolvedName":"messageStore.handleMessageUpdated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages ?? []).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages ?? []).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages.map(message => message.info.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages.map(message => message.info.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:state?.messages.map","kind":"calls","metadata":{"unresolvedName":"state?.messages.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(messageStore.isSessionStale('session-1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(messageStore.isSessionStale('session-1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.isSessionStale","kind":"calls","metadata":{"unresolvedName":"messageStore.isSessionStale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.markAllSessionsStale","kind":"calls","metadata":{"unresolvedName":"messageStore.markAllSessionsStale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createAssistantMessage","kind":"calls","metadata":{"unresolvedName":"createAssistantMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts[0]).toMatchObject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.truncateAfterRevert","kind":"calls","metadata":{"unresolvedName":"messageStore.truncateAfterRevert"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.revertState).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(state?.revertState).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartRemoved","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartRemoved"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].parts).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].parts).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.prependMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.prependMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages).toHaveLength"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[0].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[0].info.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(state?.messages[1].info.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(state?.messages[1].info.id).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn(window, 'requestAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'requestAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:rafCallbacks.push","kind":"calls","metadata":{"unresolvedName":"rafCallbacks.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:vi.spyOn(window, 'cancelAnimationFrame').mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, 'cancelAnimationFrame').mockImplementation"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:messageStore.handlePartDelta","kind":"calls","metadata":{"unresolvedName":"messageStore.handlePartDelta"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:scheduledFrame","kind":"calls","metadata":{"unresolvedName":"scheduledFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage1?.parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage1?.parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage2?.parts[0]).toMatchObject","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage2?.parts[0]).toMatchObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage1).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage1).not.toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:expect(afterMessage2).not.toBe","kind":"calls","metadata":{"unresolvedName":"expect(afterMessage2).not.toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.test.ts:","to":"external:rafCallbacks.push","kind":"calls","metadata":{"unresolvedName":"rafCallbacks.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isVisibleChatRole","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isVisibleChatRole","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:subscribe","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","to":"external:this.flushDirtyMessages","kind":"calls","metadata":{"unresolvedName":"this.flushDirtyMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.flushDirtyMessages","kind":"calls","metadata":{"unresolvedName":"this.flushDirtyMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","to":"external:state.messages.map","kind":"calls","metadata":{"unresolvedName":"state.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","to":"external:dirtyMessages.has","kind":"calls","metadata":{"unresolvedName":"dirtyMessages.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","to":"external:m.parts.map","kind":"calls","metadata":{"unresolvedName":"m.parts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:flushDirtyMessages","to":"external:this.dirtyMessagesBySession.clear","kind":"calls","metadata":{"unresolvedName":"this.dirtyMessagesBySession.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:dirtyMessages.has","kind":"calls","metadata":{"unresolvedName":"dirtyMessages.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:m.parts.map","kind":"calls","metadata":{"unresolvedName":"m.parts.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","to":"external:this.flushDirtyMessages","kind":"calls","metadata":{"unresolvedName":"this.flushDirtyMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:notifyImmediate","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionState","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","to":"external:messages.findIndex","kind":"calls","metadata":{"unresolvedName":"messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getVisibleMessages","to":"external:messages.slice","kind":"calls","metadata":{"unresolvedName":"messages.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getIsStreaming","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getIsStreaming","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getIsStreaming","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRevertState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRevertState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRevertState","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getPrependedCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getPrependedCount","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getHasMoreHistory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getHasMoreHistory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getHasMoreHistory","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionDirectory","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getSessionTitle","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getShareUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getShareUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getShareUrl","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLoadState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLoadState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLoadState","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSessionStale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSessionStale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSessionStale","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","to":"external:this.sessionAccessTime.set","kind":"calls","metadata":{"unresolvedName":"this.sessionAccessTime.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","to":"external:this.evictOldSessions","kind":"calls","metadata":{"unresolvedName":"this.evictOldSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureSession","to":"external:this.sessions.set","kind":"calls","metadata":{"unresolvedName":"this.sessions.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","to":"external:this.protectedSessions.has","kind":"calls","metadata":{"unresolvedName":"this.protectedSessions.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","to":"external:logger.log","kind":"calls","metadata":{"unresolvedName":"logger.log"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","to":"external:this.sessions.delete","kind":"calls","metadata":{"unresolvedName":"this.sessions.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:evictOldSessions","to":"external:this.sessionAccessTime.delete","kind":"calls","metadata":{"unresolvedName":"this.sessionAccessTime.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:protectSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:protectSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:protectSession","to":"external:this.protectedSessions.add","kind":"calls","metadata":{"unresolvedName":"this.protectedSessions.add"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:unprotectSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:unprotectSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:unprotectSession","to":"external:this.protectedSessions.delete","kind":"calls","metadata":{"unresolvedName":"this.protectedSessions.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:updateSessionMetadata","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","to":"external:this.ensureSession","kind":"calls","metadata":{"unresolvedName":"this.ensureSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","to":"external:[...state.messages, message].sort","kind":"calls","metadata":{"unresolvedName":"[...state.messages, message].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:upsertLocalMessage","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","to":"external:state.messages.filter","kind":"calls","metadata":{"unresolvedName":"state.messages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:removeMessage","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale","to":"external:this.sessions.values","kind":"calls","metadata":{"unresolvedName":"this.sessions.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:markAllSessionsStale","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState","to":"external:this.ensureSession","kind":"calls","metadata":{"unresolvedName":"this.ensureSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setLoadState","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","to":"external:result.findIndex","kind":"calls","metadata":{"unresolvedName":"result.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","to":"external:this.isSyntheticLiveMessageId","kind":"calls","metadata":{"unresolvedName":"this.isSyntheticLiveMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:dedupeSyntheticUserMessages","to":"external:result.push","kind":"calls","metadata":{"unresolvedName":"result.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.isSyntheticLiveMessageId","kind":"calls","metadata":{"unresolvedName":"this.isSyntheticLiveMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:this.ensureSession","kind":"calls","metadata":{"unresolvedName":"this.ensureSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:apiMessages\n .filter","kind":"calls","metadata":{"unresolvedName":"apiMessages\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"symbol-name:isVisibleChatRole","kind":"calls","metadata":{"unresolvedName":"isVisibleChatRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage","kind":"calls","metadata":{"unresolvedName":"toUIMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:this.dedupeSyntheticUserMessages","kind":"calls","metadata":{"unresolvedName":"this.dedupeSyntheticUserMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:state.messages.slice(revertIndex).filter","kind":"calls","metadata":{"unresolvedName":"state.messages.slice(revertIndex).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:revertedUserMessages.map","kind":"calls","metadata":{"unresolvedName":"revertedUserMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:this.extractUserText","kind":"calls","metadata":{"unresolvedName":"this.extractUserText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:this.extractUserAttachments","kind":"calls","metadata":{"unresolvedName":"this.extractUserAttachments"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setMessages","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.extractUserText","kind":"calls","metadata":{"unresolvedName":"this.extractUserText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.extractUserAttachments","kind":"calls","metadata":{"unresolvedName":"this.extractUserAttachments"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:apiMessages.map","kind":"calls","metadata":{"unresolvedName":"apiMessages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:state.messages.map","kind":"calls","metadata":{"unresolvedName":"state.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:newMessages.filter","kind":"calls","metadata":{"unresolvedName":"newMessages.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:existingIds.has","kind":"calls","metadata":{"unresolvedName":"existingIds.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:prependMessages","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","to":"external:this.sessions.clear","kind":"calls","metadata":{"unresolvedName":"this.sessions.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","to":"external:this.sessionAccessTime.clear","kind":"calls","metadata":{"unresolvedName":"this.sessionAccessTime.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","to":"external:this.dirtyMessagesBySession.clear","kind":"calls","metadata":{"unresolvedName":"this.dirtyMessagesBySession.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","to":"symbol-name:cancelAnimationFrame","kind":"calls","metadata":{"unresolvedName":"cancelAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearAll","to":"external:this.notifyImmediate","kind":"calls","metadata":{"unresolvedName":"this.notifyImmediate"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","to":"external:this.sessions.delete","kind":"calls","metadata":{"unresolvedName":"this.sessions.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","to":"external:this.sessionAccessTime.delete","kind":"calls","metadata":{"unresolvedName":"this.sessionAccessTime.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:clearSession","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setShareUrl","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"calls","metadata":{"unresolvedName":"toUIMessageInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createStreamingPlaceholderMessage","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","to":"external:this.ensureSession","kind":"calls","metadata":{"unresolvedName":"this.ensureSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:ensureMessageForPart","to":"external:this.createStreamingPlaceholderMessage","kind":"calls","metadata":{"unresolvedName":"this.createStreamingPlaceholderMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage","to":"external:message.parts.findIndex","kind":"calls","metadata":{"unresolvedName":"message.parts.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:withTextPartFromMessage","to":"external:parts.push","kind":"calls","metadata":{"unresolvedName":"parts.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSyntheticLiveMessageId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSyntheticLiveMessageId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:isSyntheticLiveMessageId","to":"external:id.startsWith","kind":"calls","metadata":{"unresolvedName":"id.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","to":"external:this.isSyntheticLiveMessageId","kind":"calls","metadata":{"unresolvedName":"this.isSyntheticLiveMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:findDuplicateLiveUserMessageIndex","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:this.isSyntheticLiveMessageId","kind":"calls","metadata":{"unresolvedName":"this.isSyntheticLiveMessageId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"symbol-name:getMessageText","kind":"calls","metadata":{"unresolvedName":"getMessageText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"calls","metadata":{"unresolvedName":"toUIMessageInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","to":"external:message.parts.map","kind":"calls","metadata":{"unresolvedName":"message.parts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","to":"external:part.id.startsWith","kind":"calls","metadata":{"unresolvedName":"part.id.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:remapMessageIdentity","to":"external:part.id.slice","kind":"calls","metadata":{"unresolvedName":"part.id.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:sortMessagesByCreated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:sortMessagesByCreated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:sortMessagesByCreated","to":"external:[...messages].sort","kind":"calls","metadata":{"unresolvedName":"[...messages].sort"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"symbol-name:isVisibleChatRole","kind":"calls","metadata":{"unresolvedName":"isVisibleChatRole"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:logger.warn","kind":"calls","metadata":{"unresolvedName":"logger.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.ensureSession","kind":"calls","metadata":{"unresolvedName":"this.ensureSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.findDuplicateLiveUserMessageIndex","kind":"calls","metadata":{"unresolvedName":"this.findDuplicateLiveUserMessageIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.remapMessageIdentity","kind":"calls","metadata":{"unresolvedName":"this.remapMessageIdentity"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"calls","metadata":{"unresolvedName":"toUIMessageInfo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.withTextPartFromMessage","kind":"calls","metadata":{"unresolvedName":"this.withTextPartFromMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.sortMessagesByCreated","kind":"calls","metadata":{"unresolvedName":"this.sortMessagesByCreated"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleMessageUpdated","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"external:this.ensureMessageForPart","kind":"calls","metadata":{"unresolvedName":"this.ensureMessageForPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"external:newParts.findIndex","kind":"calls","metadata":{"unresolvedName":"newParts.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIPart","kind":"calls","metadata":{"unresolvedName":"toUIPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"external:newParts.push","kind":"calls","metadata":{"unresolvedName":"newParts.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartUpdated","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:this.ensureMessageForPart","kind":"calls","metadata":{"unresolvedName":"this.ensureMessageForPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:msg.parts.find","kind":"calls","metadata":{"unresolvedName":"msg.parts.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:this.dirtyMessagesBySession.get","kind":"calls","metadata":{"unresolvedName":"this.dirtyMessagesBySession.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:this.dirtyMessagesBySession.set","kind":"calls","metadata":{"unresolvedName":"this.dirtyMessagesBySession.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:dirtyMessages.add","kind":"calls","metadata":{"unresolvedName":"dirtyMessages.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartDelta","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:oldMessage.parts.some","kind":"calls","metadata":{"unresolvedName":"oldMessage.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:oldMessage.parts.filter","kind":"calls","metadata":{"unresolvedName":"oldMessage.parts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handlePartRemoved","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","to":"external:state.messages.some","kind":"calls","metadata":{"unresolvedName":"state.messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","to":"external:state.messages.map","kind":"calls","metadata":{"unresolvedName":"state.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionIdle","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","to":"external:state.messages.some","kind":"calls","metadata":{"unresolvedName":"state.messages.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","to":"external:state.messages.map","kind":"calls","metadata":{"unresolvedName":"state.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:handleSessionError","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","to":"external:state.messages.findIndex","kind":"calls","metadata":{"unresolvedName":"state.messages.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","to":"external:state.messages.slice","kind":"calls","metadata":{"unresolvedName":"state.messages.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:truncateAfterRevert","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","to":"external:state.messages.map","kind":"calls","metadata":{"unresolvedName":"state.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:createSendRollbackSnapshot","to":"external:state.revertState.history.map","kind":"calls","metadata":{"unresolvedName":"state.revertState.history.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","to":"external:snapshot.messages.map","kind":"calls","metadata":{"unresolvedName":"snapshot.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","to":"external:snapshot.revertState.history.map","kind":"calls","metadata":{"unresolvedName":"snapshot.revertState.history.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:restoreSendRollback","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setRevertState","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLastUserMessageId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLastUserMessageId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getLastUserMessageId","to":"external:this.getVisibleMessages","kind":"calls","metadata":{"unresolvedName":"this.getVisibleMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","to":"external:this.getVisibleMessages(sessionId).some","kind":"calls","metadata":{"unresolvedName":"this.getVisibleMessages(sessionId).some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canUndo","to":"external:this.getVisibleMessages","kind":"calls","metadata":{"unresolvedName":"this.getVisibleMessages"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canRedo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canRedo","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:canRedo","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRedoSteps","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRedoSteps","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getRedoSteps","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getCurrentRevertedContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getCurrentRevertedContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:getCurrentRevertedContent","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:setStreaming","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserText","to":"external:message.parts\n .filter","kind":"calls","metadata":{"unresolvedName":"message.parts\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments","to":"external:attachments.push","kind":"calls","metadata":{"unresolvedName":"attachments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts:extractUserAttachments","to":"external:crypto.randomUUID","kind":"calls","metadata":{"unresolvedName":"crypto.randomUUID"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createTextPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createTextPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts","to":"symbol-name:createUserMessage","kind":"calls","metadata":{"unresolvedName":"createUserMessage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:createMessageWithParts","to":"symbol-name:createTextPart","kind":"calls","metadata":{"unresolvedName":"createTextPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.clearAll","kind":"calls","metadata":{"unresolvedName":"messageStore.clearAll"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.messages.map(message => message.info.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.messages.map(message => message.info.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:result.current?.messages.map","kind":"calls","metadata":{"unresolvedName":"result.current?.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.canUndo).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.canUndo).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.messages).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.messages).toEqual"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.clearAll","kind":"calls","metadata":{"unresolvedName":"messageStore.clearAll"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.messages.map(message => message.info.id)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.messages.map(message => message.info.id)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:result.current?.messages.map","kind":"calls","metadata":{"unresolvedName":"result.current?.messages.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.canUndo).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.canUndo).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.setMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:createMessageWithParts","kind":"calls","metadata":{"unresolvedName":"createMessageWithParts"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:messageStore.setRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.setRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"calls","metadata":{"unresolvedName":"useSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.messages).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.messages).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.test.tsx:","to":"external:expect(result.current?.canUndo).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current?.canUndo).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getVisibleMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.getVisibleMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getIsStreaming","kind":"calls","metadata":{"unresolvedName":"messageStore.getIsStreaming"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getRevertState","kind":"calls","metadata":{"unresolvedName":"messageStore.getRevertState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getHasMoreHistory","kind":"calls","metadata":{"unresolvedName":"messageStore.getHasMoreHistory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getSessionDirectory","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getSessionTitle","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionTitle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getShareUrl","kind":"calls","metadata":{"unresolvedName":"messageStore.getShareUrl"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.canUndo","kind":"calls","metadata":{"unresolvedName":"messageStore.canUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.canRedo","kind":"calls","metadata":{"unresolvedName":"messageStore.canRedo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getRedoSteps","kind":"calls","metadata":{"unresolvedName":"messageStore.getRedoSteps"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getCurrentRevertedContent","kind":"calls","metadata":{"unresolvedName":"messageStore.getCurrentRevertedContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","to":"external:messageStore.getLoadState","kind":"calls","metadata":{"unresolvedName":"messageStore.getLoadState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSnapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:createSnapshot","kind":"calls","metadata":{"unresolvedName":"createSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","to":"external:messageStore.subscribe","kind":"calls","metadata":{"unresolvedName":"messageStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","to":"external:paneLayoutStore.subscribe","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","to":"symbol-name:unsubscribeMessageStore","kind":"calls","metadata":{"unresolvedName":"unsubscribeMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:subscribeFocusedSnapshot","to":"symbol-name:unsubscribePaneLayout","kind":"calls","metadata":{"unresolvedName":"unsubscribePaneLayout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"symbol-name:unsubscribeMessageStore","kind":"calls","metadata":{"unresolvedName":"unsubscribeMessageStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"symbol-name:unsubscribePaneLayout","kind":"calls","metadata":{"unresolvedName":"unsubscribePaneLayout"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:selector","kind":"calls","metadata":{"unresolvedName":"selector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:equalityFn","kind":"calls","metadata":{"unresolvedName":"equalityFn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"symbol-name:getSnapshot","kind":"calls","metadata":{"unresolvedName":"getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"symbol-name:selector","kind":"calls","metadata":{"unresolvedName":"selector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"symbol-name:equalityFn","kind":"calls","metadata":{"unresolvedName":"equalityFn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:shallowEqual","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:shallowEqual","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:shallowEqual","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:","to":"external:sessionSnapshots.clear","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:sessionSnapshots.has","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:sessionSnapshots.get","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:messageStore.getVisibleMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.getVisibleMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:messageStore.canUndo","kind":"calls","metadata":{"unresolvedName":"messageStore.canUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:sessionSnapshots.set","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useSessionState","to":"external:messageStore.subscribe","kind":"calls","metadata":{"unresolvedName":"messageStore.subscribe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:sessionSnapshots.has","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:sessionSnapshots.get","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:messageStore.getSessionState","kind":"calls","metadata":{"unresolvedName":"messageStore.getSessionState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:messageStore.getVisibleMessages","kind":"calls","metadata":{"unresolvedName":"messageStore.getVisibleMessages"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:messageStore.canUndo","kind":"calls","metadata":{"unresolvedName":"messageStore.canUndo"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:getSessionSnapshot","to":"external:sessionSnapshots.set","kind":"calls","metadata":{"unresolvedName":"sessionSnapshots.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useCurrentSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useCurrentSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useCurrentSessionId","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"calls","metadata":{"unresolvedName":"useMessageStoreSelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useIsStreaming","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useIsStreaming","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useIsStreaming","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"calls","metadata":{"unresolvedName":"useMessageStoreSelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessages","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"calls","metadata":{"unresolvedName":"useMessageStoreSelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useUndoRedoState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useUndoRedoState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useUndoRedoState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreHooks.ts:useMessageStoreSelector","kind":"calls","metadata":{"unresolvedName":"useMessageStoreSelector"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/messageStoreTypes.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","to":"external:serverStorage.getJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.getJSON"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","to":"external:stored.filter","kind":"calls","metadata":{"unresolvedName":"stored.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","to":"external:this.reload","kind":"calls","metadata":{"unresolvedName":"this.reload"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot","to":"external:Array.from(this.hiddenModelKeys).sort","kind":"calls","metadata":{"unresolvedName":"Array.from(this.hiddenModelKeys).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:updateSnapshot","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:persist","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:persist","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:persist","to":"external:serverStorage.setJSON","kind":"calls","metadata":{"unresolvedName":"serverStorage.setJSON"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:loadHiddenModelKeys","kind":"calls","metadata":{"unresolvedName":"loadHiddenModelKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:reload","to":"external:this.updateSnapshot","kind":"calls","metadata":{"unresolvedName":"this.updateSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","to":"external:this.updateSnapshot","kind":"calls","metadata":{"unresolvedName":"this.updateSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","to":"external:this.listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:notify","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:isVisible","to":"external:this.hiddenModelKeys.has","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"external:this.hiddenModelKeys.delete","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"external:this.hiddenModelKeys.has","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"external:this.hiddenModelKeys.add","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setVisible","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"external:this.hiddenModelKeys.delete","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"external:this.hiddenModelKeys.has","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"external:this.hiddenModelKeys.add","kind":"calls","metadata":{"unresolvedName":"this.hiddenModelKeys.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:setManyVisible","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/modelVisibilityStore.ts:useHiddenModelKeys","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:notificationEventSettingsStore.setSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.setSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:expect(persisted).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(persisted).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:notificationEventSettingsStore.setSystemEnabled","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.setSystemEnabled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"external:expect(persisted).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(persisted).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:createDefaultSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:createDefaultSettings","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","to":"symbol-name:createDefaultSettings","kind":"calls","metadata":{"unresolvedName":"createDefaultSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:loadSettings","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:saveSettings","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:normalizeSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:normalizeSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:normalizeSettings","to":"symbol-name:createDefaultSettings","kind":"calls","metadata":{"unresolvedName":"createDefaultSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:notify","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:persist","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:persist","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:persist","to":"symbol-name:saveSettings","kind":"calls","metadata":{"unresolvedName":"saveSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:isSystemEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:isSystemEnabled","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:setSystemEnabled","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","to":"symbol-name:normalizeSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","to":"external:notificationEventSettingsStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"notificationEventSettingsStore.getSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","to":"symbol-name:saveSettings","kind":"calls","metadata":{"unresolvedName":"saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","to":"symbol-name:normalizeSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:useNotificationEventSettings","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","to":"external:(JSON.parse(raw) as NotificationEntry[]).slice","kind":"calls","metadata":{"unresolvedName":"(JSON.parse(raw) as NotificationEntry[]).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:loadNotifications","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:notify","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:persist","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:persist","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:persist","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:saveNotifications","kind":"calls","metadata":{"unresolvedName":"saveNotifications"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:setToastEnabled","to":"external:this.dismissAllToasts","kind":"calls","metadata":{"unresolvedName":"this.dismissAllToasts"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush","to":"external:this.pushListeners.add","kind":"calls","metadata":{"unresolvedName":"this.pushListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:onPush","to":"external:this.pushListeners.delete","kind":"calls","metadata":{"unresolvedName":"this.pushListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:[entry, ...this.state.notifications].slice","kind":"calls","metadata":{"unresolvedName":"[entry, ...this.state.notifications].slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:toasts.pop","kind":"calls","metadata":{"unresolvedName":"toasts.pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:this.clearToastTimer","kind":"calls","metadata":{"unresolvedName":"this.clearToastTimer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:toasts.unshift","kind":"calls","metadata":{"unresolvedName":"toasts.unshift"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:this.scheduleToastDismiss","kind":"calls","metadata":{"unresolvedName":"this.scheduleToastDismiss"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"external:this.pushListeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.pushListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:push","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","to":"external:this.state.notifications.map","kind":"calls","metadata":{"unresolvedName":"this.state.notifications.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markRead","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","to":"external:this.state.notifications.map","kind":"calls","metadata":{"unresolvedName":"this.state.notifications.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markAllRead","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","to":"external:this.state.notifications.map","kind":"calls","metadata":{"unresolvedName":"this.state.notifications.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:markSessionNotificationsRead","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","to":"external:this.state.notifications.filter","kind":"calls","metadata":{"unresolvedName":"this.state.notifications.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismiss","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearAll","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","to":"external:this.clearToastTimer","kind":"calls","metadata":{"unresolvedName":"this.clearToastTimer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","to":"external:this.dismissToast","kind":"calls","metadata":{"unresolvedName":"this.dismissToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:scheduleToastDismiss","to":"external:this.toastTimers.set","kind":"calls","metadata":{"unresolvedName":"this.toastTimers.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","to":"external:this.toastTimers.get","kind":"calls","metadata":{"unresolvedName":"this.toastTimers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:clearToastTimer","to":"external:this.toastTimers.delete","kind":"calls","metadata":{"unresolvedName":"this.toastTimers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:pauseToast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:pauseToast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:pauseToast","to":"external:this.clearToastTimer","kind":"calls","metadata":{"unresolvedName":"this.clearToastTimer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast","to":"external:this.state.toasts.some","kind":"calls","metadata":{"unresolvedName":"this.state.toasts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:resumeToast","to":"external:this.scheduleToastDismiss","kind":"calls","metadata":{"unresolvedName":"this.scheduleToastDismiss"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","to":"external:this.clearToastTimer","kind":"calls","metadata":{"unresolvedName":"this.clearToastTimer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","to":"external:this.state.toasts.map","kind":"calls","metadata":{"unresolvedName":"this.state.toasts.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissToast","to":"external:this.state.toasts.filter","kind":"calls","metadata":{"unresolvedName":"this.state.toasts.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"external:this.state.toasts.filter","kind":"calls","metadata":{"unresolvedName":"this.state.toasts.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","to":"external:this.toastTimers.forEach","kind":"calls","metadata":{"unresolvedName":"this.toastTimers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","to":"external:this.toastTimers.clear","kind":"calls","metadata":{"unresolvedName":"this.toastTimers.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:dismissAllToasts","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:exportNotificationPreferencesBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:exportNotificationPreferencesBackup","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup","to":"external:notificationStore.setToastEnabled","kind":"calls","metadata":{"unresolvedName":"notificationStore.setToastEnabled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotifications","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"calls","metadata":{"unresolvedName":"useNotificationStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"calls","metadata":{"unresolvedName":"useNotificationStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadNotificationCount","to":"external:state.notifications.filter","kind":"calls","metadata":{"unresolvedName":"state.notifications.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useNotificationStore","kind":"calls","metadata":{"unresolvedName":"useNotificationStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","to":"external:state.notifications.filter(n => n.type === 'completed' && !n.read).map","kind":"calls","metadata":{"unresolvedName":"state.notifications.filter(n => n.type === 'completed' && !n.read).map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","to":"external:state.notifications.filter","kind":"calls","metadata":{"unresolvedName":"state.notifications.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useUnreadCompletedSessionIds","kind":"calls","metadata":{"unresolvedName":"useUnreadCompletedSessionIds"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:useHasUnreadCompletedNotification","to":"external:unreadCompletedSessionIds.has","kind":"calls","metadata":{"unresolvedName":"unreadCompletedSessionIds.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:isSameController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:isSameController","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:subscribe","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:notify","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:rebuildSnapshot","to":"external:this.controllers.values","kind":"calls","metadata":{"unresolvedName":"this.controllers.values"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","to":"external:this.controllers.get","kind":"calls","metadata":{"unresolvedName":"this.controllers.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:isSameController","kind":"calls","metadata":{"unresolvedName":"isSameController"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","to":"external:this.controllers.set","kind":"calls","metadata":{"unresolvedName":"this.controllers.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","to":"external:this.rebuildSnapshot","kind":"calls","metadata":{"unresolvedName":"this.rebuildSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:setController","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","to":"external:this.controllers.has","kind":"calls","metadata":{"unresolvedName":"this.controllers.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","to":"external:this.controllers.delete","kind":"calls","metadata":{"unresolvedName":"this.controllers.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","to":"external:this.rebuildSnapshot","kind":"calls","metadata":{"unresolvedName":"this.rebuildSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:removeController","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getController","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getController","to":"external:this.controllers.get","kind":"calls","metadata":{"unresolvedName":"this.controllers.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getControllers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:getControllers","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","to":"external:paneControllerStore.subscribe","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneController","to":"external:paneControllerStore.getController","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.getController"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","to":"external:paneControllerStore.subscribe","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneControllerStore.ts:usePaneControllers","to":"external:paneControllerStore.getControllers","kind":"calls","metadata":{"unresolvedName":"paneControllerStore.getControllers"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.reset","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.reset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.setFocusedSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setFocusedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneB).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneB).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneC).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneC).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneLayoutStore.getFocusedPaneId()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedPaneId()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneLayoutStore.getFocusedSessionId()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedSessionId()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.reset","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.reset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.setFocusedSession","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.setFocusedSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.splitPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneB).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneB).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneC).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneC).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.focusPane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.focusPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.closePane","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.closePane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneLayoutStore.getFocusedPaneId()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedPaneId()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.getFocusedPaneId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:expect(paneLayoutStore.getFocusedSessionId()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(paneLayoutStore.getFocusedSessionId()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.test.ts:","to":"external:paneLayoutStore.getFocusedSessionId","kind":"calls","metadata":{"unresolvedName":"paneLayoutStore.getFocusedSessionId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"calls","metadata":{"unresolvedName":"countLeaves"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"calls","metadata":{"unresolvedName":"replaceNode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"calls","metadata":{"unresolvedName":"removeLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"calls","metadata":{"unresolvedName":"findReplacementForRemovedLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","to":"symbol-name:walk","kind":"calls","metadata":{"unresolvedName":"walk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:walk","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:walk","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:walk","to":"symbol-name:walk","kind":"calls","metadata":{"unresolvedName":"walk"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"calls","metadata":{"unresolvedName":"updateRatio"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"calls","metadata":{"unresolvedName":"genPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"calls","metadata":{"unresolvedName":"countLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","kind":"calls","metadata":{"unresolvedName":"_snapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"symbol-name:_notify","kind":"calls","metadata":{"unresolvedName":"_notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:_listeners.add","kind":"calls","metadata":{"unresolvedName":"_listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:_listeners.delete","kind":"calls","metadata":{"unresolvedName":"_listeners.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:this.exitPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"this.exitPaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:this.enterPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"this.enterPaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"calls","metadata":{"unresolvedName":"replaceNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:this.setPaneSession","kind":"calls","metadata":{"unresolvedName":"this.setPaneSession"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"calls","metadata":{"unresolvedName":"genSplitId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"calls","metadata":{"unresolvedName":"findReplacementForRemovedLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"calls","metadata":{"unresolvedName":"removeLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","kind":"calls","metadata":{"unresolvedName":"swapLeafSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"calls","metadata":{"unresolvedName":"updateRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:this.splitPane","kind":"calls","metadata":{"unresolvedName":"this.splitPane"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:leaves.findIndex","kind":"calls","metadata":{"unresolvedName":"leaves.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:createPaneLayoutStore","to":"external:this.focusPane","kind":"calls","metadata":{"unresolvedName":"this.focusPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:countLeaves","kind":"calls","metadata":{"unresolvedName":"countLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_snapshot","kind":"calls","metadata":{"unresolvedName":"_snapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","to":"symbol-name:_notify","kind":"calls","metadata":{"unresolvedName":"_notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe","to":"external:_listeners.add","kind":"calls","metadata":{"unresolvedName":"_listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:subscribe","to":"external:_listeners.delete","kind":"calls","metadata":{"unresolvedName":"_listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getSnapshot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getRoot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getRoot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedPaneId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedPaneId","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedSessionId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedSessionId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFocusedSessionId","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFullscreenPaneId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:getFullscreenPaneId","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:isSinglePane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:isSinglePane","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterPaneFullscreen","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitPaneFullscreen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitPaneFullscreen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitPaneFullscreen","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen","to":"external:this.exitPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"this.exitPaneFullscreen"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:togglePaneFullscreen","to":"external:this.enterPaneFullscreen","kind":"calls","metadata":{"unresolvedName":"this.enterPaneFullscreen"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"calls","metadata":{"unresolvedName":"replaceNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setPaneSession","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setFocusedSession","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setFocusedSession","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setFocusedSession","to":"external:this.setPaneSession","kind":"calls","metadata":{"unresolvedName":"this.setPaneSession"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"calls","metadata":{"unresolvedName":"genPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"calls","metadata":{"unresolvedName":"genSplitId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"calls","metadata":{"unresolvedName":"replaceNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"calls","metadata":{"unresolvedName":"genPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genSplitId","kind":"calls","metadata":{"unresolvedName":"genSplitId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:replaceNode","kind":"calls","metadata":{"unresolvedName":"replaceNode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:splitPaneToSide","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findReplacementForRemovedLeaf","kind":"calls","metadata":{"unresolvedName":"findReplacementForRemovedLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:removeLeaf","kind":"calls","metadata":{"unresolvedName":"removeLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:closePane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapLeafSessions","kind":"calls","metadata":{"unresolvedName":"swapLeafSessions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:swapPanes","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:updateRatio","kind":"calls","metadata":{"unresolvedName":"updateRatio"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:setRatio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterSplitMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterSplitMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:enterSplitMode","to":"external:this.splitPane","kind":"calls","metadata":{"unresolvedName":"this.splitPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:findLeaf","kind":"calls","metadata":{"unresolvedName":"findLeaf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:exitSplitMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:genPaneId","kind":"calls","metadata":{"unresolvedName":"genPaneId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:reset","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:_refreshSnapshot","kind":"calls","metadata":{"unresolvedName":"_refreshSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","to":"external:leaves.findIndex","kind":"calls","metadata":{"unresolvedName":"leaves.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusNextPane","to":"external:this.focusPane","kind":"calls","metadata":{"unresolvedName":"this.focusPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","to":"external:leaves.findIndex","kind":"calls","metadata":{"unresolvedName":"leaves.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPrevPane","to":"external:this.focusPane","kind":"calls","metadata":{"unresolvedName":"this.focusPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:allLeaves","kind":"calls","metadata":{"unresolvedName":"allLeaves"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:focusPaneByIndex","to":"external:this.focusPane","kind":"calls","metadata":{"unresolvedName":"this.focusPane"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/paneLayoutStore.ts:usePaneLayout","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:Date.parse","kind":"calls","metadata":{"unresolvedName":"Date.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:perfSpy.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"perfSpy.mockReturnValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:new Date(serverTimestamp).toISOString","kind":"calls","metadata":{"unresolvedName":"new Date(serverTimestamp).toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:perfSpy.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"perfSpy.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:expect(serverStore.getActiveCalibratedNow()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveCalibratedNow","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:expect(serverStore.getActiveCalibratedNow()).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.addServer","kind":"calls","metadata":{"unresolvedName":"serverStore.addServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.setActiveServer","kind":"calls","metadata":{"unresolvedName":"serverStore.setActiveServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:Date.parse","kind":"calls","metadata":{"unresolvedName":"Date.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:perfSpy.mockReturnValueOnce","kind":"calls","metadata":{"unresolvedName":"perfSpy.mockReturnValueOnce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:new Date(serverTimestamp).toISOString","kind":"calls","metadata":{"unresolvedName":"new Date(serverTimestamp).toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:perfSpy.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"perfSpy.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:expect(serverStore.getActiveCalibratedNow()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveCalibratedNow","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:expect(serverStore.getActiveCalibratedNow()).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveCalibratedNow","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:perfSpy.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"perfSpy.mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.applyServerConnectedTimestamp","kind":"calls","metadata":{"unresolvedName":"serverStore.applyServerConnectedTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.addServer","kind":"calls","metadata":{"unresolvedName":"serverStore.addServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.setActiveServer","kind":"calls","metadata":{"unresolvedName":"serverStore.setActiveServer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:expect(serverStore.getActiveCalibratedNow()).toBeUndefined","kind":"calls","metadata":{"unresolvedName":"expect(serverStore.getActiveCalibratedNow()).toBeUndefined"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.test.ts:","to":"external:serverStore.getActiveCalibratedNow","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveCalibratedNow"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","to":"external:import('@tauri-apps/plugin-http').then","kind":"calls","metadata":{"unresolvedName":"import('@tauri-apps/plugin-http').then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","to":"external:sessionStorage.getItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:loadFromStorage","to":"external:this.servers.some","kind":"calls","metadata":{"unresolvedName":"this.servers.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:saveToStorage","to":"external:sessionStorage.setItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.setItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:subscribe","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange","to":"external:this.serverChangeListeners.add","kind":"calls","metadata":{"unresolvedName":"this.serverChangeListeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:onServerChange","to":"external:this.serverChangeListeners.delete","kind":"calls","metadata":{"unresolvedName":"this.serverChangeListeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","to":"external:this.updateSnapshots","kind":"calls","metadata":{"unresolvedName":"this.updateSnapshots"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","to":"external:this.listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:notify","to":"symbol-name:l","kind":"calls","metadata":{"unresolvedName":"l"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","to":"symbol-name:l","kind":"calls","metadata":{"unresolvedName":"l"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateSnapshots","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateSnapshots","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateSnapshots","to":"external:this.servers.find","kind":"calls","metadata":{"unresolvedName":"this.servers.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServers","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServers","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServer","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServerId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveServerId","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:isPiMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:isPiMode","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveToken","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveToken","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveToken","to":"external:this.isPiMode","kind":"calls","metadata":{"unresolvedName":"this.isPiMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl","to":"external:this.isPiMode","kind":"calls","metadata":{"unresolvedName":"this.isPiMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveBaseUrl","to":"external:this.getActiveServer","kind":"calls","metadata":{"unresolvedName":"this.getActiveServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth","to":"external:this.isPiMode","kind":"calls","metadata":{"unresolvedName":"this.isPiMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveAuth","to":"external:this.getActiveServer","kind":"calls","metadata":{"unresolvedName":"this.getActiveServer"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServerAuth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServerAuth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getServerAuth","to":"external:this.servers.find","kind":"calls","metadata":{"unresolvedName":"this.servers.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getHealth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getHealth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getHealth","to":"external:this.healthMap.get","kind":"calls","metadata":{"unresolvedName":"this.healthMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getAllHealth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getAllHealth","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","to":"external:this.clockCalibrationMap.get","kind":"calls","metadata":{"unresolvedName":"this.clockCalibrationMap.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","to":"external:this.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"this.getActiveServerId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getActiveCalibratedNow","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:config.url.replace","kind":"calls","metadata":{"unresolvedName":"config.url.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:this.servers.push","kind":"calls","metadata":{"unresolvedName":"this.servers.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:addServer","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","to":"external:this.servers.findIndex","kind":"calls","metadata":{"unresolvedName":"this.servers.findIndex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","to":"external:updates.url.replace","kind":"calls","metadata":{"unresolvedName":"updates.url.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:updateServer","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.servers.find","kind":"calls","metadata":{"unresolvedName":"this.servers.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.servers.filter","kind":"calls","metadata":{"unresolvedName":"this.servers.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.healthMap.delete","kind":"calls","metadata":{"unresolvedName":"this.healthMap.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.clockCalibrationMap.delete","kind":"calls","metadata":{"unresolvedName":"this.clockCalibrationMap.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:removeServer","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","to":"external:this.servers.some","kind":"calls","metadata":{"unresolvedName":"this.servers.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","to":"external:this.saveToStorage","kind":"calls","metadata":{"unresolvedName":"this.saveToStorage"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","to":"external:this.serverChangeListeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.serverChangeListeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:setActiveServer","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","kind":"calls","metadata":{"unresolvedName":"normalizeServerTimestamp"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","to":"external:this.clockCalibrationMap.set","kind":"calls","metadata":{"unresolvedName":"this.clockCalibrationMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","to":"external:performance.now","kind":"calls","metadata":{"unresolvedName":"performance.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:applyServerConnectedTimestamp","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:this.servers.find","kind":"calls","metadata":{"unresolvedName":"this.servers.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:this.healthMap.set","kind":"calls","metadata":{"unresolvedName":"this.healthMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:controller.abort","kind":"calls","metadata":{"unresolvedName":"controller.abort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"calls","metadata":{"unresolvedName":"makeBasicAuthHeader"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:getUnifiedFetch","kind":"calls","metadata":{"unresolvedName":"getUnifiedFetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/components/Terminal.tsx:f","kind":"calls","metadata":{"unresolvedName":"f"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkHealth","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","to":"external:this.servers.map","kind":"calls","metadata":{"unresolvedName":"this.servers.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:checkAllHealth","to":"external:this.checkHealth","kind":"calls","metadata":{"unresolvedName":"this.checkHealth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","to":"external:parsed.servers\n .filter","kind":"calls","metadata":{"unresolvedName":"parsed.servers\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","to":"external:item.url.replace","kind":"calls","metadata":{"unresolvedName":"item.url.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","to":"external:normalizedServers.some","kind":"calls","metadata":{"unresolvedName":"normalizedServers.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","to":"external:serverStore.getServers().map","kind":"calls","metadata":{"unresolvedName":"serverStore.getServers().map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","to":"external:serverStore.getServers","kind":"calls","metadata":{"unresolvedName":"serverStore.getServers"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerBackup","kind":"calls","metadata":{"unresolvedName":"normalizeServerBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"external:sessionStorage.setItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","to":"external:sessionStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.removeItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:makeBasicAuthHeader","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:normalizeServerTimestamp","to":"external:Date.parse","kind":"calls","metadata":{"unresolvedName":"Date.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setAutoStart","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setBinaryPath","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setEnvVars","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setRunning","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setRunning","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setRunning","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStartedByUs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStartedByUs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStartedByUs","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStarting","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStarting","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:setStarting","to":"external:this._notify","kind":"calls","metadata":{"unresolvedName":"this._notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","to":"external:this._listeners.add","kind":"calls","metadata":{"unresolvedName":"this._listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","to":"external:this._listeners.delete","kind":"calls","metadata":{"unresolvedName":"this._listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:","to":"external:this._listeners.delete","kind":"calls","metadata":{"unresolvedName":"this._listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_buildSnapshot","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_buildSnapshot","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","to":"external:this._buildSnapshot","kind":"calls","metadata":{"unresolvedName":"this._buildSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","to":"external:this._listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this._listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:_notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup","to":"external:serviceStore.envVars.map","kind":"calls","metadata":{"unresolvedName":"serviceStore.envVars.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","to":"external:parsed.envVars\r\n .filter","kind":"calls","metadata":{"unresolvedName":"parsed.envVars\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","to":"external:serviceStore.setAutoStart","kind":"calls","metadata":{"unresolvedName":"serviceStore.setAutoStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","to":"external:serviceStore.setBinaryPath","kind":"calls","metadata":{"unresolvedName":"serviceStore.setBinaryPath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","to":"external:serviceStore.setEnvVars","kind":"calls","metadata":{"unresolvedName":"serviceStore.setEnvVars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:useServiceStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:createDefaultSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:createDefaultSettings","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"symbol-name:createDefaultSettings","kind":"calls","metadata":{"unresolvedName":"createDefaultSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:loadSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig","kind":"calls","metadata":{"unresolvedName":"normalizeEventConfig"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:saveSettings","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","to":"external:blob.arrayBuffer().then","kind":"calls","metadata":{"unresolvedName":"blob.arrayBuffer().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","to":"external:blob.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"blob.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","to":"external:bytes.subarray","kind":"calls","metadata":{"unresolvedName":"bytes.subarray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","to":"external:String.fromCharCode","kind":"calls","metadata":{"unresolvedName":"String.fromCharCode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:bytes.subarray","kind":"calls","metadata":{"unresolvedName":"bytes.subarray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:String.fromCharCode","kind":"calls","metadata":{"unresolvedName":"String.fromCharCode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","to":"symbol-name:atob","kind":"calls","metadata":{"unresolvedName":"atob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","to":"external:binary.charCodeAt","kind":"calls","metadata":{"unresolvedName":"binary.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","to":"external:indexedDB.open","kind":"calls","metadata":{"unresolvedName":"indexedDB.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","to":"external:db.objectStoreNames.contains","kind":"calls","metadata":{"unresolvedName":"db.objectStoreNames.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","to":"external:db.createObjectStore","kind":"calls","metadata":{"unresolvedName":"db.createObjectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:indexedDB.open","kind":"calls","metadata":{"unresolvedName":"indexedDB.open"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.objectStoreNames.contains","kind":"calls","metadata":{"unresolvedName":"db.objectStoreNames.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.createObjectStore","kind":"calls","metadata":{"unresolvedName":"db.createObjectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.objectStoreNames.contains","kind":"calls","metadata":{"unresolvedName":"db.objectStoreNames.contains"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.createObjectStore","kind":"calls","metadata":{"unresolvedName":"db.createObjectStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"calls","metadata":{"unresolvedName":"openIDB"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"external:store.put","kind":"calls","metadata":{"unresolvedName":"store.put"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:store.put","kind":"calls","metadata":{"unresolvedName":"store.put"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"calls","metadata":{"unresolvedName":"openIDB"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"external:store.get","kind":"calls","metadata":{"unresolvedName":"store.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:store.get","kind":"calls","metadata":{"unresolvedName":"store.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:openIDB","kind":"calls","metadata":{"unresolvedName":"openIDB"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"external:store.delete","kind":"calls","metadata":{"unresolvedName":"store.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.transaction","kind":"calls","metadata":{"unresolvedName":"db.transaction"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:tx.objectStore","kind":"calls","metadata":{"unresolvedName":"tx.objectStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:store.delete","kind":"calls","metadata":{"unresolvedName":"store.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:resolve","kind":"calls","metadata":{"unresolvedName":"resolve"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:reject","kind":"calls","metadata":{"unresolvedName":"reject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:db.close","kind":"calls","metadata":{"unresolvedName":"db.close"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","to":"external:file.type.startsWith","kind":"calls","metadata":{"unresolvedName":"file.type.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","to":"external:ALLOWED_AUDIO_TYPES.includes","kind":"calls","metadata":{"unresolvedName":"ALLOWED_AUDIO_TYPES.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:notify","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"symbol-name:cb","kind":"calls","metadata":{"unresolvedName":"cb"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:persist","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:persist","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:persist","to":"symbol-name:saveSettings","kind":"calls","metadata":{"unresolvedName":"saveSettings"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEnabled","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setCurrentSessionEnabled","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setVolume","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:setEventSound","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:isAudioFileValid","kind":"calls","metadata":{"unresolvedName":"isAudioFileValid"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"external:file.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"file.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","kind":"calls","metadata":{"unresolvedName":"idbPut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"external:this.customAudioCache.set","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:uploadCustomAudio","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","kind":"calls","metadata":{"unresolvedName":"idbDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","to":"external:this.customAudioCache.delete","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","to":"external:this.persist","kind":"calls","metadata":{"unresolvedName":"this.persist"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:removeCustomAudio","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlob","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlob","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlob","to":"external:this.customAudioCache.get","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:hasCustomAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:hasCustomAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:hasCustomAudio","to":"external:this.customAudioCache.has","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:this.getCustomAudioBlobAsync","kind":"calls","metadata":{"unresolvedName":"this.getCustomAudioBlobAsync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:URL.createObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.createObjectURL"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:a.click","kind":"calls","metadata":{"unresolvedName":"a.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudio","to":"external:URL.revokeObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.revokeObjectURL"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup","to":"external:this.getCustomAudioBlobAsync","kind":"calls","metadata":{"unresolvedName":"this.getCustomAudioBlobAsync"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportCustomAudioForBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:blobToBase64","kind":"calls","metadata":{"unresolvedName":"blobToBase64"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbDelete","kind":"calls","metadata":{"unresolvedName":"idbDelete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","to":"external:this.customAudioCache.delete","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:base64ToBlob","kind":"calls","metadata":{"unresolvedName":"base64ToBlob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbPut","kind":"calls","metadata":{"unresolvedName":"idbPut"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importCustomAudioFromBackup","to":"external:this.customAudioCache.set","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"external:this.customAudioCache.get","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"external:this.customAudioLoading.has","kind":"calls","metadata":{"unresolvedName":"this.customAudioLoading.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"external:this.customAudioLoading.add","kind":"calls","metadata":{"unresolvedName":"this.customAudioLoading.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","kind":"calls","metadata":{"unresolvedName":"idbGet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"external:this.customAudioCache.set","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:getCustomAudioBlobAsync","to":"external:this.customAudioLoading.delete","kind":"calls","metadata":{"unresolvedName":"this.customAudioLoading.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:idbGet","kind":"calls","metadata":{"unresolvedName":"idbGet"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:preloadCustomAudio","to":"external:this.customAudioCache.set","kind":"calls","metadata":{"unresolvedName":"this.customAudioCache.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","to":"symbol-name:createDefaultSettings","kind":"calls","metadata":{"unresolvedName":"createDefaultSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeEventConfig","kind":"calls","metadata":{"unresolvedName":"normalizeEventConfig"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeBackupCustomAudioMap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeBackupCustomAudioMap","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSoundSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","to":"external:soundStore.exportCustomAudioForBackup","kind":"calls","metadata":{"unresolvedName":"soundStore.exportCustomAudioForBackup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeSoundSettings","kind":"calls","metadata":{"unresolvedName":"normalizeSoundSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:normalizeBackupCustomAudioMap","kind":"calls","metadata":{"unresolvedName":"normalizeBackupCustomAudioMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","to":"symbol-name:saveSettings","kind":"calls","metadata":{"unresolvedName":"saveSettings"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","to":"external:soundStore.importCustomAudioFromBackup","kind":"calls","metadata":{"unresolvedName":"soundStore.importCustomAudioFromBackup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:useSoundSettings","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:document.createElement('canvas').getContext","kind":"calls","metadata":{"unresolvedName":"document.createElement('canvas').getContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:normalized.startsWith","kind":"calls","metadata":{"unresolvedName":"normalized.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:normalized.match","kind":"calls","metadata":{"unresolvedName":"normalized.match"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice","kind":"calls","metadata":{"unresolvedName":"((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","to":"external:((1 << 24) | (r << 16) | (g << 8) | b).toString","kind":"calls","metadata":{"unresolvedName":"((1 << 24) | (r << 16) | (g << 8) | b).toString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","to":"external:parsed.filter","kind":"calls","metadata":{"unresolvedName":"parsed.filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getState","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getPreset","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getPreset","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getPreset","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"calls","metadata":{"unresolvedName":"getThemePreset"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getAvailablePresets","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getAvailablePresets","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getAvailablePresets","to":"external:builtinThemes.map","kind":"calls","metadata":{"unresolvedName":"builtinThemes.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getResolvedMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getResolvedMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:getResolvedMode","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","to":"external:this.applyTheme","kind":"calls","metadata":{"unresolvedName":"this.applyTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setPreset","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","to":"external:this.applyTheme","kind":"calls","metadata":{"unresolvedName":"this.applyTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setColorMode","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","to":"external:this.applyCustomCSS","kind":"calls","metadata":{"unresolvedName":"this.applyCustomCSS"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCustomCSS","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:Math.random().toString(36).slice","kind":"calls","metadata":{"unresolvedName":"Math.random().toString(36).slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:Math.random().toString","kind":"calls","metadata":{"unresolvedName":"Math.random().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:this.persistCustomCSSSnippets","kind":"calls","metadata":{"unresolvedName":"this.persistCustomCSSSnippets"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:saveCustomCSSSnippet","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","to":"external:this.state.customCSSSnippets.map","kind":"calls","metadata":{"unresolvedName":"this.state.customCSSSnippets.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","to":"external:this.persistCustomCSSSnippets","kind":"calls","metadata":{"unresolvedName":"this.persistCustomCSSSnippets"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:updateCustomCSSSnippet","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","to":"external:this.state.customCSSSnippets.filter","kind":"calls","metadata":{"unresolvedName":"this.state.customCSSSnippets.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","to":"external:this.persistCustomCSSSnippets","kind":"calls","metadata":{"unresolvedName":"this.persistCustomCSSSnippets"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:deleteCustomCSSSnippet","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","to":"external:this.state.customCSSSnippets.find","kind":"calls","metadata":{"unresolvedName":"this.state.customCSSSnippets.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","to":"external:this.applyCustomCSS","kind":"calls","metadata":{"unresolvedName":"this.applyCustomCSS"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSSSnippet","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clearActiveCustomCSSSnippet","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCollapseUserMessages","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setStepFinishDisplay","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompletedAtFormat","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setReasoningDisplayMode","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setWideMode","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:toggleWideMode","to":"external:this.setWideMode","kind":"calls","metadata":{"unresolvedName":"this.setWideMode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDiffStyle","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setDescriptiveToolSteps","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setInlineToolRequests","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeWordWrap","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"calls","metadata":{"unresolvedName":"clampFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","to":"external:this.applyFontScale","kind":"calls","metadata":{"unresolvedName":"this.applyFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setUIFontScale","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"calls","metadata":{"unresolvedName":"clampFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","to":"external:this.applyFontScale","kind":"calls","metadata":{"unresolvedName":"this.applyFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCodeFontScale","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setToolCardStyle","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setImmersiveMode","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setCompactInlinePermission","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","to":"external:this.applyGlassClass","kind":"calls","metadata":{"unresolvedName":"this.applyGlassClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setGlassEffect","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setQueueFollowupMessages","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:setManualTerminalTitles","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:this.applyTheme","kind":"calls","metadata":{"unresolvedName":"this.applyTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:this.applyFontScale","kind":"calls","metadata":{"unresolvedName":"this.applyFontScale"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:this.applyGlassClass","kind":"calls","metadata":{"unresolvedName":"this.applyGlassClass"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:mediaQuery.addEventListener","kind":"calls","metadata":{"unresolvedName":"mediaQuery.addEventListener"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:init","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:this.applyTheme","kind":"calls","metadata":{"unresolvedName":"this.applyTheme"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:this.emit","kind":"calls","metadata":{"unresolvedName":"this.emit"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:this.getResolvedMode","kind":"calls","metadata":{"unresolvedName":"this.getResolvedMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:root.setAttribute","kind":"calls","metadata":{"unresolvedName":"root.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:this.getPreset","kind":"calls","metadata":{"unresolvedName":"this.getPreset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:this.injectThemeStyle","kind":"calls","metadata":{"unresolvedName":"this.injectThemeStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:this.applyCustomCSS","kind":"calls","metadata":{"unresolvedName":"this.applyCustomCSS"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:getComputedStyle(root).getPropertyValue('--color-bg-100').trim","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue('--color-bg-100').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:getComputedStyle(root).getPropertyValue","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","kind":"calls","metadata":{"unresolvedName":"computedColorToHex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:meta.setAttribute","kind":"calls","metadata":{"unresolvedName":"meta.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyTheme","to":"external:androidBridge.setSystemBars","kind":"calls","metadata":{"unresolvedName":"androidBridge.setSystemBars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:getComputedStyle(root).getPropertyValue('--color-bg-100').trim","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue('--color-bg-100').trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:getComputedStyle(root).getPropertyValue","kind":"calls","metadata":{"unresolvedName":"getComputedStyle(root).getPropertyValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"symbol-name:getComputedStyle","kind":"calls","metadata":{"unresolvedName":"getComputedStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:computedColorToHex","kind":"calls","metadata":{"unresolvedName":"computedColorToHex"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:document.querySelector","kind":"calls","metadata":{"unresolvedName":"document.querySelector"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:meta.setAttribute","kind":"calls","metadata":{"unresolvedName":"meta.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:androidBridge.setSystemBars","kind":"calls","metadata":{"unresolvedName":"androidBridge.setSystemBars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","to":"external:document.head.appendChild","kind":"calls","metadata":{"unresolvedName":"document.head.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:injectThemeStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","kind":"calls","metadata":{"unresolvedName":"themeColorsToCSSVars"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:el.remove","kind":"calls","metadata":{"unresolvedName":"el.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:document.head.appendChild","kind":"calls","metadata":{"unresolvedName":"document.head.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:vars.push","kind":"calls","metadata":{"unresolvedName":"vars.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyFontScale","to":"external:vars.join","kind":"calls","metadata":{"unresolvedName":"vars.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","to":"external:this.state.customCSS.trim","kind":"calls","metadata":{"unresolvedName":"this.state.customCSS.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","to":"external:document.getElementById","kind":"calls","metadata":{"unresolvedName":"document.getElementById"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","to":"external:el.remove","kind":"calls","metadata":{"unresolvedName":"el.remove"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyCustomCSS","to":"external:document.head.appendChild","kind":"calls","metadata":{"unresolvedName":"document.head.appendChild"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass","to":"external:root.setAttribute","kind":"calls","metadata":{"unresolvedName":"root.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:applyGlassClass","to":"external:root.removeAttribute","kind":"calls","metadata":{"unresolvedName":"root.removeAttribute"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:persistCustomCSSSnippets","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:this.listeners.add","kind":"calls","metadata":{"unresolvedName":"this.listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","to":"external:this.listeners.delete","kind":"calls","metadata":{"unresolvedName":"this.listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit","to":"external:this.listeners.forEach","kind":"calls","metadata":{"unresolvedName":"this.listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:emit","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:parseCustomCSSSnippets","kind":"calls","metadata":{"unresolvedName":"parseCustomCSSSnippets"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"external:customCSSSnippets.some","kind":"calls","metadata":{"unresolvedName":"customCSSSnippets.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"calls","metadata":{"unresolvedName":"getThemePreset"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:clampFontScale","kind":"calls","metadata":{"unresolvedName":"clampFontScale"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","to":"external:themeStore.getState","kind":"calls","metadata":{"unresolvedName":"themeStore.getState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","to":"external:state.customCSSSnippets.map","kind":"calls","metadata":{"unresolvedName":"state.customCSSSnippets.map"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:normalizeThemeBackup","kind":"calls","metadata":{"unresolvedName":"normalizeThemeBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getTodos","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getTodos","to":"external:this.sessions.get","kind":"calls","metadata":{"unresolvedName":"this.sessions.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","to":"external:this.sessions.set","kind":"calls","metadata":{"unresolvedName":"this.sessions.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","to":"external:this.statsCache.set","kind":"calls","metadata":{"unresolvedName":"this.statsCache.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","to":"external:todos.filter","kind":"calls","metadata":{"unresolvedName":"todos.filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:setTodos","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","to":"external:this.sessions.has","kind":"calls","metadata":{"unresolvedName":"this.sessions.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","to":"external:this.sessions.delete","kind":"calls","metadata":{"unresolvedName":"this.sessions.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","to":"external:this.statsCache.delete","kind":"calls","metadata":{"unresolvedName":"this.statsCache.delete"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearTodos","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","to":"external:this.sessions.clear","kind":"calls","metadata":{"unresolvedName":"this.sessions.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","to":"external:this.statsCache.clear","kind":"calls","metadata":{"unresolvedName":"this.statsCache.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:clearAll","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getStats","to":"external:this.statsCache.get","kind":"calls","metadata":{"unresolvedName":"this.statsCache.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask","to":"external:this.getTodos","kind":"calls","metadata":{"unresolvedName":"this.getTodos"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getCurrentTask","to":"external:todos.find","kind":"calls","metadata":{"unresolvedName":"todos.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:getVersion","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:subscribe","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:notify","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","to":"external:todoStore.subscribe","kind":"calls","metadata":{"unresolvedName":"todoStore.subscribe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","to":"external:todoStore.getVersion","kind":"calls","metadata":{"unresolvedName":"todoStore.getVersion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"calls","metadata":{"unresolvedName":"useStoreSubscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodos","to":"external:todoStore.getTodos","kind":"calls","metadata":{"unresolvedName":"todoStore.getTodos"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"calls","metadata":{"unresolvedName":"useStoreSubscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useTodoStats","to":"external:todoStore.getStats","kind":"calls","metadata":{"unresolvedName":"todoStore.getStats"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useStoreSubscription","kind":"calls","metadata":{"unresolvedName":"useStoreSubscription"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/todoStore.ts:useCurrentTask","to":"external:todoStore.getCurrentTask","kind":"calls","metadata":{"unresolvedName":"todoStore.getCurrentTask"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"calls","metadata":{"unresolvedName":"compareVersions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('0.5.1', 'v0.5.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('0.5.1', 'v0.5.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('0.5', '0.5.1')).toBeLessThan","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('0.5', '0.5.1')).toBeLessThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(hasUpdateAvailable(baseState)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hasUpdateAvailable(baseState)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast(baseState)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(baseState)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('v0.5.2', '0.5.1')).toBeGreaterThan"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"calls","metadata":{"unresolvedName":"compareVersions"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('0.5.1', 'v0.5.1')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('0.5.1', 'v0.5.1')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(compareVersions('0.5', '0.5.1')).toBeLessThan","kind":"calls","metadata":{"unresolvedName":"expect(compareVersions('0.5', '0.5.1')).toBeLessThan"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(hasUpdateAvailable(baseState)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hasUpdateAvailable(baseState)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast(baseState)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(baseState)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast({ ...baseState, dismissedVersion: '0.5.2' })).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"store.checkForUpdates"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(store.getSnapshot().latestRelease?.version).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getSnapshot().latestRelease?.version).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.getSnapshot","kind":"calls","metadata":{"unresolvedName":"store.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(hasUpdateAvailable(store.getSnapshot())).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hasUpdateAvailable(store.getSnapshot())).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.dismissCurrentVersion","kind":"calls","metadata":{"unresolvedName":"store.dismissCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(store.getSnapshot().dismissedVersion).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getSnapshot().dismissedVersion).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast(store.getSnapshot())).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(store.getSnapshot())).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('piagentui:update-check')).toContain","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('piagentui:update-check')).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('opencode:update-check')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:update-check')).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(RELEASES_API_URL).toBe","kind":"calls","metadata":{"unresolvedName":"expect(RELEASES_API_URL).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(RELEASES_PAGE_URL).toBe","kind":"calls","metadata":{"unresolvedName":"expect(RELEASES_PAGE_URL).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.checkForUpdates","kind":"calls","metadata":{"unresolvedName":"store.checkForUpdates"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(store.getSnapshot().latestRelease?.version).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getSnapshot().latestRelease?.version).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.getSnapshot","kind":"calls","metadata":{"unresolvedName":"store.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(hasUpdateAvailable(store.getSnapshot())).toBe","kind":"calls","metadata":{"unresolvedName":"expect(hasUpdateAvailable(store.getSnapshot())).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.dismissCurrentVersion","kind":"calls","metadata":{"unresolvedName":"store.dismissCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(store.getSnapshot().dismissedVersion).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getSnapshot().dismissedVersion).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(shouldShowUpdateToast(store.getSnapshot())).toBe","kind":"calls","metadata":{"unresolvedName":"expect(shouldShowUpdateToast(store.getSnapshot())).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"calls","metadata":{"unresolvedName":"shouldShowUpdateToast"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('piagentui:update-check')).toContain","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('piagentui:update-check')).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('opencode:update-check')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:update-check')).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(store.getSnapshot().latestRelease?.version).toBe","kind":"calls","metadata":{"unresolvedName":"expect(store.getSnapshot().latestRelease?.version).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.getSnapshot","kind":"calls","metadata":{"unresolvedName":"store.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:store.dismissCurrentVersion","kind":"calls","metadata":{"unresolvedName":"store.dismissCurrentVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('piagentui:update-check')).toContain","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('piagentui:update-check')).toContain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(localStorage.getItem('opencode:update-check')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:update-check')).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(RELEASES_API_URL).toBe","kind":"calls","metadata":{"unresolvedName":"expect(RELEASES_API_URL).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.test.ts:","to":"external:expect(RELEASES_PAGE_URL).toBe","kind":"calls","metadata":{"unresolvedName":"expect(RELEASES_PAGE_URL).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"external:react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:isPlainObject","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:isPlainObject","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","to":"external:version.trim().replace(/^v/i, '').replace","kind":"calls","metadata":{"unresolvedName":"version.trim().replace(/^v/i, '').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","to":"external:version.trim().replace","kind":"calls","metadata":{"unresolvedName":"version.trim().replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","to":"external:version.trim","kind":"calls","metadata":{"unresolvedName":"version.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:normalizeVersion(a)\r\n .split('.')\r\n .map","kind":"calls","metadata":{"unresolvedName":"normalizeVersion(a)\r\n .split('.')\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:normalizeVersion(a)\r\n .split","kind":"calls","metadata":{"unresolvedName":"normalizeVersion(a)\r\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","kind":"calls","metadata":{"unresolvedName":"normalizeVersion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:Number.parseInt","kind":"calls","metadata":{"unresolvedName":"Number.parseInt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:normalizeVersion(b)\r\n .split('.')\r\n .map","kind":"calls","metadata":{"unresolvedName":"normalizeVersion(b)\r\n .split('.')\r\n .map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:normalizeVersion(b)\r\n .split","kind":"calls","metadata":{"unresolvedName":"normalizeVersion(b)\r\n .split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:compareVersions","kind":"calls","metadata":{"unresolvedName":"compareVersions"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:shouldShowUpdateToast","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hasUpdateAvailable","kind":"calls","metadata":{"unresolvedName":"hasUpdateAvailable"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:loadPersistedState","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:isPlainObject","kind":"calls","metadata":{"unresolvedName":"isPlainObject"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:normalizeVersion","kind":"calls","metadata":{"unresolvedName":"normalizeVersion"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:getDefaultCurrentVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:getDefaultCurrentVersion","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"external:this.subscribers.add","kind":"calls","metadata":{"unresolvedName":"this.subscribers.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"external:this.subscribers.delete","kind":"calls","metadata":{"unresolvedName":"this.subscribers.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify","to":"external:this.subscribers.forEach","kind":"calls","metadata":{"unresolvedName":"this.subscribers.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:notify","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:persistState","kind":"calls","metadata":{"unresolvedName":"persistState"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:setState","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:applyRelease","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:applyRelease","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:applyRelease","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","kind":"calls","metadata":{"unresolvedName":"parseRelease"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:checkForUpdates","to":"external:this.applyRelease","kind":"calls","metadata":{"unresolvedName":"this.applyRelease"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"external:response.json","kind":"calls","metadata":{"unresolvedName":"response.json"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:parseRelease","kind":"calls","metadata":{"unresolvedName":"parseRelease"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"external:this.applyRelease","kind":"calls","metadata":{"unresolvedName":"this.applyRelease"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hideToastForCurrentVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hideToastForCurrentVersion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:hideToastForCurrentVersion","to":"external:this.notify","kind":"calls","metadata":{"unresolvedName":"this.notify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:dismissCurrentVersion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:dismissCurrentVersion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:dismissCurrentVersion","to":"external:this.setState","kind":"calls","metadata":{"unresolvedName":"this.setState"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup","to":"external:updateStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"updateStore.getSnapshot"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:useUpdateStore","to":"symbol-name:useSyncExternalStore","kind":"calls","metadata":{"unresolvedName":"useSyncExternalStore"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"external:@testing-library/jest-dom/vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/i18n.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:setItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:setItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:setItem","to":"external:storage.set","kind":"calls","metadata":{"unresolvedName":"storage.set"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeItem","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeItem","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeItem","to":"external:storage.delete","kind":"calls","metadata":{"unresolvedName":"storage.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:clear","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:clear","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:observe","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:observe","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:unobserve","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:unobserve","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:disconnect","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:disconnect","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:[Symbol.iterator]","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:[Symbol.iterator]","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addListener","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addListener","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeListener","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeListener","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addEventListener","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:addEventListener","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeEventListener","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/test/setup.ts:removeEventListener","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:getThemePreset","to":"external:builtinThemes.find","kind":"calls","metadata":{"unresolvedName":"builtinThemes.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","to":"external:lines.push","kind":"calls","metadata":{"unresolvedName":"lines.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/themes/index.ts:themeColorsToCSSVars","to":"external:lines.join","kind":"calls","metadata":{"unresolvedName":"lines.join"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/permission.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/event.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/message.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/model.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/project.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/session.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api/compat.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/chat.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isAssistantMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:isAssistantMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:hasVisibleContent","to":"external:part.text.trim","kind":"calls","metadata":{"unresolvedName":"part.text.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:","to":"external:part.text.trim","kind":"calls","metadata":{"unresolvedName":"part.text.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:getMessageText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:getMessageText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/index.ts:getMessageText","to":"external:message.parts\r\n .filter","kind":"calls","metadata":{"unresolvedName":"message.parts\r\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isUserMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isUserMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAssistantMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAssistantMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isToolPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isToolPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","to":"external:part.text.trim","kind":"calls","metadata":{"unresolvedName":"part.text.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","to":"external:part.text.trim","kind":"calls","metadata":{"unresolvedName":"part.text.trim"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleTextPart","kind":"calls","metadata":{"unresolvedName":"isVisibleTextPart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isRenderablePart","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isVisibleReasoningPart","kind":"calls","metadata":{"unresolvedName":"isVisibleReasoningPart"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:isAbortedMessage","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","to":"external:message.parts.some","kind":"calls","metadata":{"unresolvedName":"message.parts.some"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasVisibleContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasVisibleContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasVisibleContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:hasRenderableParts","kind":"calls","metadata":{"unresolvedName":"hasRenderableParts"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:getMessageText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:getMessageText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts:getMessageText","to":"external:message.parts\r\n .filter","kind":"calls","metadata":{"unresolvedName":"message.parts\r\n .filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/ui.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/features/attachment/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"calls","metadata":{"unresolvedName":"collectActiveDirectories"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"calls","metadata":{"unresolvedName":"collectActiveDirectories"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"calls","metadata":{"unresolvedName":"collectActiveDirectories"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"external:directories.some","kind":"calls","metadata":{"unresolvedName":"directories.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"external:directories.push","kind":"calls","metadata":{"unresolvedName":"directories.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","kind":"calls","metadata":{"unresolvedName":"pushDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"external:paneDirectories.forEach","kind":"calls","metadata":{"unresolvedName":"paneDirectories.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:collectActiveDirectories","to":"external:projectDirectories.forEach","kind":"calls","metadata":{"unresolvedName":"projectDirectories.forEach"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","to":"external:directories.some","kind":"calls","metadata":{"unresolvedName":"directories.some"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"calls","metadata":{"unresolvedName":"isSameDirectory"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/activeScope.ts:pushDirectory","to":"external:directories.push","kind":"calls","metadata":{"unresolvedName":"directories.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:stripAnsi","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:stripAnsi","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:stripAnsi","to":"external:text.replace","kind":"calls","metadata":{"unresolvedName":"text.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:ANSI_RE.exec","kind":"calls","metadata":{"unresolvedName":"ANSI_RE.exec"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:text.slice","kind":"calls","metadata":{"unresolvedName":"text.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:segments.push","kind":"calls","metadata":{"unresolvedName":"segments.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:match[0].slice","kind":"calls","metadata":{"unresolvedName":"match[0].slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:params.split(';').map","kind":"calls","metadata":{"unresolvedName":"params.split(';').map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:parseAnsi","to":"external:params.split","kind":"calls","metadata":{"unresolvedName":"params.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:hasAnsi","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:hasAnsi","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ansiUtils.ts:hasAnsi","to":"external:ANSI_RE.test","kind":"calls","metadata":{"unresolvedName":"ANSI_RE.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","to":"external:Reflect.deleteProperty","kind":"calls","metadata":{"unresolvedName":"Reflect.deleteProperty"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","kind":"calls","metadata":{"unresolvedName":"restoreProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(writeText).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(writeText).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(execCommand).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(execCommand).not.toHaveBeenCalled"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(execCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(execCommand).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:restoreProperty","kind":"calls","metadata":{"unresolvedName":"restoreProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockResolvedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(writeText).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(writeText).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(execCommand).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(execCommand).not.toHaveBeenCalled"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockRejectedValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:vi.fn().mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.fn().mockReturnValue"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"calls","metadata":{"unresolvedName":"copyTextToClipboard"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(writeText).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(writeText).toHaveBeenCalledWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.test.ts:","to":"external:expect(execCommand).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(execCommand).toHaveBeenCalledWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:textArea.setAttribute","kind":"calls","metadata":{"unresolvedName":"textArea.setAttribute"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:document.getSelection","kind":"calls","metadata":{"unresolvedName":"document.getSelection"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:selection.getRangeAt(index).cloneRange","kind":"calls","metadata":{"unresolvedName":"selection.getRangeAt(index).cloneRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:selection.getRangeAt","kind":"calls","metadata":{"unresolvedName":"selection.getRangeAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:textArea.focus","kind":"calls","metadata":{"unresolvedName":"textArea.focus"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:textArea.select","kind":"calls","metadata":{"unresolvedName":"textArea.select"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:textArea.setSelectionRange","kind":"calls","metadata":{"unresolvedName":"textArea.setSelectionRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:document.execCommand","kind":"calls","metadata":{"unresolvedName":"document.execCommand"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:selection.removeAllRanges","kind":"calls","metadata":{"unresolvedName":"selection.removeAllRanges"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:savedRanges.forEach","kind":"calls","metadata":{"unresolvedName":"savedRanges.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:selection.addRange","kind":"calls","metadata":{"unresolvedName":"selection.addRange"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","to":"external:activeElement?.focus","kind":"calls","metadata":{"unresolvedName":"activeElement?.focus"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:copyTextToClipboard","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:fallbackCopyText","kind":"calls","metadata":{"unresolvedName":"fallbackCopyText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/clipboard.ts:readTextFromClipboard","to":"external:navigator.clipboard.readText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.readText"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/dateUtils.ts:formatRelativeTime","to":"external:new Date(timestamp).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(timestamp).toLocaleDateString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","to":"external:diff.split","kind":"calls","metadata":{"unresolvedName":"diff.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","to":"external:line.startsWith","kind":"calls","metadata":{"unresolvedName":"line.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","to":"external:line.slice","kind":"calls","metadata":{"unresolvedName":"line.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","to":"external:before.trimEnd","kind":"calls","metadata":{"unresolvedName":"before.trimEnd"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/diffUtils.ts:extractContentFromUnifiedDiff","to":"external:after.trimEnd","kind":"calls","metadata":{"unresolvedName":"after.trimEnd"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:resetPathModeCache","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:resetPathModeCache","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","to":"external:_listeners.add","kind":"calls","metadata":{"unresolvedName":"_listeners.add"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:subscribePathMode","to":"external:_listeners.delete","kind":"calls","metadata":{"unresolvedName":"_listeners.delete"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"calls","metadata":{"unresolvedName":"getPathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"calls","metadata":{"unresolvedName":"getEffectivePathStyle"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","to":"external:_listeners.forEach","kind":"calls","metadata":{"unresolvedName":"_listeners.forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","to":"symbol-name:listener","kind":"calls","metadata":{"unresolvedName":"listener"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setPathMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","kind":"calls","metadata":{"unresolvedName":"notifyListeners"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"calls","metadata":{"unresolvedName":"getPathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:notifyListeners","kind":"calls","metadata":{"unresolvedName":"notifyListeners"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getPathMode","kind":"calls","metadata":{"unresolvedName":"getPathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDetectedPathStyle","kind":"calls","metadata":{"unresolvedName":"getDetectedPathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getEffectivePathStyle","kind":"calls","metadata":{"unresolvedName":"getEffectivePathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","to":"external:dir.replace","kind":"calls","metadata":{"unresolvedName":"dir.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","to":"external:/^[a-zA-Z]:$/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:$/.test"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsPathMode","kind":"calls","metadata":{"unresolvedName":"isWindowsPathMode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:formatPathForApi","to":"external:trimmed.replace","kind":"calls","metadata":{"unresolvedName":"trimmed.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse","to":"external:path.match","kind":"calls","metadata":{"unresolvedName":"path.match"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:detectPathStyleFromResponse","kind":"calls","metadata":{"unresolvedName":"detectPathStyleFromResponse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:autoDetectPathStyle","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:setDetectedPathStyle","kind":"calls","metadata":{"unresolvedName":"setDetectedPathStyle"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","to":"external:dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace","kind":"calls","metadata":{"unresolvedName":"dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","to":"external:dir\r\n .replace","kind":"calls","metadata":{"unresolvedName":"dir\r\n .replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","to":"external:dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace","kind":"calls","metadata":{"unresolvedName":"dir\r\n .replace(/\\\\/g, '/') // 反斜杠 → 正斜杠\r\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","to":"external:dir\r\n .replace","kind":"calls","metadata":{"unresolvedName":"dir\r\n .replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isSameDirectory","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeForComparison","kind":"calls","metadata":{"unresolvedName":"normalizeForComparison"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:normalizeToForwardSlash","kind":"calls","metadata":{"unresolvedName":"normalizeToForwardSlash"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","to":"external:normalized.split('/').filter","kind":"calls","metadata":{"unresolvedName":"normalized.split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","to":"external:normalized.split","kind":"calls","metadata":{"unresolvedName":"normalized.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:getDirectoryName","to":"symbol-name:decodeURIComponent","kind":"calls","metadata":{"unresolvedName":"decodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath","to":"external:/^[a-zA-Z]:/.test","kind":"calls","metadata":{"unresolvedName":"/^[a-zA-Z]:/.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isWindowsAbsolutePath","kind":"calls","metadata":{"unresolvedName":"isWindowsAbsolutePath"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/directoryUtils.ts:isAbsolutePath","to":"external:path.startsWith","kind":"calls","metadata":{"unresolvedName":"path.startsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","to":"symbol-name:atob","kind":"calls","metadata":{"unresolvedName":"atob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","to":"external:binary.charCodeAt","kind":"calls","metadata":{"unresolvedName":"binary.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:URL.createObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.createObjectURL"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:document.createElement","kind":"calls","metadata":{"unresolvedName":"document.createElement"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:document.body.appendChild","kind":"calls","metadata":{"unresolvedName":"document.body.appendChild"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:a.click","kind":"calls","metadata":{"unresolvedName":"a.click"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:URL.revokeObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.revokeObjectURL"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","to":"external:URL.revokeObjectURL","kind":"calls","metadata":{"unresolvedName":"URL.revokeObjectURL"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","to":"external:document.body.removeChild","kind":"calls","metadata":{"unresolvedName":"document.body.removeChild"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"external:fileName.split('.').pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"external:fileName.split('.').pop","kind":"calls","metadata":{"unresolvedName":"fileName.split('.').pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"external:fileName.split","kind":"calls","metadata":{"unresolvedName":"fileName.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"external:ext.toUpperCase","kind":"calls","metadata":{"unresolvedName":"ext.toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"symbol-name:save","kind":"calls","metadata":{"unresolvedName":"save"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","to":"symbol-name:writeFile","kind":"calls","metadata":{"unresolvedName":"writeFile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"calls","metadata":{"unresolvedName":"isBinaryContent"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:base64ToBytes","kind":"calls","metadata":{"unresolvedName":"base64ToBytes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:downloadFileContent","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"calls","metadata":{"unresolvedName":"saveData"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","to":"external:tauriSaveFile(data, fileName).catch","kind":"calls","metadata":{"unresolvedName":"tauriSaveFile(data, fileName).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:tauriSaveFile","kind":"calls","metadata":{"unresolvedName":"tauriSaveFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:saveData","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:triggerBrowserDownload","kind":"calls","metadata":{"unresolvedName":"triggerBrowserDownload"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/downloadUtils.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","to":"external:fn().catch","kind":"calls","metadata":{"unresolvedName":"fn().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:withErrorHandling","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:createErrorHandler","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:createErrorHandler","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:createErrorHandler","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:handleError","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/errorHandling.ts:logError","kind":"calls","metadata":{"unresolvedName":"logError"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(999)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(999)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(123.456)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(123.456)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(1500)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(1500)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration((3 * 60 + 12) * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration((3 * 60 + 12) * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(60 * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(60 * 60 * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(24 * 60 * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(24 * 60 * 60 * 1000)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(999)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(999)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(123.456)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(123.456)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(1500)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(1500)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration((3 * 60 + 12) * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration((3 * 60 + 12) * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration((1 * 60 * 60 + 21 * 60 + 12) * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(60 * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(60 * 60 * 1000)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(((24 + 21) * 60 + 10) * 60 * 1000)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"calls","metadata":{"unresolvedName":"formatDuration"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDuration(24 * 60 * 60 * 1000)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDuration(24 * 60 * 60 * 1000)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"calls","metadata":{"unresolvedName":"formatTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDateTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDateTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"calls","metadata":{"unresolvedName":"formatDateTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDetailedDateTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDetailedDateTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"calls","metadata":{"unresolvedName":"formatDetailedDateTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatCompletedAt(ms, 'time')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'time')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"calls","metadata":{"unresolvedName":"formatCompletedAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatCompletedAt(ms, 'dateTime')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'dateTime')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"calls","metadata":{"unresolvedName":"formatTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDateTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDateTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"calls","metadata":{"unresolvedName":"formatDateTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatDetailedDateTime(ms)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatDetailedDateTime(ms)).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"calls","metadata":{"unresolvedName":"formatDetailedDateTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:new Date(2026, 3, 17, 10, 30, 45).getTime","kind":"calls","metadata":{"unresolvedName":"new Date(2026, 3, 17, 10, 30, 45).getTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatCompletedAt(ms, 'time')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'time')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"calls","metadata":{"unresolvedName":"formatCompletedAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.test.ts:","to":"external:expect(formatCompletedAt(ms, 'dateTime')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatCompletedAt(ms, 'dateTime')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","to":"external:name.replace(/[-_]/g, ' ').replace","kind":"calls","metadata":{"unresolvedName":"name.replace(/[-_]/g, ' ').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","to":"external:name.replace","kind":"calls","metadata":{"unresolvedName":"name.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatToolName","to":"external:c.toUpperCase","kind":"calls","metadata":{"unresolvedName":"c.toUpperCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:s.toFixed","kind":"calls","metadata":{"unresolvedName":"s.toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter(Boolean).join","kind":"calls","metadata":{"unresolvedName":"[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter(Boolean).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter","kind":"calls","metadata":{"unresolvedName":"[`${d}d`, h > 0 ? `${h}h` : '', m > 0 ? `${m}m` : ''].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:[`${h}h`, m > 0 ? `${m}m` : '', remS > 0 ? `${remS}s` : ''].filter","kind":"calls","metadata":{"unresolvedName":"[`${h}h`, m > 0 ? `${m}m` : '', remS > 0 ? `${remS}s` : ''].filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter(Boolean).join","kind":"calls","metadata":{"unresolvedName":"[`${m}m`, remS > 0 ? `${remS}s` : ''].filter(Boolean).join"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDuration","to":"external:[`${m}m`, remS > 0 ? `${remS}s` : ''].filter","kind":"calls","metadata":{"unresolvedName":"[`${m}m`, remS > 0 ? `${remS}s` : ''].filter"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCost","to":"external:cost.toFixed","kind":"calls","metadata":{"unresolvedName":"cost.toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getHours().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getHours().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getHours().toString","kind":"calls","metadata":{"unresolvedName":"date.getHours().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getHours","kind":"calls","metadata":{"unresolvedName":"date.getHours"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getMinutes().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getMinutes().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getMinutes().toString","kind":"calls","metadata":{"unresolvedName":"date.getMinutes().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","to":"external:date.getMinutes","kind":"calls","metadata":{"unresolvedName":"date.getMinutes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getFullYear().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getFullYear().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getFullYear().toString","kind":"calls","metadata":{"unresolvedName":"date.getFullYear().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getFullYear","kind":"calls","metadata":{"unresolvedName":"date.getFullYear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:(date.getMonth() + 1).toString().padStart","kind":"calls","metadata":{"unresolvedName":"(date.getMonth() + 1).toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:(date.getMonth() + 1).toString","kind":"calls","metadata":{"unresolvedName":"(date.getMonth() + 1).toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getMonth","kind":"calls","metadata":{"unresolvedName":"date.getMonth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getDate().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getDate().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getDate().toString","kind":"calls","metadata":{"unresolvedName":"date.getDate().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"external:date.getDate","kind":"calls","metadata":{"unresolvedName":"date.getDate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"calls","metadata":{"unresolvedName":"formatTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getFullYear().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getFullYear().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getFullYear().toString","kind":"calls","metadata":{"unresolvedName":"date.getFullYear().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getFullYear","kind":"calls","metadata":{"unresolvedName":"date.getFullYear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:(date.getMonth() + 1).toString().padStart","kind":"calls","metadata":{"unresolvedName":"(date.getMonth() + 1).toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:(date.getMonth() + 1).toString","kind":"calls","metadata":{"unresolvedName":"(date.getMonth() + 1).toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getMonth","kind":"calls","metadata":{"unresolvedName":"date.getMonth"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getDate().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getDate().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getDate().toString","kind":"calls","metadata":{"unresolvedName":"date.getDate().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getDate","kind":"calls","metadata":{"unresolvedName":"date.getDate"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getHours().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getHours().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getHours().toString","kind":"calls","metadata":{"unresolvedName":"date.getHours().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getHours","kind":"calls","metadata":{"unresolvedName":"date.getHours"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getMinutes().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getMinutes().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getMinutes().toString","kind":"calls","metadata":{"unresolvedName":"date.getMinutes().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getMinutes","kind":"calls","metadata":{"unresolvedName":"date.getMinutes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getSeconds().toString().padStart","kind":"calls","metadata":{"unresolvedName":"date.getSeconds().toString().padStart"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getSeconds().toString","kind":"calls","metadata":{"unresolvedName":"date.getSeconds().toString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDetailedDateTime","to":"external:date.getSeconds","kind":"calls","metadata":{"unresolvedName":"date.getSeconds"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatDateTime","kind":"calls","metadata":{"unresolvedName":"formatDateTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatCompletedAt","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatTime","kind":"calls","metadata":{"unresolvedName":"formatTime"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","to":"external:(num / 1000000).toFixed","kind":"calls","metadata":{"unresolvedName":"(num / 1000000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","to":"external:(num / 1000).toFixed","kind":"calls","metadata":{"unresolvedName":"(num / 1000).toFixed"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/formatUtils.ts:formatNumber","to":"external:num.toString","kind":"calls","metadata":{"unresolvedName":"num.toString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/lib/shiki.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:normalizeLanguage","to":"external:lang.toLowerCase","kind":"calls","metadata":{"unresolvedName":"lang.toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","to":"external:filePath.split(/[/\\\\]/).pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filePath.split(/[/\\\\]/).pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","to":"external:filePath.split(/[/\\\\]/).pop","kind":"calls","metadata":{"unresolvedName":"filePath.split(/[/\\\\]/).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","to":"external:filePath.split","kind":"calls","metadata":{"unresolvedName":"filePath.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","to":"external:filePath.split('.').pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filePath.split('.').pop()?.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/languageUtils.ts:detectLanguage","to":"external:filePath.split('.').pop","kind":"calls","metadata":{"unresolvedName":"filePath.split('.').pop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineCount","to":"external:text.charCodeAt","kind":"calls","metadata":{"unresolvedName":"text.charCodeAt"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/lineNumberUtils.ts:getLineNumberColumnWidth","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts:noop","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/logger.ts:noop","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","to":"external:path.replace(/\\\\/g, '/').split('/').filter(Boolean).pop","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split('/').filter(Boolean).pop"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","to":"external:path.replace(/\\\\/g, '/').split('/').filter","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split('/').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","to":"external:path.replace(/\\\\/g, '/').split","kind":"calls","metadata":{"unresolvedName":"path.replace(/\\\\/g, '/').split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","to":"external:path.replace","kind":"calls","metadata":{"unresolvedName":"path.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","to":"external:basename(path).toLowerCase","kind":"calls","metadata":{"unresolvedName":"basename(path).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","kind":"calls","metadata":{"unresolvedName":"basename"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","to":"external:name.endsWith","kind":"calls","metadata":{"unresolvedName":"name.endsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","to":"external:basename(path).toLowerCase","kind":"calls","metadata":{"unresolvedName":"basename(path).toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:basename","kind":"calls","metadata":{"unresolvedName":"basename"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFolderIcon","kind":"calls","metadata":{"unresolvedName":"resolveFolderIcon"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:getMaterialIconUrl","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/materialIcons.ts:resolveFileIcon","kind":"calls","metadata":{"unresolvedName":"resolveFileIcon"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api/types.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/types/message.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:getEnvelopeInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:getEnvelopeInfo","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:getEnvelopeInfo","kind":"calls","metadata":{"unresolvedName":"getEnvelopeInfo"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIMessageInfo","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIPart","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toUIPart","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toApiMessageWithParts","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:toApiMessageWithParts","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:isUserUIMessage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:isUserUIMessage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/messageConversion.ts:isUserUIMessage","to":"symbol-name:isUserMessage","kind":"calls","metadata":{"unresolvedName":"isUserMessage"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","to":"external:mimeType.indexOf","kind":"calls","metadata":{"unresolvedName":"mimeType.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","to":"external:mimeType.slice","kind":"calls","metadata":{"unresolvedName":"mimeType.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","to":"external:PREVIEWABLE_MEDIA.has","kind":"calls","metadata":{"unresolvedName":"PREVIEWABLE_MEDIA.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:getPreviewCategory","to":"external:PREVIEWABLE_APP_SUBTYPES.has","kind":"calls","metadata":{"unresolvedName":"PREVIEWABLE_APP_SUBTYPES.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isBinaryContent","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:isTextualMedia","to":"external:TEXTUAL_MEDIA_TYPES.has","kind":"calls","metadata":{"unresolvedName":"TEXTUAL_MEDIA_TYPES.has"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildDataUrl","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:buildTextDataUrl","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","to":"symbol-name:atob","kind":"calls","metadata":{"unresolvedName":"atob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","to":"external:binary.charCodeAt","kind":"calls","metadata":{"unresolvedName":"binary.charCodeAt"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:decodeBase64Text","to":"external:new TextDecoder('utf-8').decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder('utf-8').decode"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","to":"external:mimeType.indexOf","kind":"calls","metadata":{"unresolvedName":"mimeType.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","to":"external:mimeType.toUpperCase","kind":"calls","metadata":{"unresolvedName":"mimeType.toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","to":"external:mimeType.slice","kind":"calls","metadata":{"unresolvedName":"mimeType.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","to":"external:mimeType.slice(slash + 1).replace","kind":"calls","metadata":{"unresolvedName":"mimeType.slice(slash + 1).replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/mimeUtils.ts:formatMimeType","to":"external:minor.toUpperCase","kind":"calls","metadata":{"unresolvedName":"minor.toUpperCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","to":"external:key.indexOf","kind":"calls","metadata":{"unresolvedName":"key.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","to":"external:key.slice","kind":"calls","metadata":{"unresolvedName":"key.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:parseModelKey","kind":"calls","metadata":{"unresolvedName":"parseModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:findModelByKey","to":"external:models.find","kind":"calls","metadata":{"unresolvedName":"models.find"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:recordModelUsage","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageCount","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","kind":"calls","metadata":{"unresolvedName":"getModelVariantPrefs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveModelVariantPref","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPref","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelVariantPrefs","kind":"calls","metadata":{"unresolvedName":"getModelVariantPrefs"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","kind":"calls","metadata":{"unresolvedName":"getSessionModelSelections"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getSessionModelSelections","kind":"calls","metadata":{"unresolvedName":"getSessionModelSelections"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:saveSessionModelSelection","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","to":"external:[...models].sort","kind":"calls","metadata":{"unresolvedName":"[...models].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically","to":"external:[...models].sort","kind":"calls","metadata":{"unresolvedName":"[...models].sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsAlphabetically","to":"external:a.name.localeCompare","kind":"calls","metadata":{"unresolvedName":"a.name.localeCompare"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"external:models.reduce","kind":"calls","metadata":{"unresolvedName":"models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"external:acc[model.providerId].push","kind":"calls","metadata":{"unresolvedName":"acc[model.providerId].push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"external:Object.keys(groups).sort","kind":"calls","metadata":{"unresolvedName":"Object.keys(groups).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"external:sortedProviders.flatMap","kind":"calls","metadata":{"unresolvedName":"sortedProviders.flatMap"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","kind":"calls","metadata":{"unresolvedName":"sortModelsByFrequency"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"external:acc[model.providerId].push","kind":"calls","metadata":{"unresolvedName":"acc[model.providerId].push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:models.reduce","kind":"calls","metadata":{"unresolvedName":"models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:acc[key].models.push","kind":"calls","metadata":{"unresolvedName":"acc[key].models.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:Object.values(groupMap).sort","kind":"calls","metadata":{"unresolvedName":"Object.values(groupMap).sort"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:Object.values","kind":"calls","metadata":{"unresolvedName":"Object.values"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:a.models.reduce","kind":"calls","metadata":{"unresolvedName":"a.models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"external:b.models.reduce","kind":"calls","metadata":{"unresolvedName":"b.models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:groupModelsByProvider","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:sortModelsByFrequency","kind":"calls","metadata":{"unresolvedName":"sortModelsByFrequency"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"external:acc[key].models.push","kind":"calls","metadata":{"unresolvedName":"acc[key].models.push"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"external:a.models.reduce","kind":"calls","metadata":{"unresolvedName":"a.models.reduce"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"external:b.models.reduce","kind":"calls","metadata":{"unresolvedName":"b.models.reduce"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelUsageStats","kind":"calls","metadata":{"unresolvedName":"getModelUsageStats"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","to":"external:models\r\n .filter","kind":"calls","metadata":{"unresolvedName":"models\r\n .filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getRecentModels","to":"external:usedModels.slice","kind":"calls","metadata":{"unresolvedName":"usedModels.slice"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","to":"external:getPinnedModelKeys().includes","kind":"calls","metadata":{"unresolvedName":"getPinnedModelKeys().includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:isModelPinned","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"calls","metadata":{"unresolvedName":"getPinnedModelKeys"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"calls","metadata":{"unresolvedName":"getPinnedModelKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:pinned.indexOf","kind":"calls","metadata":{"unresolvedName":"pinned.indexOf"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:pinned.splice","kind":"calls","metadata":{"unresolvedName":"pinned.splice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:pinned.push","kind":"calls","metadata":{"unresolvedName":"pinned.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:toggleModelPin","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModelKeys","kind":"calls","metadata":{"unresolvedName":"getPinnedModelKeys"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"external:keySet.has","kind":"calls","metadata":{"unresolvedName":"keySet.has"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"external:modelMap.set","kind":"calls","metadata":{"unresolvedName":"modelMap.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"external:pinnedKeys.map(k => modelMap.get(k)).filter","kind":"calls","metadata":{"unresolvedName":"pinnedKeys.map(k => modelMap.get(k)).filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"external:pinnedKeys.map","kind":"calls","metadata":{"unresolvedName":"pinnedKeys.map"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getPinnedModels","to":"external:modelMap.get","kind":"calls","metadata":{"unresolvedName":"modelMap.get"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","to":"external:soundStore.getSnapshot","kind":"calls","metadata":{"unresolvedName":"soundStore.getSnapshot"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","to":"external:soundStore.getCustomAudioBlob","kind":"calls","metadata":{"unresolvedName":"soundStore.getCustomAudioBlob"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"calls","metadata":{"unresolvedName":"playSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","to":"external:recentPlays.get","kind":"calls","metadata":{"unresolvedName":"recentPlays.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","to":"external:recentPlays.set","kind":"calls","metadata":{"unresolvedName":"recentPlays.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSoundDeduped","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"calls","metadata":{"unresolvedName":"playNotificationSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","to":"external:notificationStore.onPush","kind":"calls","metadata":{"unresolvedName":"notificationStore.onPush"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","to":"external:recentPlays.set","kind":"calls","metadata":{"unresolvedName":"recentPlays.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:initNotificationSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"calls","metadata":{"unresolvedName":"playNotificationSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","to":"external:recentPlays.set","kind":"calls","metadata":{"unresolvedName":"recentPlays.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/notificationSoundBridge.ts:playNotificationSound","kind":"calls","metadata":{"unresolvedName":"playNotificationSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"calls","metadata":{"unresolvedName":"selectOpenRouterModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(match?.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(match?.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion('0.00000175')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0.00000175')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"calls","metadata":{"unresolvedName":"formatOpenRouterPricePerMillion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion('0')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion(undefined)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion(undefined)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"calls","metadata":{"unresolvedName":"selectOpenRouterModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(match?.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(match?.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"calls","metadata":{"unresolvedName":"selectOpenRouterModel"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(match?.id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(match?.id).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion('0.00000175')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0.00000175')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"calls","metadata":{"unresolvedName":"formatOpenRouterPricePerMillion"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion('0')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion('0')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.test.ts:","to":"external:expect(formatOpenRouterPricePerMillion(undefined)).toBe","kind":"calls","metadata":{"unresolvedName":"expect(formatOpenRouterPricePerMillion(undefined)).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","to":"external:(value ?? '').toLowerCase().replace","kind":"calls","metadata":{"unresolvedName":"(value ?? '').toLowerCase().replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","to":"external:(value ?? '').toLowerCase","kind":"calls","metadata":{"unresolvedName":"(value ?? '').toLowerCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","to":"external:id.split","kind":"calls","metadata":{"unresolvedName":"id.split"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant","to":"external:id.endsWith","kind":"calls","metadata":{"unresolvedName":"id.endsWith"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:normalize","kind":"calls","metadata":{"unresolvedName":"normalize"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"external:entry.id.endsWith","kind":"calls","metadata":{"unresolvedName":"entry.id.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"external:normalizedEntryID.endsWith","kind":"calls","metadata":{"unresolvedName":"normalizedEntryID.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"external:normalizedEntryName.includes","kind":"calls","metadata":{"unresolvedName":"normalizedEntryName.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","kind":"calls","metadata":{"unresolvedName":"providerFromOpenRouterId"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:isFreeVariant","kind":"calls","metadata":{"unresolvedName":"isFreeVariant"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:selectOpenRouterModel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:scoreModel","kind":"calls","metadata":{"unresolvedName":"scoreModel"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","to":"external:Number.isFinite","kind":"calls","metadata":{"unresolvedName":"Number.isFinite"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","to":"external:perMillion\n .toFixed(perMillion >= 10 ? 2 : 4)\n .replace","kind":"calls","metadata":{"unresolvedName":"perMillion\n .toFixed(perMillion >= 10 ? 2 : 4)\n .replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:formatOpenRouterPricePerMillion","to":"external:perMillion\n .toFixed","kind":"calls","metadata":{"unresolvedName":"perMillion\n .toFixed"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","to":"external:entry.name.split","kind":"calls","metadata":{"unresolvedName":"entry.name.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","to":"external:provider?.trim","kind":"calls","metadata":{"unresolvedName":"provider?.trim"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:getModelProviderLabel","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/openRouterModelMetadata.ts:providerFromOpenRouterId","kind":"calls","metadata":{"unresolvedName":"providerFromOpenRouterId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","to":"external:serverStore.getActiveServerId","kind":"calls","metadata":{"unresolvedName":"serverStore.getActiveServerId"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:get","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"calls","metadata":{"unresolvedName":"makeKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:set","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"calls","metadata":{"unresolvedName":"makeKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:remove","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:makeKey","kind":"calls","metadata":{"unresolvedName":"makeKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON","to":"external:serverStorage.get","kind":"calls","metadata":{"unresolvedName":"serverStorage.get"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:getJSON","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON","to":"external:serverStorage.set","kind":"calls","metadata":{"unresolvedName":"serverStorage.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:setJSON","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","to":"external:localStorage.key","kind":"calls","metadata":{"unresolvedName":"localStorage.key"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","to":"external:key.startsWith","kind":"calls","metadata":{"unresolvedName":"key.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:localStorage.key","kind":"calls","metadata":{"unresolvedName":"localStorage.key"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:key.startsWith","kind":"calls","metadata":{"unresolvedName":"key.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:keysToRemove.push","kind":"calls","metadata":{"unresolvedName":"keysToRemove.push"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('hello\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('hello\\r\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:bytes.set","kind":"calls","metadata":{"unresolvedName":"bytes.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame(bytes.buffer)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame(bytes.buffer)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('hello\\r\\n')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('hello\\r\\n')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:bytes.set","kind":"calls","metadata":{"unresolvedName":"bytes.set"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame(bytes.buffer)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame(bytes.buffer)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":73}')).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame(bytes.buffer)).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame(bytes.buffer)).toEqual"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"external:expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(parsePtyFrame('\\0{\"cursor\":\"oops\"}')).toBeNull"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"calls","metadata":{"unresolvedName":"parsePtyFrame"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","to":"external:Number.isSafeInteger","kind":"calls","metadata":{"unresolvedName":"Number.isSafeInteger"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","to":"external:chunk.startsWith","kind":"calls","metadata":{"unresolvedName":"chunk.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parseControlPayload","kind":"calls","metadata":{"unresolvedName":"parseControlPayload"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","to":"external:chunk.slice","kind":"calls","metadata":{"unresolvedName":"chunk.slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","to":"external:decoder.decode","kind":"calls","metadata":{"unresolvedName":"decoder.decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/ptyProtocol.ts:parsePtyFrame","to":"external:bytes.subarray","kind":"calls","metadata":{"unresolvedName":"bytes.subarray"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/api","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","to":"external:models.find","kind":"calls","metadata":{"unresolvedName":"models.find"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","to":"external:model.variants.includes","kind":"calls","metadata":{"unresolvedName":"model.variants.includes"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/sessionHelpers.ts:restoreModelSelection","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/modelUtils.ts:getModelKey","kind":"calls","metadata":{"unresolvedName":"getModelKey"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(backup.schemaVersion).toBe","kind":"calls","metadata":{"unresolvedName":"expect(backup.schemaVersion).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect((backup.modules.theme as { presetId: string }).presetId).toBe","kind":"calls","metadata":{"unresolvedName":"expect((backup.modules.theme as { presetId: string }).presetId).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('theme-preset')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-preset')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('theme-mode')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-mode')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode-sidebar-expanded')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-sidebar-expanded')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode-right-panel-width')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-right-panel-width')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('notifications-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('notifications-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('srv:local:last-directory')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:last-directory')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode:toast-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:toast-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(sessionStorage.getItem('opencode-active-server')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionStorage.getItem('opencode-active-server')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:sessionStorage.getItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:vi.resetModules","kind":"calls","metadata":{"unresolvedName":"vi.resetModules"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(backup.schemaVersion).toBe","kind":"calls","metadata":{"unresolvedName":"expect(backup.schemaVersion).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect((backup.modules.theme as { presetId: string }).presetId).toBe","kind":"calls","metadata":{"unresolvedName":"expect((backup.modules.theme as { presetId: string }).presetId).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.clear","kind":"calls","metadata":{"unresolvedName":"localStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:sessionStorage.clear","kind":"calls","metadata":{"unresolvedName":"sessionStorage.clear"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('theme-preset')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-preset')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('theme-mode')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('theme-mode')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode-sidebar-expanded')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-sidebar-expanded')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode-right-panel-width')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode-right-panel-width')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('notifications-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('notifications-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('srv:local:last-directory')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:last-directory')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('srv:local:opencode-auto-approve-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(localStorage.getItem('opencode:toast-enabled')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(localStorage.getItem('opencode:toast-enabled')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:expect(sessionStorage.getItem('opencode-active-server')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(sessionStorage.getItem('opencode-active-server')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.test.ts:","to":"external:sessionStorage.getItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.getItem"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/constants/storage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","to":"external:localStorage.getItem","kind":"calls","metadata":{"unresolvedName":"localStorage.getItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:exportNotificationPreferencesBackup","kind":"calls","metadata":{"unresolvedName":"exportNotificationPreferencesBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:exportNotificationEventSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportNotificationEventSettingsBackup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","to":"external:localStorage.setItem","kind":"calls","metadata":{"unresolvedName":"localStorage.setItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","to":"external:localStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"localStorage.removeItem"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts:importNotificationPreferencesBackup","kind":"calls","metadata":{"unresolvedName":"importNotificationPreferencesBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationEventSettingsStore.ts:importNotificationEventSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importNotificationEventSettingsBackup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","to":"external:createdAt.replace(/[:]/g, '-').replace","kind":"calls","metadata":{"unresolvedName":"createdAt.replace(/[:]/g, '-').replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","to":"external:createdAt.replace","kind":"calls","metadata":{"unresolvedName":"createdAt.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:exportThemeBackup","kind":"calls","metadata":{"unresolvedName":"exportThemeBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:exportLayoutBackup","kind":"calls","metadata":{"unresolvedName":"exportLayoutBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:exportServerSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportServerSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:exportPerServerStorageBackup","kind":"calls","metadata":{"unresolvedName":"exportPerServerStorageBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:exportServiceSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportServiceSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:exportKeybindingBackup","kind":"calls","metadata":{"unresolvedName":"exportKeybindingBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportNotificationBackup","kind":"calls","metadata":{"unresolvedName":"exportNotificationBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:exportSoundBackup","kind":"calls","metadata":{"unresolvedName":"exportSoundBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:exportUpdateSettingsBackup","kind":"calls","metadata":{"unresolvedName":"exportUpdateSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:buildBackupFileName","kind":"calls","metadata":{"unresolvedName":"buildBackupFileName"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"external:new TextEncoder().encode","kind":"calls","metadata":{"unresolvedName":"new TextEncoder().encode"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:exportSettingsBackup","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"external:file.text","kind":"calls","metadata":{"unresolvedName":"file.text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:normalizeBackupFile","kind":"calls","metadata":{"unresolvedName":"normalizeBackupFile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/themeStore.ts:importThemeBackup","kind":"calls","metadata":{"unresolvedName":"importThemeBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/layoutStore.ts:importLayoutBackup","kind":"calls","metadata":{"unresolvedName":"importLayoutBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serverStore.ts:importServerSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importServerSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/perServerStorage.ts:importPerServerStorageBackup","kind":"calls","metadata":{"unresolvedName":"importPerServerStorageBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/serviceStore.ts:importServiceSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importServiceSettingsBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/keybindingStore.ts:importKeybindingBackup","kind":"calls","metadata":{"unresolvedName":"importKeybindingBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importNotificationBackup","kind":"calls","metadata":{"unresolvedName":"importNotificationBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/soundStore.ts:importSoundBackup","kind":"calls","metadata":{"unresolvedName":"importSoundBackup"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:importSettingsBackup","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/updateStore.ts:importUpdateSettingsBackup","kind":"calls","metadata":{"unresolvedName":"importUpdateSettingsBackup"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","to":"external:file.text().then","kind":"calls","metadata":{"unresolvedName":"file.text().then"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","to":"external:file.text","kind":"calls","metadata":{"unresolvedName":"file.text"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:previewBackupMeta","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/settingsBackup.ts:","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/store/notificationStore.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:[523.25, 659.25].forEach","kind":"calls","metadata":{"unresolvedName":"[523.25, 659.25].forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:gain.gain.linearRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.linearRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:chime'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.linearRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.linearRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:[440, 554.37, 659.25].forEach","kind":"calls","metadata":{"unresolvedName":"[440, 554.37, 659.25].forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:gain.gain.linearRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.linearRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:success'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.linearRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.linearRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bell'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:[0, 0.15].forEach","kind":"calls","metadata":{"unresolvedName":"[0, 0.15].forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:knock'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:[0, 0.12].forEach","kind":"calls","metadata":{"unresolvedName":"[0, 0.12].forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:alert'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:tap'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:ping'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:bubble'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:pop'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:[0, 0.15].forEach","kind":"calls","metadata":{"unresolvedName":"[0, 0.15].forEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:error'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.frequency.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:buzz'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:ctx.createOscillator","kind":"calls","metadata":{"unresolvedName":"ctx.createOscillator"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:osc.frequency.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"osc.frequency.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:gain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:gain.gain.exponentialRampToValueAtTime","kind":"calls","metadata":{"unresolvedName":"gain.gain.exponentialRampToValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:osc.connect(gain).connect","kind":"calls","metadata":{"unresolvedName":"osc.connect(gain).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:osc.connect","kind":"calls","metadata":{"unresolvedName":"osc.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:osc.start","kind":"calls","metadata":{"unresolvedName":"osc.start"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:'builtin:warning'","to":"external:osc.stop","kind":"calls","metadata":{"unresolvedName":"osc.stop"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext","kind":"calls","metadata":{"unresolvedName":"getAudioContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"external:ctx.resume().catch","kind":"calls","metadata":{"unresolvedName":"ctx.resume().catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"external:ctx.resume","kind":"calls","metadata":{"unresolvedName":"ctx.resume"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"external:masterGain.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"masterGain.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain","kind":"calls","metadata":{"unresolvedName":"volumeToGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"external:masterGain.connect","kind":"calls","metadata":{"unresolvedName":"masterGain.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","to":"symbol-name:synth","kind":"calls","metadata":{"unresolvedName":"synth"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:getAudioContext","kind":"calls","metadata":{"unresolvedName":"getAudioContext"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:ctx.resume","kind":"calls","metadata":{"unresolvedName":"ctx.resume"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:response.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"response.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:audioData.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"audioData.arrayBuffer"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:ctx.decodeAudioData","kind":"calls","metadata":{"unresolvedName":"ctx.decodeAudioData"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:ctx.createBufferSource","kind":"calls","metadata":{"unresolvedName":"ctx.createBufferSource"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:ctx.createGain","kind":"calls","metadata":{"unresolvedName":"ctx.createGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:gainNode.gain.setValueAtTime","kind":"calls","metadata":{"unresolvedName":"gainNode.gain.setValueAtTime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:volumeToGain","kind":"calls","metadata":{"unresolvedName":"volumeToGain"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:source.connect(gainNode).connect","kind":"calls","metadata":{"unresolvedName":"source.connect(gainNode).connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:source.connect","kind":"calls","metadata":{"unresolvedName":"source.connect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","to":"external:source.start","kind":"calls","metadata":{"unresolvedName":"source.start"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:isSoundSupported","kind":"calls","metadata":{"unresolvedName":"isSoundSupported"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"external:playCustomSound(customAudioData, volume).catch","kind":"calls","metadata":{"unresolvedName":"playCustomSound(customAudioData, volume).catch"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playCustomSound","kind":"calls","metadata":{"unresolvedName":"playCustomSound"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"external:soundId.startsWith","kind":"calls","metadata":{"unresolvedName":"soundId.startsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playSound","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:playBuiltinSound","kind":"calls","metadata":{"unresolvedName":"playBuiltinSound"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/soundPlayer.ts:","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:name.replace","kind":"calls","metadata":{"unresolvedName":"name.replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:clean.split(' ').filter","kind":"calls","metadata":{"unresolvedName":"clean.split(' ').filter"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:clean.split","kind":"calls","metadata":{"unresolvedName":"clean.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:parts[0].slice(0, 2).toUpperCase","kind":"calls","metadata":{"unresolvedName":"parts[0].slice(0, 2).toUpperCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:parts[0].slice","kind":"calls","metadata":{"unresolvedName":"parts[0].slice"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/stringUtils.ts:getInitials","to":"external:(parts[0][0] + parts[1][0]).toUpperCase","kind":"calls","metadata":{"unresolvedName":"(parts[0][0] + parts[1][0]).toUpperCase"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauri()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauri()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauri()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauri()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauri()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauri()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauriMobile()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauriMobile()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauriMobile()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauriMobile()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(isTauriMobile()).toBe","kind":"calls","metadata":{"unresolvedName":"expect(isTauriMobile()).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('png')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('png')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('jpg')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('jpg')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('svg')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('svg')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('mp3')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('mp3')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('mp4')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('mp4')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('xyz')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('xyz')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('foo')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('foo')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('png')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('png')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('jpg')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('jpg')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('svg')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('svg')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('mp3')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('mp3')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('mp4')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('mp4')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('xyz')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('xyz')).toBe"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"symbol-name:extToMime","kind":"calls","metadata":{"unresolvedName":"extToMime"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.test.ts:","to":"external:expect(extToMime('foo')).toBe","kind":"calls","metadata":{"unresolvedName":"expect(extToMime('foo')).toBe"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","to":"external:/Android|iPhone|iPad|iPod/i.test","kind":"calls","metadata":{"unresolvedName":"/Android|iPhone|iPad|iPod/i.test"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauri","kind":"calls","metadata":{"unresolvedName":"isTauri"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:isTauriMobile","kind":"calls","metadata":{"unresolvedName":"isTauriMobile"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","to":"external:navigator.userAgent.toLowerCase","kind":"calls","metadata":{"unresolvedName":"navigator.userAgent.toLowerCase"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","to":"external:ua.includes","kind":"calls","metadata":{"unresolvedName":"ua.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:usesCustomDesktopTitlebar","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:getDesktopPlatform","kind":"calls","metadata":{"unresolvedName":"getDesktopPlatform"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:extToMime","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/src/utils/tauri.ts:extToMime","kind":"defines"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"external:vite","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"external:@vitejs/plugin-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"external:@tailwindcss/vite","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"external:node:fs","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","to":"external:id.split('?')[0].replace","kind":"calls","metadata":{"unresolvedName":"id.split('?')[0].replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","to":"external:id.split","kind":"calls","metadata":{"unresolvedName":"id.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","to":"external:normalizedId.endsWith","kind":"calls","metadata":{"unresolvedName":"normalizedId.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:katexWoff2Only","to":"external:code.replace","kind":"calls","metadata":{"unresolvedName":"code.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","to":"external:id.split('?')[0].replace","kind":"calls","metadata":{"unresolvedName":"id.split('?')[0].replace"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","to":"external:id.split","kind":"calls","metadata":{"unresolvedName":"id.split"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","to":"external:normalizedId.endsWith","kind":"calls","metadata":{"unresolvedName":"normalizedId.endsWith"}},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:transform","to":"external:code.replace","kind":"calls","metadata":{"unresolvedName":"code.replace"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:manualChunks","kind":"contains"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts","to":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:manualChunks","kind":"defines"},{"from":"D:/Documents/Github/PiAgentUI/PiAgentUi/vite.config.ts:manualChunks","to":"external:id.includes","kind":"calls","metadata":{"unresolvedName":"id.includes"}},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","to":"external:vitest/config","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","to":"external:@vitejs/plugin-react","kind":"imports"},{"from":"file:D:/Documents/Github/PiAgentUI/PiAgentUi/vitest.config.ts","to":"external:@tailwindcss/vite","kind":"imports"}]} \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..7397700 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +dist +node_modules +public/material-icons +src-tauri/target +coverage diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..337e2a7 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "arrowParens": "avoid", + "printWidth": 120 +} diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..b8595ca --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +node 22.22.0 +rust 1.85.0 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0bb870f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,796 @@ +# Changelog + +## [v0.6.10] - 2026-05-17 + +- fix: refresh sidebar child session links (a49908a) +- ci: deploy pages from dev (bc50843) +- fix: route permission replies through session (75bd8ac) +- fix: avoid iOS toolbar bottom gap (d880fac) +- fix: keep provider enabled for visible models (2462adf) +- fix: show detailed completion time on hover (9ca1ab6) + +## [v0.6.9] - 2026-05-16 + +- fix(terminal): correct clipboard paste behavior (bf6f902) +- ci(docker): add image workflow guardrails (da80d45) +- fix(docker): avoid qemu frontend builds (2d4d00b) + +## [v0.6.8] - 2026-05-16 + +- fix(diff): keep split word diff text themed (53e1d9a) +- feat(docker): add optional host backend access (279ac15) +- fix(message): preserve aborted messages with content (86fd11f) + +## [v0.6.7] - 2026-05-15 + +- fix(input): prevent IME confirmation from sending messages (5f4e0bb) +- feat(terminal): add scoped clipboard keybindings (2f8a933) + +## [v0.6.6] - 2026-05-13 + +- fix(session): 修复 PR #90 的子目录加载竞态并理顺范围刷新语义 (5360b59) +- fix(session): 目录切换时合并活动会话刷新状态 (4aca25d) +- feat(file-explorer): 按目录恢复文件树展开状态 (e29498d) + +## [v0.6.5] - 2026-05-10 + +- ui: show bash working directory (48d5b28) +- fix: skip shiki fallback for unsupported languages (d4ea3be) + +## [v0.6.4] - 2026-05-04 + +- fix: keep delete change bars continuous (843d861) + +## [v0.6.3] - 2026-05-04 + +- ui: simplify tool diff result headers (a5889a5) +- build: reduce bundled asset size (3e4aaa2) +- fix: align wrapped diff empty textures (d4b187b) +- fix: smooth split session loading (c4f3bb7) + +## [v0.6.2] - 2026-05-04 + +- fix: smooth wrapped diff scrolling (e46d0e5) +- fix: center collapsed diff buttons on mobile (9c1c6ef) +- fix: keep empty diff buffer textures aligned (3b70696) + +## [v0.6.1] - 2026-05-03 + +- fix: align readonly code gutters with diffs (b9a15d3) +- fix: polish diff gutter and separators (2568070) +- fix: keep chat bottom spacing comfortable (bc42873) +- fix: tighten chat surface bottom spacing (f47dedb) +- fix: PWA safe-area double padding on iOS (0b4fa33) + +## [v0.6.0] - 2026-05-03 + +- test: update diff viewer mock for shared data (13d7c04) +- fix: stabilize preview tab hover width (f2d0564) +- feat: improve file and change previews (7ae977d) +- fix: restore scrolling for inline code previews (09d3e96) +- perf: share diff data with fullscreen viewer (e3ceef8) +- perf: hoist diff viewer data across view modes (4467730) +- fix: improve readonly code selection contrast (4955f56) +- fix: strengthen empty diff buffer texture (849445f) +- fix: add Pierre-style empty diff buffers (16eec59) +- fix: adapt line number gutter width (d37f112) +- fix: center diff separator icons (db857dc) +- fix: port Pierre diff separator styling (789dcf2) +- fix: add Pierre-style diff separator expansion (1ce0d3a) +- fix: refine handwritten diff collapsed separators (ab9c8a6) +- fix: mask readonly code gutters (0a41e2a) +- refactor: extract readonly codemirror view (0b81235) +- fix: refine code search responsive layout (fc12a33) +- fix: anchor code preview search panel (00244e3) +- fix: polish code preview search panel (cd4e8d1) +- fix: smooth syntax theme switching (1f079e1) +- fix: use complete github shiki themes (2fc89fb) +- fix: align shiki theme with github syntax colors (e4c171a) +- feat: add adaptive shiki theme (6cb720e) +- feat: use codemirror for code previews (487cea3) +- fix: optimize sidebar transition rendering (06fe9a2) +- fix: limit message offscreen unmounting to resize (3986e5f) + +## [v0.5.20] - 2026-05-01 + +- fix: preserve git subdirectory projects (e9646b9) + +## [v0.5.19] - 2026-04-29 + +- fix: tighten sidebar search spacing (8b76cb2) +- fix: align desktop titlebar and dialog layout (f5800ba) +- fix: align dialog overlay styling (fe3a3cf) +- fix: unify right panel tab styling (ca6d697) +- fix: align command palette styling (dc67f38) +- fix: polish sidebar popover styling (da633ea) +- fix: preserve route session during refresh (9d3f0a0) +- fix: prevent terminal reconnect loops on global switch (5d0aca2) + +## [v0.5.18] - 2026-04-29 + +- fix: tighten pane focus and interaction regressions (c800e44) +- fix: prevent route sync from overwriting focused panes (fa44f13) + +## [v0.5.17] - 2026-04-28 + +- fix: keep session actions tied to visible focus (0e16597) +- ci: update GitHub artifact actions (d9e49c6) + +## [v0.5.16] - 2026-04-28 + +- fix: hide session actions after mouse selection (1d6b4be) +- ci: upgrade GitHub Actions Node runtimes (ff10d7b) + +## [v0.5.15] - 2026-04-28 + +- fix: restore model selector typography scaling (121b762) + +## [v0.5.14] - 2026-04-28 + +- fix: close the remaining review regressions (58a03dc) +- fix: clear lint regressions and selector focus artifacts (1b85707) +- fix: preserve injected desktop titlebar controls (7e60acf) +- fix: reveal session row actions on keyboard focus (a568535) +- fix: ignore hidden controls during menu dismissal (2db0cd0) +- fix: normalize menu focus target detection (c981584) +- fix: harden menu close paths against hidden targets (c1ac600) +- fix: make portal menus inert only after close (f82b285) +- fix: route tab exits through real control order (ce3ad2d) +- fix: keep selector focus stable during keyboard actions (6fbefae) +- fix: finish keyboard flows for selection popups (110cb06) +- fix: complete keyboard navigation for selection menus (ce247ee) +- fix: stabilize stacked dialog and toolbar menu focus (3d3c542) +- fix: align keyboard paths across dialogs and selectors (8f7b01f) +- fix: tighten follow-up focus and visibility behavior (7618593) +- fix: close the remaining interaction accessibility gaps (f634223) +- fix: polish remaining high-traffic control semantics (5c88ad0) +- fix: resolve remaining session and dialog correctness issues (7bde507) +- fix: tighten menu and diff accessibility (399471d) +- fix: finish button semantics in project controls (c05d5c9) +- fix: improve semantic buttons in settings and sidebar (3a1b5bf) +- fix: harden session updates and menu interactions (1d673df) +- fix: update context usage immediately after compaction (df01835) + +## [v0.5.13] - 2026-04-27 + +- fix: restore drag and drop in secondary desktop windows (36d489e) + +## [v0.5.12] - 2026-04-27 + +- fix: create the Android main window explicitly (1c20510) + +## [v0.5.11] - 2026-04-26 + +- fix: defer desktop windows until the first frame is ready (1b1e186) +- fix: remove titlebar separator that misaligns with sidebar border (ed14752) +- fix: prevent overlay sidebars from being obscured by desktop titlebar (8b20d80) +- feat: add titlebar actions — back/forward, open project, settings, new window (65abc23) +- fix: keep fullscreen viewers below desktop chrome (40e1ef4) + +## [v0.5.10] - 2026-04-26 + +- feat: add manual terminal labels and restore state (b42a90d) +- fix: align terminal PTY handling with upstream (093f2f2) +- fix: avoid macOS traffic light overlap in fullscreen headers (a5a3554) + +## [v0.5.9] - 2026-04-23 + +- fix: harden live tool timing updates (d6c963a) +- feat: resolve issue #74 running tool durations (54490f3) +- feat: store calibrated server time locally (f35c4ab) +- feat: handle server.connected event timestamps (0e77075) +- refactor: extract shared ticking clock hook (1b0c626) + +## [v0.5.8] - 2026-04-21 + +- fix: polish sidebar session and notification layout (51b22f2) +- refactor: modularize settings backup snapshots (a9d59c6) +- fix: reset project dialog state on reopen (b344278) +- feat: add settings backup import and export (93ad2ab) +- fix: rebalance obsidian surface contrast (0837734) +- fix: separate system notification settings from sound config (ccc80e4) +- feat: add separate system notification controls (3236d14) +- feat: add Dracula theme preset (7623377) +- fix: persist model selection across session restore (d8eb318) +- fix: shrink launcher icon mark further for masked shells (4f3e99f) +- fix: reduce app icon mark scale and drop custom Android splash (2552342) +- fix: remove unsupported Android splash attr from canary build (21ea11a) +- fix: shrink Android app icon foreground and add native splash theme (8325bfc) +- feat: redesign app icons for desktop and Android (527d423) + +## [v0.5.7] - 2026-04-19 + +- fix: anchor toasts to the content area beneath desktop titlebar (fe15280) + +## [v0.5.6] - 2026-04-19 + +- chore: sync Tauri app icons from web opencode.svg (f792218) +- polish: slim desktop titlebar down to minimal app chrome (375e8d1) +- feat: add platform-aware desktop titlebar foundation (43fa2da) +- fix: prevent model selector from jumping to wrong provider on split (5b33360) + +## [v0.5.5] - 2026-04-18 + +- fix: remove redundant *Single i18n keys — let i18next handle count=1 natively (9385ef8) +- style: match pane drop highlight radius to pane shell (rounded-lg) (f8acac2) +- feat: enable drag-to-split on active session list items (ac20b7b) + +## [v0.5.4] - 2026-04-18 + +- polish: pane drop overlay — drop text labels, harden edge cases (2be4c13) +- perf: keep pane drop overlay state out of ChatPane re-render path (17025ad) +- feat: drag sessions onto chat pane to split or replace (e413864) +- fix: add keyboard shortcuts to question dialogs (send keybinding to submit, Escape to skip) (dc83e0e) +- fix: narrow shell tool detection to exact 'sh' match across all matchers (f534454) +- Update zh-CN usage stats labels to English (074878e) +- fix: distinguish file writes in tool summary (2f25e93) +- fix: refine message tool summary wording (1d41542) +- fix: guard session error without sessionID (2166183) + +## [v0.5.3] - 2026-04-17 + +- style: use distinct icons for settings tabs (9b2adb1) +- fix: sanitize exported CSS snippet filenames safely (139725c) +- fix: adapt token usage ring track to all themes (75f2ad4) +- refactor: derive theme previews from preset tokens (720c426) +- feat: add reusable CSS overrides for themes (eba9d1d) +- refactor: split settings into agent and workspace tabs (b38ac6b) +- feat: add configurable message completion timestamps (2f01c56) +- feat: add model visibility settings (731efdd) +- style: improve glass effect - thicker base, blur(22px), saturate(200%) (bd27ce1) +- feat(themes): 新增Sakura、Ocean、Obsidian三款预设主题 (bfa449c) +- feat(settings): 添加自定义CSS模板管理功能 (79db9f4) + +## [v0.5.2] - 2026-04-15 + +- test: fix streamed event mock typing (92627ee) +- fix: preserve UTF-8 text in streamed markdown updates (8d89ce4) +- feat: add release update checks with about entry (closes #33) (e29a842) +- fix: preserve files and changes panel state across tab switches (closes #63) (3d57dc9) +- fix: allow pin toggle on selected model in desktop model selector (96e0ab2) +- fix: remove mobile 16px font-size override so input matches message stream (9e1eb6e) + +## [v0.5.1] - 2026-04-13 + +- feat: show agent and model name in step finish info (closes #61) (7299319) +- fix: restore line-height lost during font system migration (3d83f3b) +- fix: split diff view losing syntax highlighting when word diff is active (9f281ec) +- feat: tune default font sizes to match opencode official UI proportions (29c6f76) +- feat: unified typography system with CSS variables and per-axis font scale sliders (4533b15) + +## [v0.5.0] - 2026-04-13 + +- feat: add keep-screen-awake toggle in appearance settings (Wake Lock API) (3a6a13c) +- fix: update inline code test to match simplified style (no border/bg) (edc4beb) +- fix: simplify inline code style and add persistent underline to links (7f2cd73) +- fix: allow share URL to scroll horizontally on mobile (d049ce0) +- fix: ensure bottom padding in PWA standalone for devices without Home Indicator (eb8682c) +- fix: use replaceState on mobile to prevent session history stacking (ceed83d) + +## [v0.4.9] - 2026-04-11 + +- fix: prevent model restoration from overriding user selection during streaming (0c799e3) +- fix: return 404 for /api on frontend-only image (b07a30e) +- fix: align UI hook dependencies with live state (63a2b87) +- refactor: remove dead UI cleanup leftovers (5b82694) +- fix: remove unused resolveAlias function in shiki module (81d5fdb) +- perf: lazy-load shiki languages and optimize Tauri release profile (1be34e0) +- fix: PTY WebSocket auth fails behind reverse proxy (4bbb3c5) +- fix: prevent session fetch storm on SSE reconnect in SessionContext (ae26e6c) +- refactor: unify SSE and PTY into a single transparent bridge (73e638f) +- fix: use tungstenite message variants for PTY bridge (6210294) +- fix: bridge Tauri mobile PTY through native client (e33bde5) + +## [v0.4.8] - 2026-04-10 + +- feat: queue follow-up messages behind active turns (90756e3) +- fix: GPT apply_patch diff not rendering and error messages invisible in chat (6d6f81d) +- fix: align prompt history cursor navigation (4dd2bf4) +- fix: tighten session alerts and mobile code copy (8e02c0a) + +## [v0.4.7] - 2026-04-09 + +- fix: update command test to mock sdk instead of removed http module (f7521bc) +- fix: patch sdk migration review findings (e45b2b5) +- refactor: collapse remaining sdk helper types (c9d2a74) +- refactor: align remaining api models with sdk (f9c9272) +- refactor: align user message model fields with sdk (e427ccd) +- refactor: align event types with sdk (826cd49) +- refactor: tighten message part guards (b83098f) +- refactor: align tool part types with sdk (cecab44) +- refactor: align event payload adapters with sdk (d9ffe50) +- refactor: tighten sdk adapters and message conversions (a5aa326) +- refactor: align config and skill types with sdk (4eed10c) +- refactor: trim remaining sdk type wrappers (bfa0bde) +- refactor: collapse API types onto sdk definitions (e5e7305) +- refactor: replace API type wrappers with sdk aliases (89d42ac) +- fix: finish sdk migration cleanup (a90d0aa) +- fix: align API layer with official opencode sdk (ae4308c) +- fix: eliminate UI flicker, merge duplicate effects, avoid object mutation (a6e4cc1) +- fix: stabilize git workspace recents and worktree actions (abd0ee5) + +## [v0.4.6] - 2026-04-07 + +- fix: keep active child sessions visible across projects (9d8a725) +- fix: polish folder recents load more control (cbb1d59) +- fix: fade changes stats as one line (f05f8af) +- fix: compact changes panel header (231904f) + +## [v0.4.5] - 2026-04-06 + +- fix: refine changes menu spacing (ad48921) +- feat: sync file explorer status with change modes (b655d50) +- fix: align undo state with visible messages (752cae6) +- fix: clear command drafts after dispatch (4851435) +- fix: show history compacted messages (cc7d980) +- fix: simplify changes panel mode switch (ceb721b) +- feat: add git and branch review modes (71a8c0d) +- feat: add git setup and current-turn session changes (769f3ab) + +## [v0.4.4] - 2026-04-06 + +- fix: keep edit mode checkboxes compact on mobile (3d7c342) +- feat: support shift-select in recents edit mode (6181f5f) +- style: refine edit mode selection visuals (c7ca524) +- feat: add batch edit mode for sidebar recents and rewrite folder drag-sort (a1326d5) +- fix: persist panel layout and terminal positions (e1aeea8) + +## [v0.4.3] - 2026-04-05 + +- fix: improve pane navigation and sidebar drag affordances (a3dd889) +- fix: keep input focus after sending (161e7b8) +- fix: render bash tool commands inline (b6a6db2) +- fix: remove sidebar footer divider (d6e59b9) +- fix: prefer pointer outline interaction on hybrid devices (a20ebc0) + +## [v0.4.2] - 2026-04-03 + +- fix: switch folder recents to the clicked directory (d579407) +- fix: support sticky ctrl+alt combos in mobile terminal keyboard (4d9c5b3) +- fix: use tauri plugin-opener for external links in terminal and MCP auth (9b80bf3) +- fix: add background tint and equal spacing to plain code block copy button (102b5d4) +- fix: prevent global mode from being overridden by pane directory sync (b7a665c) + +## [v0.4.1] - 2026-04-03 + +- fix: disable split-pane entry points on small touch screens (3c1a607) + +## [v0.4.0] - 2026-04-03 + +- fix: align request dialogs with the input dock width (59b5962) +- perf: fix memo-defeating patterns in message rendering pipeline (f678d36) +- fix: stabilize ChatPane tree structure across fullscreen toggle (79b28f1) +- fix: preserve DOM across pane fullscreen toggle and hide split button in fullscreen (13c7f5e) +- fix: keep split resizing off the render path (750dd50) +- fix: normalize panel PTY restoration and dedupe terminal tabs (d1b4565) +- feat: add pane fullscreen mode and refine split header actions (cf959e0) +- fix: remove split container transition side effects (5332f61) +- fix: stabilize split-pane header interactions (6631e01) +- refactor: streamline split-pane chrome and transitions (cdb4a8b) +- fix: avoid first-frame tool expansion flicker on session switch (a71dea2) +- refactor: finish pane-first cleanup and auto-approve wiring (8af9e57) +- fix: unify router state and focused-pane directory sync (2cbb177) +- refactor: remove legacy focused-session compatibility layer (e4d0616) +- refactor: unify chat shell around focused pane state (e45dd17) +- fix: sidebar selectedSessionId follows focused pane in split mode (a82abaf) +- fix: isolate per-pane state — fullAutoMode, agent selection, session eviction, clearSession (18bc9af) +- fix: prevent duplicate SSE subscriptions in split-pane mode (e15ad08) +- feat: add split-pane UI with full-parity ChatPane, SplitContainer, PaneHeader, SplitToolbar (3af6b14) +- refactor: parameterize useChatSession for multi-instance support (1b37d8d) +- refactor: make session infrastructure multi-instance ready (e0ce47d) +- fix: hide assistant fork action when no text can be copied (f734462) +- fix: keep composer action blur out of transform layers (6eb3bf0) + +## [v0.3.8] - 2026-03-31 + +- feat: add fullscreen button to file preview and changes diff preview (9e4ca2d) +- feat: enable fork from assistant messages to preserve AI replies (f2a0079) +- refactor: unify floating component shadows to a consistent two-tier system (shadow-sm / shadow-lg) (1cf526e) +- chore: upgrade dependencies (vite 8, i18next 26, lucide-react 1.x, etc.) (41498bf) +- fix: adjust ModelSelector padding so scrollbar doesn't overlap list content (e7d6e4f) +- refactor: unify ModelSelector into a single component for both PC and mobile (5b81638) +- fix: sync session title to messageStore on SSE update for real-time header refresh (b74bb6a) +- fix: align mobile header toggle spacing (1052826) + +## [v0.3.7] - 2026-03-28 + +- fix: remove double border on attachment meta when no content preview (d29a2f4) +- fix: hide floating actions (undo/redo/permission) during todo panel swap (a3a7231) +- fix: apply glass effect to mobile collapsed capsule (2075818) +- fix: fallback fetch after send to prevent missing user message on SSE drop (e2138df) +- fix: skip overlay scrollbar on elements with no-scrollbar class (506cf24) +- feat: child sessions displayed under parent in sidebar with toggle for always-show (97ce7d8) +- feat: add diff toggle for folder recents (a1ed95e) +- fix: wire compact model selector to global shortcut (d14fb42) + +## [v0.3.6] - 2026-03-28 + +- test: add chatViewport mock to InputBox and InputToolbar tests (7eb80ac) +- fix: remove unused let binding in overlayScrollbar (ab9eaba) +- feat: add horizontal overlay scrollbar support (ad8d21d) +- refactor: rewrite outline index with visual config, focus-based interaction and entry windowing (18bccf9) +- fix: align compact model selector trigger (480dd04) +- refactor: centralize chat viewport state (8512fcb) +- fix: improve coarse pointer support in desktop UI (4cfc8e5) + +## [v0.3.5] - 2026-03-27 + +- fix: use previous stable tag for release changelog (b00cff7) +- fix: load chat header title from session detail (0b8443c) +- fix: stabilize chat history loading scroll behavior (87190c6) +- fix: animate todo panel swap without layout jank (ca8a672) +- feat: add frosted glass toggle in appearance settings (662070c) +- fix: apply overlay scrollbar to textarea, hide all native scrollbars (5dce51f) +- fix: frosted glass not rendering in Tauri production build & overlay scrollbar positioning (96e72c1) +- feat: replace native scrollbars with global overlay scrollbar system (da09781) +- refactor: simplify @ and / menus with cleaner layout and unified style (f5bddec) +- refactor: redesign ModelSelector for glass aesthetic (33a9dd2) +- refactor: unify frosted glass system with CSS utility classes (0e459f9) +- style: introduce frosted glass effect to all floating surfaces (ae10178) +- fix: remove extra padding from message toggles (4eb916a) + +## [v0.3.4] - 2026-03-24 + +- fix: align markdown copy buttons with header text (80e59ce) +- fix: render markdown images without streamdown wrapper controls (650851f) +- fix: remove code size-based rendering limits (42171e7) +- fix: remove contain-intrinsic-size that caused scroll jank (7942144) + +## [v0.3.3] - 2026-03-24 + +- fix: resolve TypeScript errors in MarkdownRenderer for release (1abcdf1) +- fix: exclude task tool from compact inline permission mode (5f39aff) +- style: remove left accent line from TaskRenderer, restore badge status colors (1cb6044) +- style: refine TaskRenderer visual hierarchy (263b74b) +- fix: show tool description from input while running, not just after completion (b65d16e) +- fix: reduce excessive right padding in expanded reasoning content (885668d) +- fix: panel dropdown menu hover overflow — use inset padding with rounded items (02653bf) +- fix: table copy button pinned outside scroll, mobile always-visible copy buttons (2cdef17) +- style: unify tool output header height to h-8 (32px) (c566b1a) +- style: unify message flow border-radius to a tighter 3-tier system (4a8a89f) +- refactor: redesign markdown code blocks, tables, and inline code styles (11f6222) + +## [v0.3.2] - 2026-03-24 + +- fix: align fullscreen diff test mocks with typed children (fdf1a74) +- fix: restore release validation after fullscreen refactor (ef2d755) +- fix: adjust outline index spacing for visual balance (fb98097) +- refactor: unify fullscreen components into generic FullscreenViewer (9e6d8ed) +- refactor: redesign settings UI with section-based layout and cleaner primitives (478351a) + +## [v0.3.1] - 2026-03-23 + +- fix: unify chevron arrow direction - collapsed points right, expanded points down (3557e5a) +- feat: compact inline permission - hide duplicate content when tool body already renders (63d571b) +- refactor: redesign descriptive steps summary - merge categories, per-category errors, truncation (870f490) +- fix: move diff stats next to title and remove exit code from descriptive steps (74e69c0) +- fix: deferred permission unmount and multi-select question answer parsing (a8dc9bd) +- fix: auto-expand readable tools that finish instantly in immersive mode (06dd4d4) + +## [v0.3.0] - 2026-03-22 + +- fix: lint warnings, error tool diff stats, descriptive steps partial error coloring (ea53836) +- feat: add diff stats summary to descriptive steps, fix write tool diff display (ce29807) +- fix: immersive mode keeps non-readable tool groups collapsed even during execution (be61de2) +- fix: resolve lint errors and remove unused eslint-disable directives (6037d19) +- feat: add immersive mode with smart tool expand/collapse (0d4252d) +- fix: skip QuestionRenderer when user dismissed or error (2029584) +- feat: add QuestionRenderer with InlineQuestion-style read-only answered view (207f0c6) +- fix: allow long bash commands to wrap in terminal view (8a7ddfd) +- simplify: BashRenderer remove buttons, click command to copy, inline exit code (72186b5) +- refactor: BashRenderer with fixed bottom bar, exit code, fullscreen, mobile-friendly buttons (cb7bb70) +- fix: restore height limit and fullscreen button in compact mode (8f8689d) +- feat: add BashRenderer with terminal style, Shiki highlighting, ANSI color support (856d74d) +- feat: descriptive steps default collapsed, show output status on tool row (b25a0f2) +- refactor: unify InlinePermission with tool output style, remove unused inline variant (ac510d7) +- feat: add compact tool output mode (hide input, no collapse, no height limit) (1036133) +- feat: add descriptive tool steps mode (d7e153f) +- refactor: remove ambient tool mode and make inline requests opt-in (06034a2) + +## [v0.2.10] - 2026-03-21 + +- feat: restore forked prompts in the composer (0792cf6) +- fix: keep folder recents aligned with live updates (a0c8899) +- fix: improve long duration formatting (62e6d94) + +## [v0.2.9] - 2026-03-19 + +- fix: preserve custom audio when switching to builtin sounds (57119da) +- fix: resolve all eslint warnings across codebase (4b31da3) +- feat: add notification sound system with per-event configuration (b6019e2) +- perf: defer offscreen chat message rendering (52d8ba8) +- refactor: unify file and changes preview panels (9f315d8) + +## [v0.2.8] - 2026-03-18 + +- fix: wrap panel tab label case blocks (d353b80) +- feat: expand right panel resize range (3e67623) +- feat: add tabbed session changes workspaces (ace0259) +- feat: add tabbed file preview workspaces (ffad629) +- fix: stabilize mobile terminal toolbar layout (1eb23b7) +- feat: refine mobile terminal extra keys behavior (6e04254) +- feat: add mobile extra keys toolbar for terminal (Termux-style) (2b185ac) +- feat: show collapsed folder activity status (0bd1378) +- feat: mark completed sessions as unread in recents (90cf8c3) + +## [v0.2.7] - 2026-03-18 + +- feat: add markdown reasoning display mode (20fa476) +- fix: avoid action overlap in folder recents on mobile (83b40b9) +- feat: animate folder recents expansion (1b8ea13) +- fix: preserve folder recents expansion across tab switches (058c289) +- fix: limit streaming layout animation to bottom-follow mode (95c6aca) +- fix: restore reasoning thinking shimmer transition (5c631c8) +- feat: refine reasoning markdown presentation (71a012a) +- fix(chat): extract formatDuration to shared formatUtils (c405092) +- fix(chat): preserve aborted turn durations (13633fb) +- feat: add diff gutter style setting (markers vs change bars) (4c5e7b8) +- fix(i18n): improve permission dialog labels for request/rule clarity (e3730d5) +- refactor: replace react-markdown with Streamdown for streaming-optimized markdown rendering (fcf3307) +- refactor: extract useResponsiveMaxHeight hook for shared viewport-aware sizing (1993eb8) +- fix: make ContentBlock maxHeight responsive to viewport size (b584071) +- fix: resolve drag-to-reorder race condition causing stale closures (b08a763) + +## [v0.2.6] - 2026-03-17 + +- refactor: redesign folder recents with drag-to-reorder and compact session items (88b4139) +- fix: resolve bugs introduced by Python-to-Rust router migration (335b82e) +- refactor: migrate gateway router from Python to Rust (290087f) +- Feature: Add ability for router to read config from environment variables (bddc46b) +- refactor: create new Rust project opencodeui-router (dd96377) +- Update image previews in README.md (be84586) +- fix: 服务器编辑/删除按钮始终可见 (0037a17) + +## [v0.2.5] - 2026-03-16 + +- fix: 修复胶囊按钮和弹窗 header 图标与文字对齐 (a65e34e) +- fix: 工具 icon 光晕不再被父容器裁切 (c946f19) +- fix: 移动端设置 tab 选中态被 overflow 裁切 (027fcf9) +- refactor: 设置界面优化 — 修复双滚动条、服务器编辑/删除确认 (ec75fad) +- fix(i18n): 保留开发者工具常见英文术语不翻译 (f4a6022) +- fix(i18n): 修正中文翻译质量 (f2bd269) +- feat: add full i18n support with react-i18next (en + zh-CN) (bcd9850) + +## [v0.2.4] - 2026-03-16 + +- fix: 会话级 Full Auto 恢复原有行为 — 只在当前所在页面的 session 生效,切走后不再自动放行 (e98bd4e) +- fix: Full Auto 全局模式在 SSE 事件层拦截,确保非当前会话的权限请求也能自动放行 (1046837) +- feat: Full Auto 三态模式 — 单击循环 off/会话级(黄)/全局(红),会话级只放行当前会话,全局放行所有,纯内存刷新即清 (db95fc7) +- fix: 去掉 steps header 入场动画,保持与其他元素一致不做特殊处理 (1e725a5) +- fix: 虚拟滚动横向滚动条修复 — 去掉 probe 元素改用 scrollWidth 历史最大值追踪,SplitDiffView proxy scrollbar 加 gutter 占位对齐 (beee631) + +## [v0.2.3] - 2026-03-15 + +- fix: probe 最长行选取改用 monoDisplayWidth 估算渲染宽度,CJK/全角字符按双倍计,修复含中文注释时横向滚动不到位 (d1fb35a) +- Revert "fix: probe 元素去掉 overflow:hidden 修复横向滚动不到位 — hidden 在两个方向截断内容导致 scrollWidth 偏小" (0e5353f) +- fix: probe 元素去掉 overflow:hidden 修复横向滚动不到位 — hidden 在两个方向截断内容导致 scrollWidth 偏小 (c9788fc) +- fix: lint warnings — ref 写入移入 useEffect,CodePreview 提取 tokens 避免 render 期间读 ref,修复 CodePreview 测试,清理多余依赖和 eslint-disable (96955f7) +- fix: 消除胶囊⇄输入框切换闪烁 — FloatingActions 改为同一 DOM 切换定位避免 remount,胶囊去掉入场动画和防抖回归纯 UI (bc3cc0c) +- fix: 移动端胶囊⇄输入框过渡优化 — 胶囊退场不延迟避免与输入框重叠闪烁,收起方向加 120ms 防抖消除滚动边界抖动 (4060e83) +- refactor: 统一动画体系 — UndoStatus 去自带动画改由 PresenceItem 控制,CollapsedCapsule 从 CSS animate-in 换成 usePresence,PresenceItem 加 shrink-0 防挤压,清理 CSS 死代码 (5106ac0) +- fix: probe 元素精确撑开 scrollWidth 修复横向滚动不到位,去掉 backdrop-blur (0f3b764) +- Revert "fix: 代码预览/diff 横向滚动重构 — CodePreview/UnifiedDiffView 改原生滚动+sticky gutter,SplitDiffView 用 probe 元素精确撑宽,去掉 backdrop-blur" (9d12d72) +- fix: 代码预览/diff 横向滚动重构 — CodePreview/UnifiedDiffView 改原生滚动+sticky gutter,SplitDiffView 用 probe 元素精确撑宽,去掉 backdrop-blur (9e37646) +- feat: usePresence hook + 浮动按钮/权限框/提问框入场退场动画 — 命令式 animate() 零额外 bundle (fb8c59f) +- fix: 消息流底部间距增大,为浮动按钮预留空间 (7f32fa2) +- fix: 删除 Output 的 Running... 文字,Input/Output spinner 统一无文字对齐 (e8c409e) +- fix: 单工具调用始终 compact 布局,消除流结束时的缩进跳变 — SmoothHeight 平滑过渡 + steps header 入场动画 (031502f) +- fix: 代码预览和 diff 行号背景色统一 — gutter 去掉硬编码背景,继承父容器颜色 (9ef8223) + +## [v0.2.2] - 2026-03-15 + +- ci: 恢复 codegen-units=1 减小产物体积,Rust cache 按平台隔离,精简工作流 (5018e3b) +- chore: 清理 suppressAutoScroll 死代码 (d47085e) +- fix: loadMore 不跳变 — 去掉 inner wrapper,消息反序直接作为 flex 子元素,prepend 时临时禁用 content-visibility (657e7a4) +- refactor: 用 column-reverse 替代 ResizeObserver 实现原生 stick-to-bottom (591a8eb) +- refactor: DiffView 复用 DiffViewer 组件,删除 150 行重复 diff 渲染代码 (e78d987) + +## [v0.2.1] - 2026-03-14 + +- refactor: 用 ResizeObserver 替代 RAF 轮询实现流式自动滚动 (10d9e6a) +- fix: 空消息不参与可见列表,消除 abort 时的滚动跳变 (9dbaa4d) + +## [v0.2.0] - 2026-03-14 + +- feat: RECENTS 列表标记活跃 session 状态 (closes #25) (98ecce9) +- fix: motion animate() 类型歧义 — 改用 motion/mini 单签名 API 解决 tsc -b TS2769 (7927bcf) +- fix: 移除 ContentBlock loading skeleton 骨架条,避免输出短于占位时的负增长跳变 (f6db986) +- feat: 消息入场生长动画 — 用户和助手消息统一从 height 0 平滑展开 (ce055fb) +- fix: SmoothHeight 激活时锁定 outer 高度,修复动画不触发的问题 (e5f6cf5) +- feat: 命令式 animate() 动画方案 — 高性能 + 零 React 组件开销 (4481aba) +- fix: 修复流结束后闪烁回弹问题 (192944e) +- fix: 修复流式文本不实时渲染的问题,移除 useSmoothStream (005b6bf) +- refactor: 连续助手消息分组渲染,共享容器浑然一体 (cfadad0) +- Revert "fix: 复制按钮始终占位,避免 text 到达时布局跳变" (1af197a) +- fix: 移除未使用的 hasMoreHistory 解构变量,修复 TS6133 编译错误 (cf9419b) +- fix: 复制按钮始终占位,避免 text 到达时布局跳变 (d51e7a8) +- fix: 移除 'Beginning of conversation' 常驻提示,仅保留加载中 spinner (11484c6) + +## [v0.1.18] - 2026-03-13 + +- ci: 加速 release 编译 — Rust 多线程 codegen + Android 双架构并行 (2398c54) +- fix: FloatingActions 高度抖动、滚动按钮误显示 (466f4ea) +- refactor: gutter/content 分离架构 + 水平滚动独立化 + FullscreenViewer 确定高度 (e327e59) +- perf: streaming 渲染地基优化 — rAF 滚动、delta 批量化、布局稳定性 (f689910) + +## [v0.1.17] - 2026-03-11 + +- fix: update CodePreview test mock to use useSyntaxHighlightRef (a10075f) +- fix: move history loading indicator below top spacing so it's visible (4cfc71c) +- fix: remove MAX_HISTORY_MESSAGES cap and restore loading UI (43d2273) +- perf: reduce sidebar resize lag with CSS containment and DOM-only sidebar drag (63bc0c5) +- fix: enable virtual scrolling in CodePreview by adding height constraint (43c9e3a) +- fix: mobile input collapses when tapping FloatingActions buttons (a777334) +- refactor: simplify loadMore pagination and remove prependedCount (8614df4) +- refactor: rewrite messageStore and ChatArea, remove IndexedDB cache layer (eecdeaf) +- refactor: remove loading spinners/skeletons and reduce scroll-related re-renders (eb7ebff) + +## [v0.1.16] - 2026-03-11 + +- fix: scroll jitter after streaming ends caused by content-visibility height mismatch (765052a) +- fix: stop auto-scroll jitter when user scrolls slightly during streaming (171a62e) + +## [v0.1.15] - 2026-03-10 + +- fix: default revertSteps to 0 in FloatingActions (400fbb4) +- chore: bump version to 0.1.15 (3f57df2) +- fix: slow scroll during streaming causes jitter by pulling user back to bottom (860683e) +- fix: isFocused stuck after toolbar button click prevents capsule collapse (aaaa727) +- refactor: extract FloatingActions and CollapsedCapsule components from InputBox (273bd98) +- refactor: extract useInputHistory hook from InputBox (d920da9) +- refactor: extract useAttachmentRail hook from InputBox (2150d82) +- refactor: extract useMobileCollapse hook from InputBox (c5fd39b) +- fix: mobile input capsule state not resetting on session switch + blur collapsing on toolbar interaction (474938e) + +## [v0.1.14] - 2026-03-10 + +- fix: session switch scroll + eliminate all content flicker during load (d823799) +- fix: infinite history loading loop + stabilize observer + cleaner scroll-to-bottom (fe28777) +- fix: smooth shimmer gradient + disable browser scroll restoration + multi-frame scroll-to-bottom (2144260) +- fix: shimmer highlight sweep + remove unused visibleMessageIds state (ae767ca) +- fix: outline click retract, prepend scroll preservation, cross-message merge continuation (e3ca11a) +- fix: desktop label click navigation + mobile passive touch events in OutlineIndex (f35f758) +- refactor: rewrite OutlineIndex with clean fisheye engine (1057c1c) +- refactor: replace react-virtuoso with native scroll + content-visibility (2dc550a) +- fix: correct shimmer animation direction (left-to-right) and use linear timing (16bc419) +- fix: endsWithTool skips empty reasoning/text so cross-message tool merging works correctly (fdedbcd) +- style: replace thinking breath-bar with shimmer text animation in italic mode (1bed06b) + +## [v0.1.13] - 2026-03-10 + +- fix: SSE reconnect race conditions and stale timeout constant (7614d53) +- test: add unit tests for HTTP module and Tauri environment detection (79b77af) +- chore: eliminate all 8 lint warnings (0 errors, 0 warnings) (b312bb6) +- fix: URL-encode query string values in buildQueryString (f6a434e) +- fix: add AbortController-based timeout to HTTP request() (7962278) +- fix: pending permission/question cache supports multiple requests per session (b421172) +- fix: SSE parser now handles CRLF line endings and multi-line data correctly (d4553d5) +- chore: remove dead storage key exports (WIDE_MODE, THEME_MODE, SIDEBAR_WIDTH, MODEL_VARIANT_PREFIX) (2901c99) +- refactor: replace bare console.error with unified error handlers across 14 files (7a0c86c) +- refactor: move theme/wideMode into themeStore, eliminate prop drilling through Sidebar and SettingsDialog (9c8b2d7) +- refactor: split messageStore into store, types, and React hooks layers (caef036) +- refactor: extract App.tsx hooks (useViewportHeight, useCancelHint, useCloseServiceDialog) (2dd70e3) +- refactor: split SidePanel into focused sidebar components (673db54) +- refactor: extract InputBox utility functions to input/inputUtils.ts (a1c0eee) +- refactor: split SettingsDialog into focused component files (72f5ed4) +- refactor: consolidate duplicated formatting functions into utils/formatUtils.ts (a981c89) +- refactor: deduplicate diff content extraction (fad37d4) +- refactor: extract ModalShell to unify modal overlay infrastructure (ae9f96e) +- chore: remove unnecessary eslint-disable in logger.ts (118740c) +- chore: clean up dependencies (0c50ac0) +- refactor: add dev-only logger, replace bare console.log with logger.log (91fc303) +- refactor: remove dead code files (test-shiki.ts, editorUtils.ts, toolUtils.ts) (3a3f37a) + +## [v0.1.12] - 2026-03-09 + +- fix: preserve changelog ordering during release prep (039b906) +- chore: ignore generated tauri assets in lint (071e2db) +- fix: keep slash command composer responsive (42cdcf6) +- fix: restore cross-platform Tauri app handling (6b84717) +- perf: replace std default hasher with rapidhash (c6d5bdb) +- refactor: reorganize the file structure of Tauri backend (fa5edf6) +- perf: refactor OpenDirectoryState with papaya HashMap to reduce lock contention (6efd2a0) +- perf: optimize ServiceState.child_pid with AtomicU32 to reduce Mutex contention (a42df0b) +- perf: optimize SseState implementation - replace Mutex+Hashmap with papaya library to reduce contention and improve performance (f586a84) + +## [v0.1.11] - 2026-03-08 + +- feat: add an optional folder-style Recent view while preserving the original session row details and per-folder ordering controls +- feat: aggregate Active sessions across all saved projects instead of limiting the list to the currently selected directory + +## [v0.1.10] - 2026-03-08 + +- fix: harden session message sync and failed sends (b788dce) +- chore: add validated release preparation flow (010ffbe) +- docs: consolidate v0.1.9 release notes (79113da) + +## [v0.1.9] - 2026-03-08 + +- fix: restore message attachment expand animation (2975fe3) +- fix: streamline composer attachment rail interactions (99db58a) +- fix: constrain expanded attachments and preserve composer blank lines (dd2d7ba) +- fix: harden composer attachment rail scrolling (b2bac29) + +## [v0.1.7] - 2026-03-08 + +- fix: truncate tool description overflow in tool call row (3782c67) +- fix: tighten mobile model menu and attachment width (60b34a2) +- fix: preserve utf-8 across tauri stream chunks (1dcb15a) + +## [v0.1.6] - 2026-03-07 + +- fix: restore tauri mobile file attachments (ffe3398) + +## [v0.1.5] - 2026-03-07 + +- chore: keep tauri config formatted on release (48f6045) +- fix: sync settings version with app release (b815d18) +- chore: format release workflow (aef533b) +- ci: add build validation workflow (491a544) +- other: add "zed/\*" as ignored file (8f32b7d) + +## [v0.1.4] - 2026-03-07 + +- fix: split frontend and api slash commands (bdb2e33) +- fix: support clipboard fallback in insecure contexts (edf4dd0) +- fix: align slash command descriptions (9d84a78) + +## [v0.1.3] - 2026-03-07 + +- chore: restore release workflow formatting (73a41a4) +- perf: split code preview from file explorer (b94bfc5) +- perf: lazy load optional panels and split vendor chunks (9e0f7d6) +- chore: add test baseline and clean lint debt (0d5f175) +- chore: establish lint and formatting baseline (762786d) +- fix: shorten input footer disclaimer copy (d691b7b) +- chore: automate lockfile updates in release script (e678349) + +## [v0.1.2] - 2026-03-07 + +- fix: scope active session state to the current directory (2503c6b) + +## [v0.1.1] - 2026-03-07 + +Patch release focused on chat input polish, session list consistency, and smoother permission handling. + +### Fixes + +- Restored collapsed input dock bottom spacing +- Kept the session list in sync across directory filters and live updates +- Returned gracefully to a new chat after deleting the currently open session +- Aligned the todo popover with the input dock for desktop and mobile +- Removed extra polling from permission/question flows and synced reply state immediately + +### Improvements + +- Preloaded `@` root listing and `/` command data when entering a session to reduce first-open lag + +## [v0.1.0] - 2026-03-05 + +First stable release of OpenCodeUI. + +### Features + +- Drag-and-drop file attachment support (desktop & mobile) +- Material file icons for file/folder display +- File @mention from explorer sidebar +- Context breakdown visualization in sidebar +- Live retry status display with expand/collapse +- Attachment detail viewer with copy/save functionality +- Capability-based file attachment upload + +### Fixes + +- Aligned capsule thinking chevron with italic/tool toggle arrows +- Stabilized Tauri desktop file drag-and-drop handling +- Fixed multiple task windows rendering the latest child session +- Eliminated scroll jank from high-frequency re-renders +- Fixed mobile overflow in project and diff headers +- Fixed sidebar notification/session meta row overflow +- Fixed attachment pill truncation and compact tool layout + +### Improvements + +- Migrated all icons to lucide-react +- Unified message part spacing and alignment +- Added Docker support with material icons build step diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.es.md b/README.es.md new file mode 100644 index 0000000..6461266 --- /dev/null +++ b/README.es.md @@ -0,0 +1,212 @@ +

+ Logo de PiAgentUI +

+ +# PiAgentUI + +[English (US)](./README.md) | [Português (BR)](./README.pt-BR.md) | **Español** | [日本語](./README.ja.md) + +PiAgentUI es una interfaz moderna web y de escritorio para **Pi Agent**. No es solo una capa visual de chat: el objetivo es convertirse en una aplicación completa de agentes, en la misma categoría de producto que Codex, Claude Desktop y otros entornos de desarrollo agent-first. + +PiAgentUI trata el runtime real de Pi como la fuente de verdad. Sesiones, metadatos de modelos, uso de contexto, tool calls, skills, configuración MCP y slash commands vienen de Pi siempre que sea posible, en lugar de recrearse como estado falso de interfaz. + +> **Estado del proyecto:** desarrollo local activo. Algunas áreas ya son cercanas a producto, mientras otras siguen cambiando rápidamente. + +## Demostración del software + +Estas capturas muestran la experiencia actual de PiAgentUI: un workspace oscuro y enfocado para agentes, con sesiones reales de Pi, selección de modelos, metadatos MCP, settings, chat con herramientas y paneles laterales. + +![Workspace de chat de PiAgentUI con panel lateral MCP](./src/assets/images/img1.png) + +![Diálogo de settings y conexiones de servidor de PiAgentUI](./src/assets/images/img2.png) + +![Selector de modelos de PiAgentUI dentro de una sesión activa](./src/assets/images/img3.png) + +## Qué hace PiAgentUI hoy + +- **Chat con streaming** — salida en vivo por SSE, reconciliación estable de mensajes, markdown, resaltado de código, partes de razonamiento y tarjetas de herramientas. +- **Sesiones reales de Pi** — lista de sesiones, enrutamiento a la sesión activa, historial seguro tras reinicio, títulos derivados y envío a la sesión seleccionada. +- **Salida de herramientas en tarjetas** — tool calls/results quedan anexados a los mensajes del asistente, sin filtrarse como texto normal en el chat. +- **Uso real de contexto** — el uso de contexto viene del runtime de Pi cuando está disponible; el contexto desconocido/compactado se muestra de forma segura en lugar de `NaN`. +- **Metadatos de modelos** — la identidad de provider/modelo viene de Pi; el catálogo local de OpenRouter se usa solo como enriquecimiento de detalles. +- **Panel de Skills** — las skills reales se leen del prompt efectivo de Pi y se agrupan por origen: global, project, package y other. +- **Panel MCP** — lee servidores MCP configurados en archivos locales/globales y muestra transporte, comando, URL, lifecycle, direct tools y origen. +- **Slash commands de Pi** — `/api/commands/list` expone comandos built-in de Pi y comandos dinámicos de extensiones, prompts y skills. +- **Adjuntos multimodales** — soporte visual para archivos/imágenes/PDF/audio/video según las capacidades del modelo seleccionado. +- **Terminal y archivos** — terminal integrado, explorador de archivos, syntax highlighting, componentes de diff e integración de escritorio con Tauri. +- **UI keyboard-first** — command palette, atajos configurables, split panes, selector de modelo, navegación por proyecto/sesión y layouts responsivos. + +## Dirección del producto + +PiAgentUI está evolucionando hacia una aplicación completa de agentes: + +1. **Acciones visuales para todos los comandos de Pi** — los slash commands siguen disponibles, pero las acciones frecuentes deben convertirse en botones, menús, diálogos o paneles. +2. **Entrada por voz y transcripción en tiempo real** — grabación de micrófono, deltas parciales, inserción de la transcripción final en el composer y configuración de proveedores STT OpenAI-compatible. +3. **Integración MCP más profunda** — más allá de metadatos: conectar, autenticar, inspeccionar herramientas y ejecutar workflows MCP desde la UI. +4. **Control completo de sesiones** — fork, clone, navegación en árbol, import/export/share, branch summaries y gestión de contexto como flujos nativos. +5. **Experiencia de escritorio completa** — app Tauri pulida con descubrimiento local de runtime, settings seguros, notificaciones y controles ricos de workspace. + +## Roadmap de audio y transcripción + +PiAgentUI ya acepta adjuntos de audio cuando el modelo seleccionado declara soporte de entrada de audio. El sistema de voz planeado añade speech-to-text en vivo directamente en el composer. + +Arquitectura recomendada: + +- **Proveedor realtime por defecto:** OpenAI Realtime Transcription con `gpt-realtime-whisper` para transcripción parcial de baja latencia. +- **Fallback por archivo:** OpenAI Audio Transcriptions con `gpt-4o-transcribe`, `gpt-4o-mini-transcribe` o `whisper-1`. +- **Proveedores personalizados:** APIs STT OpenAI-compatible configurables por el usuario, como proveedores que implementan `POST /v1/audio/transcriptions`. + +UX planeada: + +- botón de micrófono en el composer; +- estados de grabación y permisos; +- overlay de transcripción parcial; +- texto final insertado en el input; +- comportamiento configurable de append/replace; +- auto-send desactivado por defecto; +- manejo recuperable de errores de permisos, red y proveedor. + +Ejemplo de configuración de proveedor: + +```json +{ + "kind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.example.com/v1", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "openai/whisper-large-v3", + "language": "es" +} +``` + +El soporte realtime se trata como una capability separada, porque la compatibilidad HTTP con OpenAI no garantiza compatibilidad WebSocket. + +## Arquitectura + +```text +PiAgentUI +├─ Frontend React/Vite +│ ├─ chat, renderizado de mensajes, input, paneles y settings +│ ├─ stores locales para preferencias de UI +│ └─ clientes SSE/API para endpoints locales de PiAgentUI +├─ Backend como extensión Pi +│ └─ extensions/piagentui-server.ts +│ ├─ expone endpoints locales /api/* +│ ├─ conecta con runtime/sesiones/modelos de Pi +│ ├─ transmite eventos de Pi al navegador +│ └─ lee metadatos locales como MCP config y skills +└─ Runtime Pi Agent + ├─ sesiones + ├─ modelos/providers + ├─ herramientas + ├─ skills + ├─ MCP + └─ slash commands +``` + +La UI no debe inventar estado de runtime cuando Pi ya conoce la respuesta. PiAgentUI puede cachear y enriquecer datos para UX, pero Pi sigue siendo autoritativo para el comportamiento del agente. + +## Stack técnico + +| Área | Stack | +| ------------------- | --------------------------------------------- | +| UI | React 19, TypeScript | +| Build | Vite 8 | +| Estilo | Tailwind CSS v4 y design tokens del proyecto | +| Escritorio | Tauri 2 | +| Markdown | Streamdown / pipeline de markdown | +| Syntax highlighting | Shiki | +| Terminal | xterm.js | +| Tests | Vitest, Testing Library | +| Backend local | Extensión Pi, Node HTTP server, WebSocket/SSE | + +## Desarrollo local + +Instalar dependencias: + +```bash +npm install +``` + +Iniciar el frontend en modo dev: + +```bash +npm run dev +``` + +Build: + +```bash +npm run build +``` + +Tests: + +```bash +npm run test:run +``` + +Type checks: + +```bash +npm run typecheck +npm run typecheck:extensions +``` + +Validación completa: + +```bash +npm run validate +``` + +## Runtime de la extensión Pi + +PiAgentUI se registra como extensión Pi en `package.json`: + +```json +{ + "pi": { + "extensions": ["./extensions/piagentui-server.ts"] + } +} +``` + +Cuando la extensión arranca, escribe metadatos de descubrimiento local en: + +```text +~/.pi/agent/piagentui-port.json +``` + +La app web usa el puerto/token de ese archivo para hablar con el servidor local de la extensión. Algunos cambios de backend requieren reiniciar o recargar el proceso de la extensión Pi antes de verse en el navegador. + +## Endpoints locales importantes + +| Endpoint | Propósito | +| -------------------------------- | ---------------------------------------------------------- | +| `GET /api/models` | Lista real de modelos Pi con capacidades normalizadas | +| `GET /api/sessions` | Lista de sesiones leída desde los archivos de sesión de Pi | +| `GET /api/sessions/:id/messages` | Historial normalizado para renderizado en la UI | +| `GET /api/sessions/:id/context` | Uso de contexto runtime para la sesión activa | +| `POST /api/messages/send` | Envía un mensaje a la sesión Pi solicitada | +| `GET /api/skills` | Skills efectivas de Pi agrupadas por origen | +| `GET /api/mcp/status` | Metadatos de servidores MCP configurados | +| `GET /api/commands/list` | Slash commands built-in y dinámicos de Pi | +| `GET /global/event` | Stream SSE de eventos del backend PiAgentUI | + +## Principios de desarrollo + +- Preferir datos reales del runtime Pi en vez de estado falso solo de UI. +- Mantener OpenRouter como enriquecimiento de catálogo, nunca como sustituto de la identidad provider/modelo de Pi. +- Tratar valores runtime desconocidos explícitamente. +- Escribir tests antes de cambios de comportamiento siempre que sea posible. +- Mantener tool results dentro de tarjetas de herramienta. +- Seguir el sistema visual existente: tema, movimiento, espaciado y patrones de paneles. +- Separar claramente lo implementado del roadmap. + +## Notas del repositorio + +El proyecto todavía contiene nombres heredados de la base original OpenCodeUI en algunos puntos, incluyendo metadatos del paquete y documentación antigua. La dirección actual es PiAgentUI-first, y una limpieza futura debe migrar esos nombres sin romper los workflows locales. + +## Licencia + +Este repositorio sigue la licencia declarada en `package.json`: `GPL-3.0-only`. diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 0000000..a2e524e --- /dev/null +++ b/README.ja.md @@ -0,0 +1,212 @@ +

+ PiAgentUI ロゴ +

+ +# PiAgentUI + +[English (US)](./README.md) | [Português (BR)](./README.pt-BR.md) | [Español](./README.es.md) | **日本語** + +PiAgentUI は **Pi Agent** のためのモダンな Web / デスクトップ UI です。単なるチャット画面ではありません。最終的には Codex や Claude Desktop のような、エージェント中心の本格的な開発アプリになることを目指しています。 + +PiAgentUI は、実際の Pi runtime を信頼できる唯一の情報源として扱います。セッション、モデルメタデータ、コンテキスト使用量、tool call、skills、MCP 設定、slash command は、可能な限り Pi から取得し、UI 側だけの仮の状態として再実装しません。 + +> **プロジェクト状態:** アクティブなローカル開発中です。一部は製品に近い品質ですが、まだ高速に変化している領域もあります。 + +## ソフトウェアプレビュー + +以下のスクリーンショットは、現在の PiAgentUI の体験を示しています。実際の Pi セッション、モデル選択、MCP メタデータ、settings、ツール対応チャット、サイドパネルを備えた、暗色で集中しやすいエージェント workspace です。 + +![MCP サイドパネルを表示した PiAgentUI のチャット workspace](./src/assets/images/img1.png) + +![PiAgentUI の settings と server connections ダイアログ](./src/assets/images/img2.png) + +![アクティブな agent session 内の PiAgentUI model selector](./src/assets/images/img3.png) + +## 現在できること + +- **ストリーミング対応チャット** — SSE によるライブ出力、安定したメッセージ同期、Markdown、コードハイライト、reasoning part、ツールカード。 +- **実際の Pi セッション** — セッション一覧、アクティブセッションへのルーティング、再起動後も安全な履歴読み込み、セッションタイトル生成、選択中セッションへの送信。 +- **ツール出力のカード表示** — tool calls/results は通常のチャット本文として漏れず、アシスタントメッセージに紐づいたカードとして表示されます。 +- **実 runtime のコンテキスト使用量** — 利用可能な場合は Pi runtime から取得し、不明または compacted な値は `NaN` ではなく安全に表示します。 +- **モデルメタデータ** — provider/model の実体は Pi が authoritative であり、ローカル OpenRouter カタログは context、output、modality、pricing、tokenizer などの補助情報としてのみ使います。 +- **Skills パネル** — 有効な Pi prompt から実際の skills を読み取り、global / project / package / other に分類します。 +- **MCP パネル** — ローカル/グローバル設定ファイルから MCP サーバーを読み取り、transport、command、URL、lifecycle、direct tools、source を表示します。 +- **Pi slash commands** — `/api/commands/list` が Pi の built-in commands と、extension / prompt / skill 由来の動的コマンドを公開します。 +- **マルチモーダル添付** — 選択中モデルの能力に応じて、ファイル、画像、PDF、音声、動画の添付 UI を表示します。 +- **ターミナルとファイル操作** — 統合ターミナル、ファイルエクスプローラー、syntax highlighting、diff 関連コンポーネント、Tauri デスクトップ連携。 +- **キーボード中心の UI** — command palette、カスタム keybindings、split panes、モデルセレクター、プロジェクト/セッションナビゲーション、レスポンシブレイアウト。 + +## プロダクトの方向性 + +PiAgentUI は、完全なエージェントアプリへ進化しています。 + +1. **すべての Pi コマンドに視覚的な操作を提供** — slash commands は残しつつ、よく使う操作はボタン、メニュー、ダイアログ、パネルにします。 +2. **音声入力とリアルタイム文字起こし** — マイク録音、部分 transcript delta、最終 transcript の composer 挿入、OpenAI-compatible STT provider 設定。 +3. **より深い MCP 統合** — メタデータ表示だけでなく、接続、認証、ツール確認、MCP workflow 実行を UI から行えるようにします。 +4. **完全なセッション制御** — fork、clone、tree navigation、import/export/share、branch summary、context management をネイティブ UI として提供します。 +5. **デスクトップグレードの体験** — Tauri アプリとして、ローカル runtime discovery、安全な settings、通知、より豊かな workspace control を提供します。 + +## 音声と文字起こしのロードマップ + +PiAgentUI は、選択中モデルが audio input をサポートしている場合、すでに音声ファイル添付を扱えます。計画中の voice system では、composer にリアルタイム speech-to-text を追加します。 + +推奨アーキテクチャ: + +- **デフォルト realtime provider:** 低レイテンシの部分 transcript 用に OpenAI Realtime Transcription と `gpt-realtime-whisper` を使用。 +- **ファイル fallback:** OpenAI Audio Transcriptions の `gpt-4o-transcribe`、`gpt-4o-mini-transcribe`、または `whisper-1` を使用。 +- **カスタム provider:** `POST /v1/audio/transcriptions` を実装する OpenAI-compatible STT API をユーザーが設定可能。 + +計画中の UX: + +- composer のマイクボタン; +- 録音状態と権限状態; +- 部分 transcript overlay; +- 最終 transcript を input に挿入; +- append / replace 動作の設定; +- auto-send はデフォルト無効; +- 権限、ネットワーク、provider エラーを復旧可能な形で表示。 + +provider 設定例: + +```json +{ + "kind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.example.com/v1", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "openai/whisper-large-v3", + "language": "ja" +} +``` + +OpenAI-compatible な HTTP transcription は WebSocket 互換性を保証しないため、realtime support は別 capability として扱います。 + +## アーキテクチャ + +```text +PiAgentUI +├─ React/Vite frontend +│ ├─ chat, message rendering, input, panels, settings +│ ├─ UI preferences 用の local stores +│ └─ PiAgentUI local endpoints 用の SSE/API clients +├─ Pi extension backend +│ └─ extensions/piagentui-server.ts +│ ├─ local /api/* endpoints を公開 +│ ├─ Pi runtime/session/model APIs への bridge +│ ├─ Pi events を browser に stream +│ └─ MCP config や skills などの local metadata を読み取り +└─ Pi Agent runtime + ├─ sessions + ├─ models/providers + ├─ tools + ├─ skills + ├─ MCP + └─ slash commands +``` + +Pi がすでに知っている runtime state を UI が勝手に作るべきではありません。PiAgentUI は UX のために cache や enrichment を行えますが、agent behavior については Pi が authoritative です。 + +## 技術スタック + +| 領域 | Stack | +| ------------------- | --------------------------------------------- | +| UI | React 19, TypeScript | +| Build | Vite 8 | +| Styling | Tailwind CSS v4 と project design tokens | +| Desktop | Tauri 2 | +| Markdown | Streamdown / markdown rendering pipeline | +| Syntax highlighting | Shiki | +| Terminal | xterm.js | +| Tests | Vitest, Testing Library | +| Local backend | Pi extension, Node HTTP server, WebSocket/SSE | + +## ローカル開発 + +依存関係をインストール: + +```bash +npm install +``` + +frontend dev server を起動: + +```bash +npm run dev +``` + +ビルド: + +```bash +npm run build +``` + +テスト: + +```bash +npm run test:run +``` + +型チェック: + +```bash +npm run typecheck +npm run typecheck:extensions +``` + +完全な検証: + +```bash +npm run validate +``` + +## Pi extension runtime + +PiAgentUI は `package.json` で Pi extension として登録されています。 + +```json +{ + "pi": { + "extensions": ["./extensions/piagentui-server.ts"] + } +} +``` + +extension 起動時、ローカル discovery metadata が以下に書き込まれます。 + +```text +~/.pi/agent/piagentui-port.json +``` + +Web アプリはこのファイルの port/token を使ってローカル extension server と通信します。一部の backend 変更は、ブラウザに反映される前に Pi extension process の再起動または reload が必要です。 + +## 重要なローカル endpoints + +| Endpoint | 目的 | +| -------------------------------- | --------------------------------------------------- | +| `GET /api/models` | Pi の実モデル一覧と正規化された capability metadata | +| `GET /api/sessions` | Pi session files から読み取ったセッション一覧 | +| `GET /api/sessions/:id/messages` | UI rendering 用に正規化されたセッション履歴 | +| `GET /api/sessions/:id/context` | active session の runtime context usage | +| `POST /api/messages/send` | 指定された Pi session にユーザーメッセージを送信 | +| `GET /api/skills` | 有効な Pi skills を source ごとに分類 | +| `GET /api/mcp/status` | 設定済み MCP servers の metadata | +| `GET /api/commands/list` | Pi built-in / dynamic slash commands | +| `GET /global/event` | PiAgentUI backend からの SSE event stream | + +## 開発原則 + +- UI-only の仮状態よりも、Pi runtime の実データを優先する。 +- OpenRouter は catalog enrichment としてのみ使い、Pi の provider/model identity を置き換えない。 +- 不明な runtime 値は明示的に扱う。 +- 振る舞いを変える場合は、可能な限り先にテストを書く。 +- tool results は tool cards 内に保持する。 +- 既存の theme、motion、spacing、panel patterns に合わせる。 +- 実装済み機能と roadmap を明確に分ける。 + +## リポジトリノート + +このプロジェクトには、元の OpenCodeUI ベースから継承した名前が一部残っています。package metadata や古い documentation などです。現在の方向性は PiAgentUI-first であり、将来的な cleanup ではローカル workflow を壊さずに残りの名称を移行する必要があります。 + +## ライセンス + +このリポジトリは `package.json` に記載されているライセンス `GPL-3.0-only` に従います。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa71fd4 --- /dev/null +++ b/README.md @@ -0,0 +1,241 @@ +

+ PiAgentUI logo +

+ +

PiAgentUI

+

+ Professional Desktop & Web UI for AI Coding Agents
+ Pi Agent · Claude Code · Codex · OpenCode · Cursor · Copilot +

+ +

+ Version + License + Platform + Framework +

+ +**English (US)** | [Português (BR)](./README.pt-BR.md) | [Español](./README.es.md) | [日本語](./README.ja.md) + +## TL;DR + +PiAgentUI is a **full-featured workspace for AI coding agents** — sessions, model switching, MCP tools, skills browser, voice input, terminal, file explorer, and Tauri desktop app. Built for Pi Agent but compatible with Claude Code, Codex, OpenCode, Cursor, and any agent that speaks SSE/HTTP. + +> **Category:** AI Agent UI · Agent Desktop Client · MCP GUI · Coding Copilot Interface +> **Status:** Active development — production-grade chat, evolving fast. Expect weekly releases. + +## Software preview + +These screenshots show the current PiAgentUI experience: a dark, focused agent workspace with real Pi sessions, model selection, MCP metadata, settings, tool-aware chat, and side panels. + +![PiAgentUI chat workspace with MCP side panel](./src/assets/images/img1.png) + +![PiAgentUI settings and server connections dialog](./src/assets/images/img2.png) + +![PiAgentUI model selector inside an active agent session](./src/assets/images/img3.png) + +## Quick Install + +```bash +# Clone and install +git clone https://github.com/lehhair/OpenCodeUI.git +cd OpenCodeUI +npm install + +# Start dev server +npm run dev + +# Or build desktop app +npm run tauri dev +``` + +Requires **Node.js ≥ 22** and **Pi Agent** installed. The UI auto-discovers the Pi runtime via `~/.pi/agent/piagentui-port.json`. + +## What PiAgentUI does today + +- **Agent chat with streaming** — live assistant output through SSE, stable message reconciliation, markdown rendering, code highlighting, reasoning parts, and tool cards. +- **Real Pi sessions** — session list, active-session routing, restart-safe history loading, derived session titles, and selected-session send routing. +- **Tool output as tool cards** — tool calls/results stay attached to assistant messages instead of leaking as normal chat text. +- **Runtime context usage** — context usage comes from Pi runtime when available; unknown/compacted context is shown safely instead of `NaN`. +- **Model metadata** — Pi provider/model identity remains authoritative, with optional OpenRouter catalog metadata used only for extra details like context, output, modality, pricing, and tokenizer hints. +- **Skills panel** — real skills are parsed from the effective Pi prompt and grouped by source: global, project, package, and other. +- **MCP metadata panel** — reads configured MCP servers from local/global config files and surfaces transport, command, URL, lifecycle, direct tools, and source. +- **Pi slash commands** — `/api/commands/list` exposes Pi built-in commands plus dynamic extension, prompt, and skill commands. +- **Attachments and multimodal input** — file/image/PDF/audio/video attachment affordances follow the selected model capabilities. +- **Terminal and file tooling** — integrated terminal, file explorer, syntax highlighting, diff-oriented components, and Tauri desktop integration. +- **Keyboard-first UI** — command palette, configurable keybindings, split panes, model selector, project/session navigation, and responsive layouts. + +## Product direction + +PiAgentUI is moving toward a complete agent app: + +1. **Visual actions for every Pi command** — slash commands remain available, but frequent actions should become buttons, menus, dialogs, or panels. +2. **Voice input and realtime transcription** — microphone recording, partial transcript deltas, final transcript insertion into the composer, and OpenAI-compatible STT provider configuration. +3. **Deeper MCP integration** — beyond metadata: connect, authenticate, inspect tools, and execute MCP workflows from the UI. +4. **Full session control** — fork, clone, tree navigation, import/export/share, branch summaries, and context management as first-class UI flows. +5. **Desktop-grade experience** — a polished Tauri app with local runtime discovery, secure settings, notifications, and richer workspace controls. + +## Audio and transcription roadmap + +PiAgentUI already supports attaching audio files when the selected model declares audio input support. The planned voice system adds live speech-to-text directly in the composer. + +Recommended architecture: + +- **Default realtime provider:** OpenAI Realtime Transcription with `gpt-realtime-whisper` for low-latency partial transcripts. +- **Default file fallback:** OpenAI Audio Transcriptions with `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, or `whisper-1`. +- **Custom providers:** user-configurable OpenAI-compatible STT APIs, such as providers that implement `POST /v1/audio/transcriptions`. + +Planned UX: + +- microphone button in the composer; +- recording and permission states; +- partial transcript overlay; +- final transcript inserted into the input; +- optional append/replace behavior; +- auto-send disabled by default; +- recoverable error handling for permissions, network failures, and provider errors. + +Planned provider config shape: + +```json +{ + "kind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.example.com/v1", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "openai/whisper-large-v3", + "language": "en" +} +``` + +Realtime support is treated as a separate capability because OpenAI-compatible HTTP transcription does not guarantee WebSocket compatibility. + +## Architecture + +```text +PiAgentUI +├─ React/Vite frontend +│ ├─ chat, message rendering, input, panels, settings +│ ├─ local stores for UI preferences +│ └─ SSE/API clients for PiAgentUI local endpoints +├─ Pi extension backend +│ └─ extensions/piagentui-server.ts +│ ├─ exposes local /api/* endpoints +│ ├─ bridges to Pi runtime/session/model APIs +│ ├─ streams Pi events to the browser +│ └─ reads local metadata such as MCP config and skills +└─ Pi Agent runtime + ├─ sessions + ├─ models/providers + ├─ tools + ├─ skills + ├─ MCP + └─ slash commands +``` + +The UI should not invent runtime state when Pi already knows the answer. PiAgentUI can cache and enrich data for UX, but Pi remains authoritative for agent behavior. + +## Tech stack + +| Area | Stack | +| ------------------- | --------------------------------------------- | +| UI | React 19, TypeScript | +| Build | Vite 8 | +| Styling | Tailwind CSS v4 plus project design tokens | +| Desktop | Tauri 2 | +| Markdown | Streamdown / markdown rendering pipeline | +| Syntax highlighting | Shiki | +| Terminal | xterm.js | +| Testing | Vitest, Testing Library | +| Local backend | Pi extension, Node HTTP server, WebSocket/SSE | + +## Local development + +Install dependencies: + +```bash +npm install +``` + +Start the frontend dev server: + +```bash +npm run dev +``` + +Build the app: + +```bash +npm run build +``` + +Run tests: + +```bash +npm run test:run +``` + +Run type checks: + +```bash +npm run typecheck +npm run typecheck:extensions +``` + +Full validation: + +```bash +npm run validate +``` + +## Pi extension runtime + +PiAgentUI is registered as a Pi extension in `package.json`: + +```json +{ + "pi": { + "extensions": ["./extensions/piagentui-server.ts"] + } +} +``` + +When the extension starts, it writes local discovery metadata to: + +```text +~/.pi/agent/piagentui-port.json +``` + +The web app uses that local port/token information to talk to the running extension server. Some backend changes require restarting or reloading the Pi extension process before the browser sees the new behavior. + +## Important local endpoints + +| Endpoint | Purpose | +| -------------------------------- | ------------------------------------------------------ | +| `GET /api/models` | Real Pi model list plus normalized capability metadata | +| `GET /api/sessions` | Session list parsed from Pi session files | +| `GET /api/sessions/:id/messages` | Session history normalized for UI rendering | +| `GET /api/sessions/:id/context` | Runtime context usage for the active session | +| `POST /api/messages/send` | Send user message to the requested Pi session | +| `GET /api/skills` | Effective Pi skills grouped by source | +| `GET /api/mcp/status` | Configured MCP server metadata | +| `GET /api/commands/list` | Built-in and dynamic Pi slash commands | +| `GET /global/event` | SSE event stream from PiAgentUI backend | + +## Development principles + +- Prefer real Pi runtime data over mocked UI-only state. +- Keep OpenRouter metadata as catalog enrichment only; never replace Pi provider/model identity with it. +- Treat unknown runtime values explicitly instead of rendering misleading numbers. +- Add tests before behavior changes whenever possible. +- Keep tool results inside tool cards. +- Keep UI work aligned with the existing theme, motion, spacing, and panel patterns. +- Document what is implemented separately from what is planned. + +## Repository notes + +This project still contains inherited naming from the original OpenCodeUI base in a few places, including package metadata and older documentation files. The current direction is PiAgentUI-first, and future cleanup should migrate remaining OpenCodeUI naming without breaking local workflows. + +## License + +This repository currently follows the license declared in `package.json`: `GPL-3.0-only`. diff --git a/README.pt-BR.md b/README.pt-BR.md new file mode 100644 index 0000000..bc513a8 --- /dev/null +++ b/README.pt-BR.md @@ -0,0 +1,212 @@ +

+ Logo do PiAgentUI +

+ +# PiAgentUI + +[English (US)](./README.md) | **Português (BR)** | [Español](./README.es.md) | [日本語](./README.ja.md) + +PiAgentUI é uma interface moderna web e desktop para o **Pi Agent**. Ele não é apenas uma camada visual de chat: o objetivo é evoluir para um aplicativo completo de agentes, na mesma categoria de produto de Codex, Claude Desktop e outros ambientes agent-first para desenvolvimento. + +O PiAgentUI trata o runtime real do Pi como fonte de verdade. Sessões, metadados de modelo, uso de contexto, tool calls, skills, configuração MCP e slash commands vêm do Pi sempre que possível, em vez de serem recriados como estado falso de interface. + +> **Status do projeto:** desenvolvimento local ativo. Algumas áreas já estão próximas de produto, enquanto outras ainda mudam rapidamente. + +## Demonstração do software + +Estas capturas mostram a experiência atual do PiAgentUI: um workspace escuro e focado para agentes, com sessões reais do Pi, seleção de modelos, metadados MCP, settings, chat com ferramentas e painéis laterais. + +![Workspace de chat do PiAgentUI com painel lateral MCP](./src/assets/images/img1.png) + +![Diálogo de settings e conexões de servidor do PiAgentUI](./src/assets/images/img2.png) + +![Seletor de modelos do PiAgentUI dentro de uma sessão ativa](./src/assets/images/img3.png) + +## O que o PiAgentUI já faz hoje + +- **Chat com streaming** — saída ao vivo via SSE, reconciliação estável de mensagens, markdown, code highlight, partes de reasoning e cards de ferramentas. +- **Sessões reais do Pi** — lista de sessões, roteamento para sessão ativa, histórico seguro após restart, títulos derivados e envio para a sessão selecionada. +- **Tool output em cards** — tool calls/results ficam anexados às mensagens do assistente, sem vazar como texto normal no chat. +- **Uso real de contexto** — o uso de contexto vem do runtime do Pi quando disponível; contexto desconhecido/compactado é exibido de forma segura em vez de `NaN`. +- **Metadados de modelos** — identidade de provider/modelo vem do Pi; o catálogo OpenRouter local é usado apenas como enriquecimento de detalhes. +- **Painel de Skills** — skills reais são lidas do prompt efetivo do Pi e agrupadas por origem: global, project, package e other. +- **Painel MCP** — lê servidores MCP configurados em arquivos locais/globais e mostra transporte, comando, URL, lifecycle, direct tools e origem. +- **Slash commands do Pi** — `/api/commands/list` expõe comandos built-in do Pi e comandos dinâmicos de extensões, prompts e skills. +- **Anexos multimodais** — suporte visual a arquivos/imagens/PDF/áudio/vídeo conforme as capacidades do modelo selecionado. +- **Terminal e arquivos** — terminal integrado, explorador de arquivos, syntax highlighting, componentes de diff e integração desktop via Tauri. +- **UI keyboard-first** — command palette, atalhos configuráveis, split panes, seletor de modelo, navegação por projeto/sessão e layouts responsivos. + +## Direção do produto + +O PiAgentUI está caminhando para virar um app completo de agentes: + +1. **Ações visuais para todos os comandos do Pi** — slash commands continuam disponíveis, mas ações frequentes devem virar botões, menus, diálogos ou painéis. +2. **Entrada por voz e transcrição em tempo real** — gravação de microfone, deltas parciais, inserção da transcrição final no composer e configuração de provedores STT OpenAI-compatible. +3. **Integração MCP mais profunda** — além de metadados: conectar, autenticar, inspecionar ferramentas e executar workflows MCP pela UI. +4. **Controle completo de sessões** — fork, clone, navegação em árvore, import/export/share, branch summaries e gerenciamento de contexto como fluxos nativos. +5. **Experiência desktop completa** — app Tauri polido com descoberta local de runtime, settings seguros, notificações e controles ricos de workspace. + +## Roadmap de áudio e transcrição + +O PiAgentUI já aceita anexos de áudio quando o modelo selecionado declara suporte a áudio. O sistema planejado de voz adiciona speech-to-text ao vivo diretamente no composer. + +Arquitetura recomendada: + +- **Provedor realtime padrão:** OpenAI Realtime Transcription com `gpt-realtime-whisper` para transcrição parcial de baixa latência. +- **Fallback por arquivo:** OpenAI Audio Transcriptions com `gpt-4o-transcribe`, `gpt-4o-mini-transcribe` ou `whisper-1`. +- **Provedores customizados:** APIs STT OpenAI-compatible configuráveis pelo usuário, como provedores que implementam `POST /v1/audio/transcriptions`. + +UX planejada: + +- botão de microfone no composer; +- estados de gravação e permissão; +- overlay de transcrição parcial; +- texto final inserido no input; +- comportamento configurável de append/replace; +- auto-send desligado por padrão; +- tratamento recuperável para erros de permissão, rede e provedor. + +Exemplo de configuração de provider: + +```json +{ + "kind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.example.com/v1", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "openai/whisper-large-v3", + "language": "pt" +} +``` + +Suporte realtime é tratado como capability separada, porque compatibilidade HTTP com a OpenAI não garante compatibilidade WebSocket. + +## Arquitetura + +```text +PiAgentUI +├─ Frontend React/Vite +│ ├─ chat, renderização de mensagens, input, painéis e settings +│ ├─ stores locais para preferências de UI +│ └─ clientes SSE/API para endpoints locais do PiAgentUI +├─ Backend como extensão Pi +│ └─ extensions/piagentui-server.ts +│ ├─ expõe endpoints locais /api/* +│ ├─ faz ponte com runtime/sessões/modelos do Pi +│ ├─ transmite eventos do Pi para o browser +│ └─ lê metadados locais como MCP config e skills +└─ Runtime Pi Agent + ├─ sessões + ├─ modelos/providers + ├─ ferramentas + ├─ skills + ├─ MCP + └─ slash commands +``` + +A UI não deve inventar estado de runtime quando o Pi já sabe a resposta. O PiAgentUI pode cachear e enriquecer dados para UX, mas o Pi continua autoritativo para o comportamento do agente. + +## Stack técnica + +| Área | Stack | +| ------------------- | -------------------------------------------- | +| UI | React 19, TypeScript | +| Build | Vite 8 | +| Estilo | Tailwind CSS v4 e design tokens do projeto | +| Desktop | Tauri 2 | +| Markdown | Streamdown / pipeline de markdown | +| Syntax highlighting | Shiki | +| Terminal | xterm.js | +| Testes | Vitest, Testing Library | +| Backend local | Extensão Pi, Node HTTP server, WebSocket/SSE | + +## Desenvolvimento local + +Instalar dependências: + +```bash +npm install +``` + +Iniciar o frontend em modo dev: + +```bash +npm run dev +``` + +Build: + +```bash +npm run build +``` + +Testes: + +```bash +npm run test:run +``` + +Type checks: + +```bash +npm run typecheck +npm run typecheck:extensions +``` + +Validação completa: + +```bash +npm run validate +``` + +## Runtime da extensão Pi + +O PiAgentUI é registrado como extensão Pi em `package.json`: + +```json +{ + "pi": { + "extensions": ["./extensions/piagentui-server.ts"] + } +} +``` + +Quando a extensão inicia, ela escreve metadados de descoberta local em: + +```text +~/.pi/agent/piagentui-port.json +``` + +O app web usa a porta/token desse arquivo para falar com o servidor local da extensão. Algumas mudanças de backend exigem reiniciar ou recarregar o processo da extensão Pi antes de aparecerem no browser. + +## Endpoints locais importantes + +| Endpoint | Finalidade | +| -------------------------------- | ----------------------------------------------------- | +| `GET /api/models` | Lista real de modelos Pi com capacidades normalizadas | +| `GET /api/sessions` | Lista de sessões lida dos arquivos de sessão do Pi | +| `GET /api/sessions/:id/messages` | Histórico normalizado para renderização na UI | +| `GET /api/sessions/:id/context` | Uso de contexto runtime para a sessão ativa | +| `POST /api/messages/send` | Envia mensagem para a sessão Pi solicitada | +| `GET /api/skills` | Skills efetivas do Pi agrupadas por origem | +| `GET /api/mcp/status` | Metadados dos servidores MCP configurados | +| `GET /api/commands/list` | Slash commands built-in e dinâmicos do Pi | +| `GET /global/event` | Stream SSE de eventos do backend PiAgentUI | + +## Princípios de desenvolvimento + +- Preferir dados reais do runtime Pi em vez de estado fake só da UI. +- Manter OpenRouter como enriquecimento de catálogo, nunca como substituto da identidade provider/modelo do Pi. +- Tratar valores runtime desconhecidos explicitamente. +- Escrever testes antes de mudanças de comportamento sempre que possível. +- Manter tool results dentro dos cards de ferramenta. +- Seguir o sistema visual existente: tema, movimento, espaçamento e padrões de painéis. +- Separar claramente o que está implementado do que é roadmap. + +## Notas do repositório + +O projeto ainda contém nomes herdados da base original OpenCodeUI em alguns pontos, incluindo metadados do pacote e documentação antiga. A direção atual é PiAgentUI-first, e uma limpeza futura deve migrar esses nomes sem quebrar os workflows locais. + +## Licença + +Este repositório segue a licença declarada em `package.json`: `GPL-3.0-only`. diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 0000000..070c365 --- /dev/null +++ b/README_EN.md @@ -0,0 +1,11 @@ +# PiAgentUI English README + +The English (US) README is now the main project README and includes software screenshots from `src/assets/images/`: + +- [README.md](./README.md) + +Localized versions: + +- [Português (BR)](./README.pt-BR.md) +- [Español](./README.es.md) +- [日本語](./README.ja.md) diff --git a/assets/app-icons/app-icon-android-background.svg b/assets/app-icons/app-icon-android-background.svg new file mode 100644 index 0000000..d3a58c1 --- /dev/null +++ b/assets/app-icons/app-icon-android-background.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/app-icons/app-icon-android-foreground.svg b/assets/app-icons/app-icon-android-foreground.svg new file mode 100644 index 0000000..ad21ada --- /dev/null +++ b/assets/app-icons/app-icon-android-foreground.svg @@ -0,0 +1,19 @@ + + + + diff --git a/assets/app-icons/app-icon.svg b/assets/app-icons/app-icon.svg new file mode 100644 index 0000000..e0f3fdf --- /dev/null +++ b/assets/app-icons/app-icon.svg @@ -0,0 +1,20 @@ + + + + + diff --git a/docker-compose.build.yml b/docker-compose.build.yml new file mode 100644 index 0000000..2ffdc09 --- /dev/null +++ b/docker-compose.build.yml @@ -0,0 +1,31 @@ +# ============================================ +# 本地构建 override(gateway/frontend/backend) +# ============================================ +# 用法: docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build + +services: + gateway: + image: opencodeui-gateway:local + build: + context: . + dockerfile: docker/Dockerfile.gateway + + frontend: + image: opencodeui-frontend:local + build: + context: . + dockerfile: docker/Dockerfile.frontend + + backend: + image: opencodeui-backend:local + build: + context: . + dockerfile: docker/Dockerfile.backend + args: + USE_CHINA_MIRROR: ${USE_CHINA_MIRROR:-1} + APT_MIRROR: ${APT_MIRROR:-http://mirrors.tuna.tsinghua.edu.cn/debian} + APT_SECURITY_MIRROR: ${APT_SECURITY_MIRROR:-http://mirrors.tuna.tsinghua.edu.cn/debian-security} + NPM_CONFIG_REGISTRY: ${NPM_CONFIG_REGISTRY:-https://registry.npmmirror.com} + NODEJS_ORG_MIRROR: ${NODEJS_ORG_MIRROR:-https://npmmirror.com/mirrors/node} + MISE_INSTALL_URL: ${MISE_INSTALL_URL:-https://mise.run} + OPENCODE_INSTALL_URL: ${OPENCODE_INSTALL_URL:-https://opencode.ai/install} diff --git a/docker-compose.host.yml b/docker-compose.host.yml new file mode 100644 index 0000000..12f6cbf --- /dev/null +++ b/docker-compose.host.yml @@ -0,0 +1,15 @@ +# ============================================ +# 宿主机能力 override(可选) +# ============================================ +# 用法: +# docker compose -f docker-compose.yml -f docker-compose.host.yml up -d +# +# 开启后 backend 可以访问宿主机 Docker daemon 和宿主机文件系统。 +# 只在确实需要容器内构建/管理 Docker、访问宿主机路径时使用。 + +services: + backend: + privileged: true + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /:/host diff --git a/docker-compose.standalone.yml b/docker-compose.standalone.yml new file mode 100644 index 0000000..16af6d2 --- /dev/null +++ b/docker-compose.standalone.yml @@ -0,0 +1,25 @@ +# ============================================ +# OpenCode WebUI - 纯前端独立部署 +# ============================================ +# 适用于已有 opencode serve 的场景,只需前端 UI +# +# 使用方法: +# docker compose -f docker-compose.standalone.yml up -d +# +# 环境变量: +# BACKEND_URL - opencode serve 地址(默认 host.docker.internal:4096) +# PORT - 前端监听端口(默认 3000) + +services: + frontend: + image: ghcr.io/lehhair/opencodeui-frontend:latest + container_name: opencodeui + restart: unless-stopped + ports: + - '${PORT:-3000}:3000' + command: ['caddy', 'run', '--config', '/etc/caddy/Caddyfile.standalone'] + environment: + - BACKEND_URL=${BACKEND_URL:-host.docker.internal:4096} + # Linux 需要 host.docker.internal 支持 + extra_hosts: + - 'host.docker.internal:host-gateway' diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..4286d1c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,100 @@ +# ============================================ +# OpenCode WebUI - Docker Compose +# ============================================ +# +# 架构: +# gateway (Caddy) :6658 -> 统一入口(反代 + 端口路由) +# :6659 -> 独立预览端口(前端开发服务专用) +# frontend (Caddy) :3000 -> 静态文件 (GitHub Actions 预构建镜像) +# backend (opencode):4096 -> opencode serve (GitHub Actions 预构建镜像) +# +# 使用方法: +# cp .env.example .env # 填写 API Key +# docker compose up -d # 启动 +# +# 本地构建全部服务 (可选): +# docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build + +services: + # ---- 统一入口:网关 ---- + gateway: + image: ghcr.io/lehhair/opencodeui-gateway:latest + container_name: opencode-gateway + restart: unless-stopped + ports: + - '127.0.0.1:${GATEWAY_PORT:-6658}:6658' + - '127.0.0.1:${PREVIEW_PORT:-6659}:6659' + volumes: + - opencode-router-data:/data + - /var/run/docker.sock:/var/run/docker.sock:ro + depends_on: + - frontend + - backend + environment: + - TARGET_CONTAINER=opencode-backend + - ROUTER_STATE_FILE=/data/routes.json + - ROUTER_SCAN_INTERVAL=${ROUTER_SCAN_INTERVAL:-5} + - ROUTER_TOKEN_LENGTH=${ROUTER_TOKEN_LENGTH:-12} + - ROUTER_PORT_RANGE=${ROUTER_PORT_RANGE:-3000-9999} + - ROUTER_EXCLUDE_PORTS=${ROUTER_EXCLUDE_PORTS:-4096} + - PUBLIC_BASE_URL=${PUBLIC_BASE_URL:-} + - PREVIEW_DOMAIN=${PREVIEW_DOMAIN:-} + - ROUTER_USERNAME=${OPENCODE_SERVER_USERNAME:-opencode} + - ROUTER_PASSWORD=${OPENCODE_SERVER_PASSWORD:-} + networks: + - opencode-net + + # ---- 前端:预构建镜像 ---- + frontend: + image: ghcr.io/lehhair/opencodeui-frontend:latest + container_name: opencode-frontend + restart: unless-stopped + networks: + - opencode-net + + # ---- 后端:预构建镜像 ---- + backend: + image: ghcr.io/lehhair/opencodeui-backend:latest + container_name: opencode-backend + restart: unless-stopped + deploy: + resources: + limits: + memory: 4G + volumes: + - ${WORKSPACE:-./workspace}:/workspace + - opencode-home:/root + working_dir: /workspace + environment: + - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} + - OPENAI_API_KEY=${OPENAI_API_KEY:-} + - GEMINI_API_KEY=${GEMINI_API_KEY:-} + - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-} + - GROQ_API_KEY=${GROQ_API_KEY:-} + - MISTRAL_API_KEY=${MISTRAL_API_KEY:-} + - XAI_API_KEY=${XAI_API_KEY:-} + - OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD:-} + - OPENCODE_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME:-opencode} + - DOCKER_API_VERSION=${DOCKER_API_VERSION:-1.40} + - NPM_CONFIG_REGISTRY=${NPM_CONFIG_REGISTRY:-https://registry.npmmirror.com} + - NODEJS_ORG_MIRROR=${NODEJS_ORG_MIRROR:-https://npmmirror.com/mirrors/node} + - PIP_INDEX_URL=${PIP_INDEX_URL:-https://pypi.tuna.tsinghua.edu.cn/simple} + - PIP_TRUSTED_HOST=${PIP_TRUSTED_HOST:-pypi.tuna.tsinghua.edu.cn} + - LANG=C.UTF-8 + - LC_ALL=C.UTF-8 + - TERM=xterm-256color + - COLORTERM=truecolor + - MISE_DATA_DIR=/root/.local/share/mise + - MISE_CONFIG_DIR=/root/.config/mise + - MISE_STATE_DIR=/root/.local/state/mise + - PATH=/root/.local/bin:/root/.cargo/bin:/root/.local/share/mise/shims:/root/.local/share/mise/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + networks: + - opencode-net + +volumes: + opencode-home: + opencode-router-data: + +networks: + opencode-net: + name: opencode-net diff --git a/docker/Caddyfile b/docker/Caddyfile new file mode 100644 index 0000000..d6cc872 --- /dev/null +++ b/docker/Caddyfile @@ -0,0 +1,19 @@ +# OpenCode WebUI - Caddy 配置 +# 纯静态文件服务 + +:3000 { + @api path /api /api/* + handle @api { + respond "API is not served by the frontend-only image" 404 + } + + handle { + root * /srv + file_server + + # SPA 路由 - 所有非文件请求返回 index.html + try_files {path} /index.html + } + + encode gzip +} diff --git a/docker/Caddyfile.gateway b/docker/Caddyfile.gateway new file mode 100644 index 0000000..a73ee0f --- /dev/null +++ b/docker/Caddyfile.gateway @@ -0,0 +1,36 @@ +{ + auto_https off +} + +# ---- 主入口 :6658 — OpenCode 应用 ---- +:6658 { + # API(SSE + WebSocket 自动处理) + handle_path /api/* { + reverse_proxy opencode-backend:4096 { + flush_interval -1 + } + } + + # Routes UI + Preview API(供面板切换预览端口) + @router path /routes /preview/* + handle @router { + reverse_proxy 127.0.0.1:7070 + } + + # 前端(兜底) + handle { + reverse_proxy opencode-frontend:3000 + } +} + +# ---- 开发服务入口 :6659 — 绑独立域名 ---- +# 路径穿透 /p/{token}/ + 独占预览(兜底) +:6659 { + # 动态端口路由(由 router 自动生成) + import /etc/caddy/routes.conf + + # 独占预览(兜底:未匹配路径穿透的请求走 preview 端口) + handle { + import /etc/caddy/preview.conf + } +} diff --git a/docker/Caddyfile.standalone b/docker/Caddyfile.standalone new file mode 100644 index 0000000..2627b9d --- /dev/null +++ b/docker/Caddyfile.standalone @@ -0,0 +1,21 @@ +# OpenCode WebUI - 纯前端独立部署 +# 静态文件 + API 反代到外部 opencode serve + +:3000 { + # API 反代(strip /api 前缀,SSE 需要 flush_interval -1) + handle_path /api/* { + reverse_proxy {$BACKEND_URL:host.docker.internal:4096} { + header_up Host {upstream_hostport} + flush_interval -1 + } + } + + # 前端静态文件 + handle { + root * /srv + file_server + try_files {path} /index.html + } + + encode gzip +} diff --git a/docker/Dockerfile.backend b/docker/Dockerfile.backend new file mode 100644 index 0000000..f7a838c --- /dev/null +++ b/docker/Dockerfile.backend @@ -0,0 +1,114 @@ +# ============================================ +# OpenCode WebUI - Backend +# ============================================ +# Debian slim + opencode serve + agent tooling + +FROM docker:29-cli AS docker-cli + +FROM debian:bookworm-slim + +ARG USE_CHINA_MIRROR=0 +ARG APT_MIRROR=http://mirrors.tuna.tsinghua.edu.cn/debian +ARG APT_SECURITY_MIRROR=http://mirrors.tuna.tsinghua.edu.cn/debian-security +ARG NPM_CONFIG_REGISTRY=https://registry.npmmirror.com +ARG NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node +ARG MISE_INSTALL_URL=https://mise.run +ARG OPENCODE_INSTALL_URL=https://opencode.ai/install + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=C.UTF-8 \ + LC_ALL=C.UTF-8 \ + TERM=xterm-256color \ + COLORTERM=truecolor \ + EDITOR=vim \ + NPM_CONFIG_REGISTRY=${NPM_CONFIG_REGISTRY} \ + NODEJS_ORG_MIRROR=${NODEJS_ORG_MIRROR} + +RUN if [ "${USE_CHINA_MIRROR}" = "1" ] && [ -f /etc/apt/sources.list.d/debian.sources ]; then \ + sed -i \ + -e "s|http://deb.debian.org/debian|${APT_MIRROR}|g" \ + -e "s|http://security.debian.org/debian-security|${APT_SECURITY_MIRROR}|g" \ + /etc/apt/sources.list.d/debian.sources; \ + fi + +# Agent 常用基础环境。语言运行时交给 mise,安装到持久化的 /root。 +RUN apt-get update && apt-get install -y --no-install-recommends \ + bash \ + ca-certificates \ + curl \ + dnsutils \ + fd-find \ + file \ + fonts-dejavu-core \ + fonts-liberation \ + fonts-noto-cjk \ + fonts-noto-color-emoji \ + g++ \ + git \ + git-lfs \ + gnupg \ + jq \ + less \ + make \ + nano \ + openssh-client \ + patch \ + procps \ + python3 \ + python3-venv \ + ripgrep \ + rsync \ + tini \ + tzdata \ + unzip \ + vim-tiny \ + wget \ + xz-utils \ + zip \ + && rm -rf /var/lib/apt/lists/* + +# Docker CLI + Compose/Buildx plugin,只复制客户端,不安装 dockerd/containerd/runc。 +RUN mkdir -p /usr/local/libexec/docker/cli-plugins +COPY --from=docker-cli /usr/local/bin/docker /usr/local/bin/docker +COPY --from=docker-cli /usr/local/libexec/docker/cli-plugins/docker-compose /usr/local/libexec/docker/cli-plugins/docker-compose +COPY --from=docker-cli /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx + +# Debian 的 fd 二进制叫 fdfind,补一个常见命令名。 +RUN ln -sf /usr/bin/fdfind /usr/local/bin/fd + +# 安装 mise。GitHub Actions 等 CI 环境会在构建时下载,运行时安装的工具仍落在持久化 /root。 +RUN curl -fsSL "${MISE_INSTALL_URL}" | sh \ + && MISE_BIN="$(find /root -name mise -type f 2>/dev/null | head -1)" \ + && if [ -z "${MISE_BIN}" ]; then echo "mise binary not found" >&2; exit 1; fi \ + && cp "${MISE_BIN}" /usr/local/bin/mise \ + && chmod +x /usr/local/bin/mise \ + && mise --version + +# 安装 opencode。 +RUN curl -fsSL "${OPENCODE_INSTALL_URL}" | bash \ + && OPENCODE_BIN="$(find /root -name opencode -type f 2>/dev/null | head -1)" \ + && if [ -z "${OPENCODE_BIN}" ]; then echo "opencode binary not found" >&2; exit 1; fi \ + && cp "${OPENCODE_BIN}" /usr/local/bin/opencode \ + && chmod +x /usr/local/bin/opencode \ + && opencode --version + +# 工作目录 +RUN mkdir -p /workspace +WORKDIR /workspace + +ENV MISE_DATA_DIR=/root/.local/share/mise \ + MISE_CONFIG_DIR=/root/.config/mise \ + MISE_STATE_DIR=/root/.local/state/mise \ + OPENCODE_DISABLE_AUTOUPDATE=true \ + OPENCODE_DISABLE_TERMINAL_TITLE=true \ + WORKSPACE=/workspace + +ENV PATH="/root/.local/bin:/root/.cargo/bin:/root/.local/share/mise/shims:/root/.local/share/mise/bin:${PATH}" + +COPY ./docker/backend-entrypoint.sh /usr/local/bin/backend-entrypoint.sh +RUN chmod +x /usr/local/bin/backend-entrypoint.sh + +EXPOSE 4096 + +ENTRYPOINT ["tini", "--", "/usr/local/bin/backend-entrypoint.sh"] +CMD ["opencode", "serve", "--port", "4096", "--hostname", "0.0.0.0"] diff --git a/docker/Dockerfile.frontend b/docker/Dockerfile.frontend new file mode 100644 index 0000000..f932e5b --- /dev/null +++ b/docker/Dockerfile.frontend @@ -0,0 +1,48 @@ +# ============================================ +# OpenCode WebUI - Frontend +# ============================================ +# 纯前端静态文件 + Caddy 反向代理 API + +# ---- Stage 1: 构建前端 ---- +# 前端产物是静态文件,和目标 CPU 架构无关。 +# 多架构镜像构建时让 Node builder 始终跑在构建机原生平台,避免 arm64 通过 QEMU 重跑 npm/vite 构建。 +FROM --platform=$BUILDPLATFORM node:22-alpine AS builder + +ARG NPM_REGISTRY=https://registry.npmjs.org/ +ARG NPM_REGISTRY_FALLBACK=https://registry.npmmirror.com/ + +WORKDIR /app +COPY package.json package-lock.json ./ +RUN set -eux; \ + npm config set registry "${NPM_REGISTRY}"; \ + npm config set fetch-retries 5; \ + npm config set fetch-retry-factor 2; \ + npm config set fetch-retry-mintimeout 10000; \ + npm config set fetch-retry-maxtimeout 120000; \ + npm config set audit false; \ + npm config set fund false; \ + if npm ci --ignore-scripts; then \ + exit 0; \ + fi; \ + echo "npm ci failed on ${NPM_REGISTRY}, retrying with ${NPM_REGISTRY_FALLBACK}"; \ + npm cache clean --force; \ + npm config set registry "${NPM_REGISTRY_FALLBACK}"; \ + npm ci --ignore-scripts +COPY . . +RUN node scripts/copy-material-icons.mjs +ENV VITE_API_BASE_URL=/api +RUN npm run build + +# ---- Stage 2: Caddy 运行时 ---- +FROM caddy:2-alpine + +# 前端静态文件 +COPY --from=builder /app/dist /srv + +# Caddy 配置(默认 + standalone) +COPY docker/Caddyfile /etc/caddy/Caddyfile +COPY docker/Caddyfile.standalone /etc/caddy/Caddyfile.standalone + +EXPOSE 3000 + +CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"] diff --git a/docker/Dockerfile.gateway b/docker/Dockerfile.gateway new file mode 100644 index 0000000..2959506 --- /dev/null +++ b/docker/Dockerfile.gateway @@ -0,0 +1,27 @@ +FROM rust:1.94-alpine AS router-builder + +RUN apk add --no-cache musl-dev + +WORKDIR /build + +COPY src-router/Cargo.toml src-router/Cargo.lock ./ +COPY src-router/src ./src + +RUN cargo build --release --locked + +FROM caddy:2-alpine + +RUN apk add --no-cache docker-cli + +WORKDIR /app + +COPY --from=router-builder /build/target/release/opencodeui-router /usr/local/bin/opencodeui-router +COPY docker/entrypoint-gateway.sh /app/entrypoint.sh +RUN chmod +x /app/entrypoint.sh +COPY docker/Caddyfile.gateway /etc/caddy/Caddyfile + +RUN touch /etc/caddy/routes.conf && touch /etc/caddy/preview.conf + +EXPOSE 6658 6659 + +CMD ["/app/entrypoint.sh"] diff --git a/docker/backend-entrypoint.sh b/docker/backend-entrypoint.sh new file mode 100644 index 0000000..b17f9e0 --- /dev/null +++ b/docker/backend-entrypoint.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash +set -eu + +ensure_mise() { + if command -v mise >/dev/null 2>&1; then + return + fi + + if [ -x /root/.local/bin/mise ]; then + rm -f /usr/local/bin/mise + cp /root/.local/bin/mise /usr/local/bin/mise + chmod +x /usr/local/bin/mise + return + fi + + curl -fsSL "${MISE_INSTALL_URL:-https://mise.run}" | sh + + MISE_BIN="$(find /root -name mise -type f 2>/dev/null | head -1)" + if [ -z "${MISE_BIN}" ]; then + echo "mise install failed: binary not found" >&2 + exit 1 + fi + + rm -f /usr/local/bin/mise + cp "${MISE_BIN}" /usr/local/bin/mise + chmod +x /usr/local/bin/mise +} + +ensure_opencode() { + if opencode --version >/dev/null 2>&1; then + return + fi + + OPENCODE_BIN="$(find /root -name opencode -type f 2>/dev/null | head -1)" + if [ -n "${OPENCODE_BIN}" ]; then + rm -f /usr/local/bin/opencode + cp "${OPENCODE_BIN}" /usr/local/bin/opencode + chmod +x /usr/local/bin/opencode + if opencode --version >/dev/null 2>&1; then + return + fi + fi + + curl -fsSL "${OPENCODE_INSTALL_URL:-https://opencode.ai/install}" | bash + + OPENCODE_BIN="$(find /root -name opencode -type f 2>/dev/null | head -1)" + if [ -z "${OPENCODE_BIN}" ]; then + echo "opencode install failed: binary not found" >&2 + exit 1 + fi + + rm -f /usr/local/bin/opencode + cp "${OPENCODE_BIN}" /usr/local/bin/opencode + chmod +x /usr/local/bin/opencode +} + +ensure_package_mirrors() { + mkdir -p /root/.config/pip + + if [ ! -f /root/.npmrc ]; then + cat > /root/.npmrc < /root/.config/pip/pip.conf </dev/null + wait "$ROUTER_PID" "$CADDY_PID" 2>/dev/null + exit 1 +} + +trap cleanup TERM INT + +opencodeui-router & +ROUTER_PID=$! + +caddy run --config /etc/caddy/Caddyfile & +CADDY_PID=$! + +# Wait for either process to exit, then tear down the other. +# `wait -n` is not available in busybox sh, so poll both. +while kill -0 "$ROUTER_PID" 2>/dev/null && kill -0 "$CADDY_PID" 2>/dev/null; do + wait -n "$ROUTER_PID" "$CADDY_PID" 2>/dev/null || sleep 1 +done + +echo "One of the processes exited, shutting down..." +cleanup diff --git a/docker/nginx.host.conf.example b/docker/nginx.host.conf.example new file mode 100644 index 0000000..9727e9c --- /dev/null +++ b/docker/nginx.host.conf.example @@ -0,0 +1,46 @@ +# ============================================ +# 物理机 Nginx 参考配置 +# ============================================ +# 放到 /etc/nginx/sites-enabled/ 下 +# 将域名请求代理到 Docker 容器 + +server { + listen 80; + server_name opencode.example.com; + + # 前端 + location / { + proxy_pass http://127.0.0.1:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # API 反向代理 + location /api/ { + proxy_pass http://127.0.0.1:4096/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + # SSE + proxy_set_header Connection ''; + proxy_buffering off; + proxy_cache off; + chunked_transfer_encoding off; + proxy_read_timeout 86400s; + proxy_send_timeout 86400s; + } + + # WebSocket(PTY 终端) + location /api/pty/ { + proxy_pass http://127.0.0.1:4096/pty/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_read_timeout 86400s; + } +} diff --git a/docs/superpowers/plans/2026-05-28-pi-agent-extension-migration.md b/docs/superpowers/plans/2026-05-28-pi-agent-extension-migration.md new file mode 100644 index 0000000..fb9540c --- /dev/null +++ b/docs/superpowers/plans/2026-05-28-pi-agent-extension-migration.md @@ -0,0 +1,845 @@ +# Pi Agent Extension Migration Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Migrate PiAgentUi from OpenCode to Pi Agent while preserving the current UI and interaction model. + +**Architecture:** Build a Pi package/extension as the primary integration. Pi loads `extensions/piagentui-server.ts`, which starts a loopback local server, serves the existing React build, and exposes an owned compatibility API shaped to the current frontend. Tauri/Rust desktop service cleanup is a second track after the Pi package MVP works. + +**Tech Stack:** React 19, Vite 8, TypeScript 5.9, Vitest, Tauri 2/Rust, Pi extension API (`@earendil-works/pi-coding-agent`), Node HTTP, SSE/WebSocket event streaming. + +--- + +## Decisions Required Before Implementation + +Default recommendations are listed; please confirm or override them before code changes. + +1. **MVP session model:** recommended = active Pi session mirror first. The UI controls the currently running Pi session; full session CRUD/fork/switch is deferred. +2. **Desktop/Tauri scope:** recommended = defer process spawning. Tauri can connect to an already-running Pi extension server later, but Track A must not depend on Tauri. +3. **Unsupported features:** recommended = disable/stub PTY, MCP, LSP, provider OAuth, worktrees, and multi-session operations until Pi equivalents are verified. +4. **Token/bootstrap:** recommended = same-origin injected boot data in HTML served by the extension; bearer token stays in memory, never query strings/localStorage. +5. **Endpoint convention:** recommended = keep OpenCode-shaped endpoint paths/envelopes where the current frontend already expects them, then gradually move wrappers to owned names internally. +6. **Product name:** needs user decision. Options: `PiAgentUi`, `Pi Agent UI`, or another exact name. + +Implementation should not begin until these are confirmed. + +--- + +## Non-Negotiable Scope + +- No UI redesign. +- No `/hud` command. +- No `Ctrl+Shift+H` HUD toggle. +- Remove OpenCode runtime usage completely by final migration. +- Remove `@opencode-ai/sdk` by final migration. +- Reuse user Pi settings/auth/model setup; do not collect provider credentials in PiAgentUi. +- Use `better-tau/extensions/mirror-server.ts` as the main reference for a Pi extension serving HTTP/WebSocket from inside Pi. +- Current known `better-tau` unrelated changes must not be touched: `.gitignore`, `extensions/helper-bridge.ts`, `extensions/helper/`. + +--- + +## Core Corrections from Critical Review + +- **Do not conflate Pi package and Tauri app.** Track A is Pi package/extension; Track B is desktop cleanup. +- **Do not flatten message DTOs.** Current UI expects `MessageWithParts { info, parts }`, and many callsites read `message.info.*`. +- **Do not emit raw event envelopes unless `events.ts` is rewritten first.** Current frontend accepts `{ directory, payload: { type, properties } }` from `/global/event`. +- **Use actual Pi lifecycle events.** The shutdown event is `session_shutdown`, not `session_end`. +- **Typecheck extension files.** Existing `tsc -b` does not include `extensions/**/*.ts`. +- **Resolve token bootstrap early.** The UI cannot call protected APIs unless it receives base URL/token safely. +- **Treat `pi.sendUserMessage(...)` as asynchronous fire-and-stream.** It should return `202 accepted`; real message IDs arrive through events. + +--- + +## File/Module Responsibility Map + +### New files + +- `extensions/piagentui-server.ts` + - Pi extension entrypoint. + - Starts loopback HTTP/SSE/WS server. + - Serves built `dist/` assets. + - Injects safe runtime boot data into `index.html`. + - Bridges Pi session lifecycle and messages to current frontend-compatible events. + +- `extensions/piagentui-server-core.ts` + - Pure helpers for testable server behavior: loopback validation, auth validation, body-size guard, path traversal prevention, event envelope helpers. + +- `extensions/piagentui-server-core.test.ts` + - Unit tests for server security helpers. + +- `tsconfig.extension.json` + - TypeScript project for extension files and extension tests/helpers. + +- `src/api/piClient.ts` + - Typed fetch client replacing SDK usage. + - Sends local bearer auth in headers only. + - Normalizes typed errors. + +- `src/api/piClient.test.ts` + - Request/auth/error behavior tests. + +- `src/types/api/compat.ts` + - Owned compatibility DTOs shaped for current UI. + +- `src/api/piContract.ts` + - Owned request/response contracts and current event envelope definitions. + +- `src/api/piEventTranslator.test.ts` + - Contract tests for frontend event processing. + +- `docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md` + - Design spec, endpoint matrix, unsupported features, security, acceptance criteria. + +### Modified files + +- `package.json` + - Add `pi.extensions`. + - Add package metadata needed for Pi package usage. + - Add extension typecheck script. + - Add/remove dependencies in the correct sequence. + - Remove `@opencode-ai/sdk` when no imports remain. + +- `tsconfig.json` + - Include `tsconfig.extension.json` in references. + +- `vite.config.ts` + - Remove OpenCode dev proxy when API layer no longer uses OpenCode server. + - Add Pi extension dev proxy only if chosen. + +- `src/constants/api.ts`, `src/api/http.ts`, `src/store/serverStore.ts` + - Convert from OpenCode server/basic-auth concepts to PiAgentUi local server boot/connection state. + - No provider credential storage. + +- `src/api/sdk.ts` + - Delete after all imports are removed, or temporarily replace with a non-SDK compatibility facade. + +- `src/api/*.ts` + - Replace SDK calls with owned client calls or unsupported-feature stubs. + - Files likely in scope: `agent.ts`, `client.ts`, `command.ts`, `config.ts`, `file.ts`, `global.ts`, `lsp.ts`, `mcp.ts`, `message.ts`, `permission.ts`, `pty.ts`, `session.ts`, `skill.ts`, `todo.ts`, `tool.ts`, `vcs.ts`, `worktree.ts`. + +- `src/types/api/*.ts` + - Replace SDK-derived type aliases with owned DTOs or explicit unsupported types. + - Files likely in scope: `agent.ts`, `common.ts`, `config.ts`, `event.ts`, `file.ts`, `mcp.ts`, `message.ts`, `model.ts`, `permission.ts`, `project.ts`, `pty.ts`, `session.ts`, `skill.ts`, `tool.ts`, `vcs.ts`, `worktree.ts`. + +- `src/main.tsx`, `src/features/settings/components/ServiceSettings.tsx`, `src/hooks/useCloseServiceDialog.ts`, `src/store/serviceStore.ts` + - Track A: ensure OpenCode auto-start does not run while Pi extension mode is active. + - Track B: rename desktop service integration. + +- `src-tauri/src/app/commands/opencode.rs`, `src-tauri/src/app/commands/mod.rs`, `src-tauri/src/app/mod.rs` + - Track B only: rename commands and remove OpenCode process management. + +- `src-tauri/src/app/bridge/args.rs`, `src-tauri/src/app/commands/bridge.rs` + - Track B only: enforce loopback URL allowlist in Rust bridge. + +- `src-tauri/capabilities/default.json`, `src-tauri/tauri.conf.json`, `src-tauri/Cargo.toml` + - Track B only: remove OpenCode branding and tighten security. + +--- + +## Compatibility Contract + +### DTO shape must match current UI + +Current UI expects message shape similar to: + +```ts +export interface MessageWithParts { + info: Message + parts: Part[] +} +``` + +Therefore owned DTOs must preserve this shape first, then adapt internally: + +```ts +export interface CompatMessageInfo { + id: string + sessionID: string + role: 'user' | 'assistant' + time?: { created?: number; completed?: number } + summary?: string + modelID?: string + providerID?: string +} + +export interface CompatMessageWithParts { + info: CompatMessageInfo + parts: CompatPart[] +} + +export type CompatPart = + | CompatTextPart + | CompatReasoningPart + | CompatToolPart + | CompatFilePart + | CompatStepStartPart + | CompatStepFinishPart + | CompatUnsupportedPart + +export interface CompatTextPart { + id: string + sessionID: string + messageID: string + type: 'text' + text: string +} + +export interface CompatReasoningPart { + id: string + sessionID: string + messageID: string + type: 'reasoning' + text: string +} + +export interface CompatToolPart { + id: string + sessionID: string + messageID: string + type: 'tool' + tool: string + state: { status: 'pending' | 'running' | 'completed' | 'error'; input?: unknown; output?: unknown; error?: string } +} + +export interface CompatFilePart { + id: string + sessionID: string + messageID: string + type: 'file' + mime?: string + filename?: string + url?: string +} + +export interface CompatStepStartPart { + id: string + sessionID: string + messageID: string + type: 'step-start' +} + +export interface CompatStepFinishPart { + id: string + sessionID: string + messageID: string + type: 'step-finish' +} + +export interface CompatUnsupportedPart { + id: string + sessionID: string + messageID: string + type: 'unsupported' + label: string + data?: unknown +} +``` + +Exact fields must be finalized by a field inventory before implementation. + +### Event envelope must match current frontend first + +Current `src/api/events.ts` expects: + +```ts +export interface CompatGlobalEvent { + directory?: string + payload: { + type: string + properties: unknown + } +} +``` + +For MVP, the extension should emit this envelope on the current path or the frontend parser must be rewritten before server events are implemented. + +Recommended MVP: keep `/global/event` and OpenCode-style event names already handled by the UI: + +- `server.connected` +- `session.updated` +- `session.status` +- `session.idle` +- `session.error` +- `message.updated` +- `message.part.updated` +- `message.part.delta` +- `message.part.removed` +- `permission.asked` only if mapped; otherwise unsupported notification +- `question.asked` only if mapped; otherwise unsupported notification + +For text deltas, current store expects payload shape compatible with its `PartDeltaPayload`, including `sessionID`, `messageID`, `partID`, `field`, and `delta`. + +### Send message contract + +Current frontend send params include: + +```ts +interface SendMessageParams { + sessionId: string + text: string + attachments: Attachment[] + model: { providerID: string; modelID: string } + agent?: string + variant?: string + directory?: string +} +``` + +MVP behavior: + +- `text`: supported. +- `directory`: supported only as metadata/active project hint if Pi context allows it. +- `model`: support only if Pi allows model switch before send; otherwise ignore with warning event or reject with unsupported error. +- `attachments`: defer unless image/file input mapping is verified. +- `agent`, `variant`: defer unless Pi equivalent is verified. +- response: `202 accepted` plus optional synthetic client request ID; real assistant message ID is learned from events. + +--- + +## Endpoint Coverage Matrix + +### MVP supported + +| Capability | Existing frontend area | Compatibility path | Backend source | +| ----------------------- | --------------------------------- | ---------------------------------------------------- | ------------------------------------- | +| Health | `serverStore`, `client.ts` | `/global/health` or current health path | extension runtime state | +| Event stream | `events.ts` | `/global/event` | Pi extension lifecycle/events | +| Active models | `client.ts`, model hooks | wrapper-owned endpoint, final path decided in Task 1 | Pi model registry/settings | +| Active session snapshot | `session.ts`, stores | wrapper-owned endpoint, OpenCode-shaped response | active Pi context/session mirror | +| Send message | `message.ts`, `useChatSession.ts` | wrapper-owned endpoint | `pi.sendUserMessage(...)` | +| Abort turn | message/session controls | wrapper-owned endpoint | current Pi context abort if available | +| Static assets | browser/webview | `/`, `/assets/*` | extension static server | + +### Explicitly unsupported/deferred for MVP + +- PTY terminal sessions. +- MCP management. +- LSP diagnostics endpoints. +- Provider OAuth/login. +- Full multi-session create/fork/switch/delete. +- Worktrees. +- VCS operations unless trivially provided by current UI independent of OpenCode. +- Permission/question flows unless Pi extension UI/RPC gives equivalent semantics. +- Share/export unless Pi exposes safe API from extension context. +- Config, project, agent, skill, todo, tool, file APIs that currently depend on OpenCode SDK. + +Every deferred feature must return a typed unsupported error and must not call an OpenCode endpoint. + +--- + +## Security Contract + +Required for Track A: + +- Bind only to `127.0.0.1` and optionally `::1`. +- Use OS-selected random high port by default. +- Generate per-run bearer token. +- Bootstrap token via same-origin injected boot data in served HTML, unless user chooses another mechanism. +- Keep bearer token in memory/session only; do not store it in `localStorage` or settings backups. +- Reject API and stream requests without `Authorization: Bearer `. +- For browser-native SSE/WS where custom headers are constrained, prefer same-origin cookie/header strategy from extension-served page; do not put token in query strings or userinfo URLs. +- Validate `Host` and `Origin`. +- No wildcard CORS. +- Limit request body and WS frame sizes. +- Reject static path traversal. +- Never send provider API keys/OAuth tokens to browser. +- Never log local bearer token, provider secrets, or prompts by default. +- Close HTTP server and sockets on `session_shutdown`. + +Required for Track B if touched: + +- Rust bridge must validate URLs server-side, not only via Tauri capabilities. +- Allow only `http://127.0.0.1:*`, `http://localhost:*`, `ws://127.0.0.1:*`, `ws://localhost:*` as appropriate. +- Reject userinfo URLs, LAN IPs, non-loopback hosts, and external HTTPS URLs. +- Narrow `src-tauri/capabilities/default.json` from broad `http://**` / `https://**` to loopback-only. +- Reintroduce CSP instead of `csp: null` if compatible with current app. + +--- + +## Validation Contract + +Run during implementation milestones: + +```bash +cd PiAgentUi +npm run typecheck +npm run lint +npm run test:run +npm run build +``` + +After extension tsconfig is added: + +```bash +cd PiAgentUi +npm run typecheck:extensions +``` + +If Track B is touched: + +```bash +cd PiAgentUi/src-tauri +cargo test +``` + +OpenCode cleanup check must use an allowlist because docs may mention migration history: + +```bash +cd PiAgentUi +rg -n "@opencode-ai/sdk|getSDKClient|unwrap\(|opencode serve|OpenCode|opencode" src src-tauri extensions package.json vite.config.ts +``` + +Expected final runtime result: + +- no `@opencode-ai/sdk` imports; +- no `opencode serve` launcher; +- no OpenCode user-facing app title; +- only temporary deprecated aliases if Track B explicitly keeps them for one release. + +Pi package smoke: + +```bash +cd PiAgentUi +npm run build +npm pack --dry-run +``` + +Then install/load the package in Pi using the local package workflow chosen for this repo and verify: + +1. Pi loads the extension. +2. Extension serves the UI. +3. UI receives boot data. +4. UI sends a message to current Pi session. +5. Assistant response streams into existing chat UI. +6. Refresh/reconnect recovers current snapshot. +7. Invalid HTTP/SSE/WS auth is rejected. + +--- + +## Implementation Tasks + +### Task 1: Confirm Decisions and Write Design Spec + +**Files:** + +- Create: `docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md` + +- [ ] Confirm all decisions in “Decisions Required Before Implementation”. +- [ ] Write the design spec with: MVP, non-goals, endpoint matrix, DTO/event contract, security contract, validation contract, unsupported-feature behavior, Track A/Track B split. +- [ ] Include exact better-tau reference: `D:/Documents/Github/PiAgentUI/better-tau/extensions/mirror-server.ts`. +- [ ] Run: + +```bash +cd PiAgentUi +npm run typecheck +``` + +Expected: unchanged project still typechecks before migration starts. + +### Task 2: Inventory Current Frontend API Fields and SDK Coupling + +**Files:** + +- Create: `docs/superpowers/specs/2026-05-28-pi-agent-ui-field-inventory.md` + +- [ ] Run: + +```bash +cd PiAgentUi +rg -n "@opencode-ai/sdk|getSDKClient|unwrap\(|from './sdk'|from '../api/sdk'|Client\[|SDK[A-Za-z]" src +``` + +- [ ] Inventory all files importing SDK-derived types or `getSDKClient`. +- [ ] Inventory consumed fields for: + - `Session` + - `MessageWithParts` + - `Message.info` + - every `Part` variant rendered by components/stores + - `GlobalEvent` + - `PartDeltaPayload` + - `SendMessageParams` +- [ ] Mark each API module as: supported, stubbed, hidden, or deferred. +- [ ] Do not edit runtime code in this task. + +### Task 3: Add Owned Compatibility Types Without Breaking UI Shape + +**Files:** + +- Create: `src/types/api/compat.ts` +- Create: `src/api/piContract.ts` +- Modify: `src/types/api/message.ts`, `src/types/api/event.ts`, `src/types/api/session.ts` only after inventory confirms exact fields. + +- [ ] Add owned compatibility DTOs preserving current UI shape. +- [ ] Replace SDK aliases gradually with owned DTO aliases that match current field names. +- [ ] Do not flatten `MessageWithParts`. +- [ ] Keep `GlobalEvent` envelope compatible with current `events.ts` unless rewriting `events.ts` in the same task. +- [ ] Run: + +```bash +cd PiAgentUi +npm run typecheck +npm run test:run -- src/store/messageStore.test.ts src/api/events.test.ts src/hooks/useChatSession.test.tsx +``` + +Expected: failures only from intentional type differences fixed before proceeding. + +### Task 4: Add Extension Typecheck and Package Metadata + +**Files:** + +- Create: `tsconfig.extension.json` +- Modify: `tsconfig.json` +- Modify: `package.json` + +- [ ] Add `tsconfig.extension.json` including `extensions/**/*.ts`. +- [ ] Add script: + +```json +"typecheck:extensions": "tsc -p tsconfig.extension.json --noEmit" +``` + +- [ ] Include `typecheck:extensions` in `validate` after extension files exist. +- [ ] Add Pi package metadata: + +```json +"pi": { + "extensions": ["./extensions/piagentui-server.ts"] +} +``` + +- [ ] Add package contents/prepack strategy so `dist/` and `extensions/` are included when packed/installed. +- [ ] Decide dependency strategy for `@earendil-works/pi-coding-agent`: + - runtime should be supplied by Pi package loader if supported; + - local typecheck still needs a devDependency or path-compatible type resolution. +- [ ] Run: + +```bash +cd PiAgentUi +npm run typecheck +npm run typecheck:extensions +npm pack --dry-run +``` + +### Task 5: Implement Extension Server Core Helpers and Tests + +**Files:** + +- Create: `extensions/piagentui-server-core.ts` +- Create: `extensions/piagentui-server-core.test.ts` + +- [ ] Write tests first for: + - loopback host accepted; + - LAN/external host rejected; + - userinfo URL rejected; + - malformed auth rejected; + - valid bearer auth accepted; + - Origin/Host mismatch rejected; + - static path traversal rejected; + - body-size guard rejects oversized body; + - boot data injection does not put token in URL. + +Use test token construction that is obviously fake and not a credential: + +```ts +const sampleToken = ['test', 'token', 'value'].join('-') +``` + +- [ ] Implement pure helpers to pass tests. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run -- extensions/piagentui-server-core.test.ts +npm run typecheck:extensions +``` + +### Task 6: Implement Pi Extension Server Skeleton + +**Files:** + +- Create: `extensions/piagentui-server.ts` +- Modify: extension tests/helpers as needed + +- [ ] Implement extension entrypoint importing `ExtensionAPI` from `@earendil-works/pi-coding-agent`. +- [ ] Start server on `session_start` or the earliest correct lifecycle event. +- [ ] Cleanup on `session_shutdown`. +- [ ] Bind loopback on random high port. +- [ ] Serve `dist/index.html`, injecting boot data same-origin. +- [ ] Serve `/assets/*` safely. +- [ ] Implement authenticated health endpoint compatible with frontend/serverStore path decision. +- [ ] Run: + +```bash +cd PiAgentUi +npm run typecheck:extensions +npm run build +npm pack --dry-run +``` + +### Task 7: Replace Basic Auth Server Store with Pi Local Boot State + +**Files:** + +- Modify: `src/store/serverStore.ts` +- Modify: `src/store/serverStore.test.ts` +- Modify: `src/api/http.ts` +- Modify: `src/constants/api.ts` + +- [ ] Remove provider/server password persistence from active Pi mode. +- [ ] Store only base URL and in-memory/session-scoped local token. +- [ ] Add migration tests proving old Basic auth/password values are not exported in backups after migration. +- [ ] Ensure auth headers use bearer token and never query strings. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run -- src/store/serverStore.test.ts src/api/http.test.ts +npm run typecheck +``` + +### Task 8: Add `piClient` and Replace SDK Wrapper Entry Points + +**Files:** + +- Create: `src/api/piClient.ts` +- Create: `src/api/piClient.test.ts` +- Modify: `src/api/client.ts` +- Modify: `src/api/session.ts` +- Modify: `src/api/message.ts` + +- [ ] Write `piClient` tests for bearer headers, no token in URL, JSON errors, base URL normalization. +- [ ] Implement `get`, `post`, `delete`, and stream helper if needed. +- [ ] Replace model/session/message wrappers first because they are MVP-supported. +- [ ] Preserve existing exported function names consumed by hooks/components. +- [ ] For send message, return accepted state if Pi returns no message ID; rely on events for message updates. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run -- src/api/piClient.test.ts src/hooks/useSessions.test.tsx src/hooks/useChatSession.test.tsx src/hooks/useModelSelection.test.tsx +npm run typecheck +``` + +### Task 9: Implement Pi Event Translation Compatible with Existing `events.ts` + +**Files:** + +- Modify: `extensions/piagentui-server.ts` +- Create: `src/api/piEventTranslator.test.ts` +- Modify: `src/api/events.ts` only if necessary and covered by tests. + +- [ ] Add tests for the current envelope `{ directory, payload: { type, properties } }`. +- [ ] Add tests for `message.part.delta` shape expected by `messageStore`. +- [ ] Map Pi events to existing frontend events: + - turn start -> `session.status` running; + - turn end -> `session.idle` or `session.status` idle; + - message update -> `message.updated`; + - part delta/update -> `message.part.delta` / `message.part.updated`; + - tool events -> tool part updates; + - errors -> `session.error`. +- [ ] Add initial snapshot event on connect. +- [ ] Add reconnect behavior using existing generation/snapshot logic. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run -- src/api/events.test.ts src/api/sse.test.ts src/api/piEventTranslator.test.ts src/store/messageStore.test.ts +npm run typecheck +``` + +### Task 10: Gate or Stub All Unsupported OpenCode-Only Features + +**Files:** + +- Modify: remaining `src/api/*.ts` +- Modify: affected hooks/components only when they crash on unsupported errors. + +- [ ] Run: + +```bash +cd PiAgentUi +rg -n "getSDKClient|unwrap\(|@opencode-ai/sdk|opencode|OpenCode" src +``` + +- [ ] For every remaining API module, implement one of: + - supported Pi-backed wrapper; + - typed unsupported error; + - hidden/disabled UI action with existing notification style. +- [ ] Cover at least: + - `agent.ts` + - `command.ts` + - `config.ts` + - `file.ts` + - `global.ts` + - `lsp.ts` + - `mcp.ts` + - `permission.ts` + - `pty.ts` + - `skill.ts` + - `todo.ts` + - `tool.ts` + - `vcs.ts` + - `worktree.ts` +- [ ] Ensure `pty.ts` never embeds credentials/tokens in URLs. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run +npm run typecheck +``` + +### Task 11: Prevent OpenCode Auto-Start in Pi Extension Mode + +**Files:** + +- Modify: `src/main.tsx` +- Modify: `src/store/serviceStore.ts` +- Modify: `src/features/settings/components/ServiceSettings.tsx` +- Modify: `src/hooks/useCloseServiceDialog.ts` + +- [ ] Detect Pi extension mode from boot data. +- [ ] In Pi extension mode, do not auto-start `opencode serve`. +- [ ] Hide/disable OpenCode service settings without changing layout structure more than necessary. +- [ ] Do not rename desktop commands yet unless Track B is approved. +- [ ] Run: + +```bash +cd PiAgentUi +npm run test:run -- src/store/serviceStore.test.ts src/utils/settingsBackup.test.ts +npm run typecheck +``` + +### Task 12: Remove `@opencode-ai/sdk` and SDK Facade + +**Files:** + +- Modify: `package.json`, lockfile if present +- Delete or rewrite: `src/api/sdk.ts` +- Modify: tests that mock SDK + +- [ ] Confirm no imports remain: + +```bash +cd PiAgentUi +rg -n "@opencode-ai/sdk|getSDKClient|unwrap\(" src +``` + +- [ ] Remove dependency using the repo's package manager: + +```bash +cd PiAgentUi +npm uninstall @opencode-ai/sdk +``` + +If package manager/lockfile state is unclear, stop and ask. + +- [ ] Delete `src/api/sdk.ts` if unused. +- [ ] Update tests to mock `piClient` or API wrappers instead of SDK. +- [ ] Run: + +```bash +cd PiAgentUi +npm run validate +npm run typecheck:extensions +``` + +### Task 13: Track B — Tauri Desktop Cleanup and Security Hardening + +Only start after Track A smoke passes and user approves desktop scope. + +**Files:** + +- Rename: `src-tauri/src/app/commands/opencode.rs` -> `src-tauri/src/app/commands/pi_agent.rs` +- Modify: `src-tauri/src/app/commands/mod.rs` +- Modify: `src-tauri/src/app/mod.rs` +- Modify: `src-tauri/src/app/bridge/args.rs` +- Modify: `src-tauri/src/app/commands/bridge.rs` +- Modify: `src/store/serviceStore.ts` +- Modify: `src-tauri/capabilities/default.json` +- Modify: `src-tauri/tauri.conf.json` +- Modify: `src-tauri/Cargo.toml` + +- [ ] Decide desktop behavior: connect to existing Pi extension server, spawn `pi --mode rpc`, or defer. +- [ ] Rename service commands to Pi names if desktop remains. +- [ ] Keep old command aliases for one transition release only if required by existing frontend code. +- [ ] Migrate storage keys: + - `opencode-auto-start-service` -> `pi-agent-auto-start-service` + - `opencode-binary-path` -> `pi-agent-binary-path` + - `opencode-service-env-vars` -> `pi-agent-service-env-vars` +- [ ] Add Rust-side URL allowlist tests for bridge connect/send paths. +- [ ] Narrow Tauri HTTP permissions to loopback-only. +- [ ] Reintroduce CSP if compatible. +- [ ] Run: + +```bash +cd PiAgentUi +npm run typecheck +npm run test:run +cd src-tauri +cargo test +``` + +### Task 14: Final Product Metadata and OpenCode Cleanup + +**Files:** + +- Modify: `package.json` +- Modify: `src-tauri/Cargo.toml` +- Modify: `src-tauri/tauri.conf.json` +- Modify: README/docs/user-facing strings + +- [ ] Apply user-approved final product name. +- [ ] Update package name/description. +- [ ] Update Tauri product name/window title/identifier if Track B is in scope. +- [ ] Remove OpenCode user-facing strings. +- [ ] Run allowlisted grep: + +```bash +cd PiAgentUi +rg -n "@opencode-ai/sdk|getSDKClient|unwrap\(|opencode serve|OpenCode|opencode" src src-tauri extensions package.json vite.config.ts README.md +``` + +Expected: no runtime/user-facing OpenCode references except approved temporary aliases. + +- [ ] Run full validation: + +```bash +cd PiAgentUi +npm run validate +npm run typecheck:extensions +npm run build +npm pack --dry-run +``` + +If Track B is in scope: + +```bash +cd PiAgentUi/src-tauri +cargo test +``` + +--- + +## Review Checklist for Implementation Milestones + +After Tasks 6, 9, 12, and 13, run a critical review pass before continuing: + +- Correctness/regression review against this plan. +- Test coverage and validation review. +- Security review for local HTTP/SSE/WS, token handling, and Tauri bridge if touched. +- Simplicity review to catch unnecessary OpenCode compatibility that can be deleted. + +The reviewer output should be synthesized before any fixes are applied. Apply fixes with one writer only. + +--- + +## Current Recommended Milestone Split + +1. **Milestone 1:** decisions + design spec + field inventory. +2. **Milestone 2:** owned DTOs + extension typecheck/package metadata. +3. **Milestone 3:** secure extension server skeleton + boot data. +4. **Milestone 4:** model/session/message wrappers + event streaming. +5. **Milestone 5:** unsupported feature gating + SDK removal. +6. **Milestone 6:** Pi package smoke and final OpenCode cleanup. +7. **Milestone 7:** optional Tauri desktop cleanup/hardening. diff --git a/docs/superpowers/plans/2026-05-30-piagentui-active-session-switch.md b/docs/superpowers/plans/2026-05-30-piagentui-active-session-switch.md new file mode 100644 index 0000000..d83db2e --- /dev/null +++ b/docs/superpowers/plans/2026-05-30-piagentui-active-session-switch.md @@ -0,0 +1,531 @@ +# Plano de Implementação — Troca Correta de Sessões no PiAgentUI + +> **Para agentes executores:** SUB-SKILL OBRIGATÓRIA: use `superpowers:subagent-driven-development` (recomendado) ou `superpowers:executing-plans` para implementar este plano tarefa por tarefa. Os passos usam checkbox (`- [ ]`) para acompanhamento. + +**Objetivo:** garantir que uma mensagem enviada no front para a sessão B seja enviada para a sessão real B do Pi, nunca para a sessão que estava ativa quando o Pi abriu. + +**Arquitetura:** o backend da extensão PiAgentUI será autoritativo para roteamento de mensagens. Antes de chamar `sendUserMessage`, ele compara `parsed.sessionId` com a sessão real ativa; se divergir, resolve o arquivo `.jsonl`, troca a sessão real do Pi com `switchSession`, e envia dentro do `withSession(replacedCtx)`. + +**Tech Stack:** TypeScript, extensão Pi (`ExtensionContext` / `ReplacedSessionContext`), HTTP local Node, Vitest, React frontend sem mudança estrutural. + +--- + +## Estrutura de arquivos + +- Modificar: `../pi/packages/coding-agent/src/core/extensions/types.ts` + - Adicionar `switchSession()` em `ExtensionContext`. +- Modificar: `../pi/packages/coding-agent/src/core/extensions/runner.ts` + - Expor `switchSession` também em `createContext()` usando o handler já existente. +- Modificar: `../pi/packages/coding-agent/dist/core/extensions/types.d.ts` + - Atualizar declaração usada pelo typecheck da extensão, caso o build do Pi não regenere dist durante a sessão. +- Modificar: `PiAgentUi/extensions/piagentui-server.ts` + - Resolver arquivo da sessão por ID. + - Enviar mensagem para sessão solicitada com `switchSession(..., { withSession })`. + - Preservar servidor HTTP/SSE em `session_shutdown` causado por `resume` web-iniciado. +- Modificar: `PiAgentUi/extensions/piagentui-server.test.ts` + - Cobrir envio para sessão ativa, envio para sessão diferente, sessão inexistente e switch cancelado. +- Modificar: `PiAgentUi/src/api/message.ts` + - Garantir que erro HTTP de envio não seja engolido; `sendMessageAsync()` já envia `sessionId`. +- Modificar opcionalmente: `PiAgentUi/src/hooks/useChatSession.ts` + - Se necessário, manter erro visível via `handleError('send message', error)` sem mudar UX. + +--- + +## Tarefa 1: Expor switchSession no contexto normal da extensão Pi + +**Arquivos:** +- Modificar: `../pi/packages/coding-agent/src/core/extensions/types.ts` +- Modificar: `../pi/packages/coding-agent/src/core/extensions/runner.ts` +- Modificar: `../pi/packages/coding-agent/dist/core/extensions/types.d.ts` + +- [ ] **Passo 1: Atualizar o contrato TypeScript do `ExtensionContext`** + +Em `../pi/packages/coding-agent/src/core/extensions/types.ts`, dentro de `export interface ExtensionContext`, adicionar logo após `compact(options?: CompactOptions): void;`: + +```ts + /** + * Switch to a different session file from long-lived extension services. + * Use `withSession` for work that must run after the replacement context is active. + */ + switchSession( + sessionPath: string, + options?: { withSession?: (ctx: ReplacedSessionContext) => Promise }, + ): Promise<{ cancelled: boolean }>; +``` + +- [ ] **Passo 2: Expor o método no contexto criado pelo runner** + +Em `../pi/packages/coding-agent/src/core/extensions/runner.ts`, dentro de `createContext(): ExtensionContext`, adicionar antes de `getSystemPrompt: () => {`: + +```ts + switchSession: (sessionPath, options) => { + runner.assertActive(); + return runner.switchSessionHandler(sessionPath, options); + }, +``` + +O trecho final deve ficar assim: + +```ts + compact: (options) => { + runner.assertActive(); + runner.compactFn(options); + }, + switchSession: (sessionPath, options) => { + runner.assertActive(); + return runner.switchSessionHandler(sessionPath, options); + }, + getSystemPrompt: () => { + runner.assertActive(); + return runner.getSystemPromptFn(); + }, +``` + +- [ ] **Passo 3: Atualizar a declaração dist se o build do Pi não for executado** + +Em `../pi/packages/coding-agent/dist/core/extensions/types.d.ts`, adicionar assinatura equivalente dentro de `ExtensionContext`: + +```ts + /** + * Switch to a different session file from long-lived extension services. + * Use `withSession` for work that must run after the replacement context is active. + */ + switchSession(sessionPath: string, options?: { + withSession?: (ctx: ReplacedSessionContext) => Promise; + }): Promise<{ + cancelled: boolean; + }>; +``` + +- [ ] **Passo 4: Verificar tipos do Pi core** + +Executar: + +```bash +cd D:/Documents/Github/PiAgentUI/pi/packages/coding-agent +pnpm test -- --runInBand test/suite/regressions/2860-replaced-session-context.test.ts +``` + +Se esse pacote não usa `pnpm test` com esse formato, executar o comando de teste já documentado no pacote. Resultado esperado: testes existentes passam sem erro de tipo. Se o comando correto não existir, registrar a saída e seguir para o typecheck do PiAgentUI na Tarefa 4. + +--- + +## Tarefa 2: Roteamento de mensagem por sessão no servidor PiAgentUI + +**Arquivos:** +- Modificar: `PiAgentUi/extensions/piagentui-server.ts` + +- [ ] **Passo 1: Adicionar tipo local para contexto com switch** + +Abaixo de `const MIME_TYPES`, adicionar: + +```ts +type SwitchableExtensionContext = ExtensionContext & { + switchSession?: ( + sessionPath: string, + options?: { withSession?: (ctx: any) => Promise }, + ) => Promise<{ cancelled: boolean }> +} +``` + +- [ ] **Passo 2: Trocar o tipo de `latestCtx`** + +Substituir: + +```ts + let latestCtx: ExtensionContext | null = null +``` + +por: + +```ts + let latestCtx: SwitchableExtensionContext | null = null +``` + +- [ ] **Passo 3: Criar helper de arquivo de sessão** + +Adicionar depois de `getCurrentSessionId()`: + +```ts + function getSessionFileForId(sessionId: string): string | null { + const sessionDir = latestCtx?.sessionManager?.getSessionDir() + if (!sessionDir || !fs.existsSync(sessionDir)) return null + + const files = fs.readdirSync(sessionDir).filter(f => f.endsWith('.jsonl')) + const matchedFile = files.find(f => f.endsWith(`_${sessionId}.jsonl`)) + return matchedFile ? path.join(sessionDir, matchedFile) : null + } +``` + +- [ ] **Passo 4: Extrair seleção de modelo para helper reutilizável** + +Adicionar depois de `getSessionFileForId()`: + +```ts + async function setRequestedModel(ctx: SwitchableExtensionContext, model: any) { + if (!model?.providerID || !model?.modelID) return + + try { + const targetModel = ctx.modelRegistry?.find(model.providerID, model.modelID) + if (!targetModel) return + + const currentModel = ctx.model + if (!currentModel || currentModel.id !== targetModel.id || currentModel.provider !== targetModel.provider) { + console.log(`[PiAgentUi] Switching session model to ${targetModel.provider}:${targetModel.id}`) + await pi.setModel(targetModel) + } + } catch (err) { + console.error('[PiAgentUi] Failed to set model:', err) + } + } +``` + +- [ ] **Passo 5: Adicionar flag para preservar servidor durante switch web-iniciado** + +Perto dos estados do servidor, adicionar: + +```ts + let preserveServerForSessionSwitch = false +``` + +- [ ] **Passo 6: Criar helper de envio correto por sessão** + +Adicionar depois de `setRequestedModel()`: + +```ts + async function sendUserMessageToRequestedSession(parsed: any): Promise<{ status: number; body: any }> { + const requestedSessionId = parsed.sessionId + const activeSessionId = getCurrentSessionId() + + if (!parsed.text) { + return { status: 400, body: { error: 'Missing message text' } } + } + + if (!requestedSessionId || requestedSessionId === activeSessionId) { + if (latestCtx) { + await setRequestedModel(latestCtx, parsed.model) + } + const p = pi.sendUserMessage(parsed.text) as any + if (p && typeof p.catch === 'function') { + p.catch((err: any) => { + console.error('[PiAgentUi] Failed to send user message:', err) + }) + } + return { status: 202, body: { sessionID: activeSessionId } } + } + + const sessionFile = getSessionFileForId(requestedSessionId) + if (!sessionFile) { + return { status: 404, body: { error: `Session not found: ${requestedSessionId}` } } + } + + if (!latestCtx?.switchSession) { + return { status: 501, body: { error: 'Pi session switching is not available in this runtime' } } + } + + preserveServerForSessionSwitch = true + try { + const result = await latestCtx.switchSession(sessionFile, { + withSession: async replacedCtx => { + latestCtx = replacedCtx as SwitchableExtensionContext + await setRequestedModel(latestCtx, parsed.model) + await replacedCtx.sendUserMessage(parsed.text) + }, + }) + + if (result.cancelled) { + return { status: 409, body: { error: 'Session switch cancelled' } } + } + + return { status: 202, body: { sessionID: requestedSessionId } } + } finally { + preserveServerForSessionSwitch = false + } + } +``` + +- [ ] **Passo 7: Substituir lógica atual de `/api/messages/send`** + +Dentro do handler `if (pathParts[1] === 'messages' && pathParts[2] === 'send' && method === 'POST')`, substituir o bloco que faz `setModel`, calcula `activeSessionId`, alerta divergência e chama `pi.sendUserMessage(parsed.text)` por: + +```ts + const result = await sendUserMessageToRequestedSession(parsed) + res.writeHead(result.status, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + messageID: 'msg-' + Math.random().toString(36).substring(2) + '-' + Date.now(), + ...result.body, + }), + ) +``` + +O `catch` do `JSON.parse` permanece igual. + +- [ ] **Passo 8: Preservar servidor em `session_shutdown` de switch interno** + +Substituir: + +```ts + pi.on('session_shutdown', async () => { + stopServer() + }) +``` + +por: + +```ts + pi.on('session_shutdown', async event => { + if (preserveServerForSessionSwitch && event?.reason === 'resume') { + return + } + stopServer() + }) +``` + +- [ ] **Passo 9: Verificar typecheck da extensão** + +Executar: + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npx tsc --noEmit -p tsconfig.extension.json +``` + +Resultado esperado: nenhum erro. + +--- + +## Tarefa 3: Testes do servidor de extensão + +**Arquivos:** +- Modificar: `PiAgentUi/extensions/piagentui-server.test.ts` + +- [ ] **Passo 1: Adicionar sessão alternativa no teste existente** + +Depois da criação de `sessionFile`, adicionar: + +```ts + const otherSessionId = 'test-session-uuid-other' + const otherSessionFile = path.join(tempSessionDir, `session_${otherSessionId}.jsonl`) + fs.writeFileSync(otherSessionFile, JSON.stringify({ + type: 'session', + id: otherSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd' + }) + '\n') +``` + +- [ ] **Passo 2: Adicionar mocks de switch no contexto** + +Antes de `const mockContext = {`, adicionar: + +```ts + const replacedSendUserMessage = vi.fn() + const switchSession = vi.fn(async (_sessionPath: string, options?: { withSession?: (ctx: any) => Promise }) => { + await options?.withSession?.({ + ...mockContext, + sessionManager: { + getSessionDir: () => tempSessionDir, + getSessionId: () => otherSessionId, + }, + sendUserMessage: replacedSendUserMessage, + }) + return { cancelled: false } + }) +``` + +Dentro de `mockContext`, adicionar: + +```ts + switchSession, +``` + +- [ ] **Passo 3: Testar envio para sessão ativa sem switch** + +Manter o teste existente de `/api/messages/send` sem `sessionId` e ajustar expectativa para aceitar qualquer segundo argumento opcional: + +```ts + expect(mockPi.sendUserMessage).toHaveBeenCalledWith('hello world') + expect(switchSession).not.toHaveBeenCalled() +``` + +- [ ] **Passo 4: Testar envio para sessão diferente com switch** + +Depois do teste de envio ativo, adicionar: + +```ts + const sendOtherRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + sessionId: otherSessionId, + text: 'hello other session', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' } + }) + }) + expect(sendOtherRes.status).toBe(202) + expect(switchSession).toHaveBeenCalledWith(otherSessionFile, expect.objectContaining({ + withSession: expect.any(Function), + })) + expect(replacedSendUserMessage).toHaveBeenCalledWith('hello other session') +``` + +- [ ] **Passo 5: Testar sessão inexistente** + +Adicionar: + +```ts + const missingSessionRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + sessionId: 'missing-session-id', + text: 'must not be sent', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' } + }) + }) + expect(missingSessionRes.status).toBe(404) + expect(replacedSendUserMessage).not.toHaveBeenCalledWith('must not be sent') +``` + +- [ ] **Passo 6: Rodar teste da extensão** + +Executar: + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npx vitest run extensions/piagentui-server.test.ts +``` + +Resultado esperado: teste passa. Se o teste monolítico ficar instável por porta/servidor, dividir em `describe` separado com porta limpa e `session_shutdown` no final. + +--- + +## Tarefa 4: Garantir que erros de envio sejam visíveis no frontend + +**Arquivos:** +- Modificar: `PiAgentUi/src/api/message.ts` +- Testar: `PiAgentUi/src/api/piClient.test.ts` ou criar caso em `PiAgentUi/src/api/message.test.ts` + +- [ ] **Passo 1: Confirmar comportamento de `piClient.post`** + +Ler `PiAgentUi/src/api/piClient.ts`. Se `piClient.post` já lança erro em status `>=400`, não alterar código. Se não lança, ajustar para lançar com status e body. + +O comportamento esperado para `sendMessageAsync()` é: + +```ts +export async function sendMessageAsync(params: SendMessageParams): Promise { + await piClient.post('/api/messages/send', { + sessionId: params.sessionId, + text: params.text, + model: params.model, + directory: params.directory, + }) +} +``` + +- [ ] **Passo 2: Adicionar teste de erro HTTP se necessário** + +Se `piClient` não tiver cobertura de erro, adicionar teste que simula `fetch` retornando `404` para `/api/messages/send` e espera rejeição. + +Código esperado do teste: + +```ts +it('rejects sendMessageAsync when the server rejects the target session', async () => { + vi.stubGlobal('fetch', vi.fn(async () => new Response(JSON.stringify({ error: 'Session not found' }), { + status: 404, + headers: { 'Content-Type': 'application/json' }, + }))) + + await expect(sendMessageAsync({ + sessionId: 'missing-session', + text: 'hello', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + directory: '/mock/cwd', + })).rejects.toThrow() +}) +``` + +- [ ] **Passo 3: Rodar testes de API relevantes** + +Executar: + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npx vitest run src/api/piClient.test.ts src/api/events.test.ts src/store/messageStore.test.ts +``` + +Resultado esperado: todos passam. + +--- + +## Tarefa 5: Verificação integrada + +**Arquivos:** +- Nenhum arquivo novo obrigatório. + +- [ ] **Passo 1: Rodar typecheck completo do app** + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npx tsc --noEmit +npx tsc --noEmit -p tsconfig.extension.json +``` + +Resultado esperado: ambos sem erro. + +- [ ] **Passo 2: Rodar testes focados** + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npx vitest run extensions/piagentui-server.test.ts src/api/events.test.ts src/store/messageStore.test.ts +``` + +Resultado esperado: todos passam. + +- [ ] **Passo 3: Rodar build** + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +npm run build +``` + +Resultado esperado: build passa. Avisos de chunk grande do Vite são aceitáveis se não forem novos erros. + +- [ ] **Passo 4: Verificação manual no navegador** + +1. Reiniciar o Pi Agent para carregar a extensão atualizada. +2. Abrir PiAgentUI em `http://127.0.0.1:`. +3. Abrir sessão A e anotar o arquivo `.jsonl` dela. +4. Selecionar sessão B no sidebar. +5. Enviar mensagem `teste roteamento sessao B`. +6. Confirmar visualmente que user + assistant aparecem em B sem F5. +7. Confirmar que o arquivo `.jsonl` da sessão A não recebeu essa mensagem. +8. Confirmar que o arquivo `.jsonl` da sessão B recebeu essa mensagem. +9. Confirmar que `/global/event` continua com uma conexão viva e sem reconectar em loop. + +- [ ] **Passo 5: Commit final** + +```bash +cd D:/Documents/Github/PiAgentUI/PiAgentUi +git status --short +git add extensions/piagentui-server.ts extensions/piagentui-server.test.ts src/api/message.ts src/api/message.test.ts docs/superpowers/plans/2026-05-30-piagentui-active-session-switch.md +git commit -m "fix: route messages to selected Pi session" +``` + +Se a implementação modificar arquivos em `../pi`, fazer um commit separado dentro do repositório/árvore correspondente apenas se ele também for um repositório Git local. Como `D:/Documents/Github/PiAgentUI` não é repo e `PiAgentUi` é o repo local atual, registrar explicitamente os arquivos de Pi alterados no resumo final. + +--- + +## Auto-revisão do plano + +- Cobertura da spec: o plano cobre exposição de `switchSession`, roteamento backend, preservação do servidor, testes de erro e verificação manual. +- Placeholders: nenhum `TBD`, `TODO`, `implementar depois` ou instrução genérica sem ação concreta. +- Consistência de tipos: `SwitchableExtensionContext`, `switchSession`, `withSession`, `replacedCtx.sendUserMessage` e `sessionID` são usados consistentemente. +- Escopo: limitado ao sistema de sessão/roteamento; não redesenha UI nem lista de sessões. diff --git a/docs/superpowers/plans/2026-05-30-piagentui-sql-settings-voice.md b/docs/superpowers/plans/2026-05-30-piagentui-sql-settings-voice.md new file mode 100644 index 0000000..b79a7fe --- /dev/null +++ b/docs/superpowers/plans/2026-05-30-piagentui-sql-settings-voice.md @@ -0,0 +1,51 @@ +# PiAgentUI SQL Settings and Voice Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Move backend-owned PiAgentUI settings to a local SQLite database and fix/extend voice settings for local OpenAI-compatible STT/TTS providers such as Speaches. + +**Architecture:** The backend extension becomes the source of truth for backend-owned settings using `~/.pi/agent/piagentui.db`, with a SQL table for namespaced JSON settings and migration from the legacy `piagentui-settings.json`. Frontend voice settings continue using HTTP APIs, now with STT API-key-required control and TTS model/voice configuration. + +**Tech Stack:** Node `node:sqlite` `DatabaseSync`, TypeScript, Vitest, React settings components. + +--- + +## Files + +- Create: `extensions/piagentui-settings-store.ts` — SQLite settings repository, schema, defaults, legacy JSON migration. +- Create: `extensions/piagentui-settings-store.test.ts` — unit tests for SQL persistence and migration. +- Modify: `extensions/piagentui-server.ts` — replace JSON helpers with SQLite store; add TTS settings/speech endpoints; allow keyless OpenAI-compatible STT when configured. +- Modify: `extensions/piagentui-server.test.ts` — integration coverage for keyless STT and TTS settings. +- Modify: `src/types/api/stt.ts`, `src/api/stt.ts`, `src/hooks/useVoiceTranscription.ts` — expose `apiKeyRequired` and avoid blocking local Speaches. +- Create/Modify: `src/types/api/tts.ts`, `src/api/tts.ts`, `src/features/settings/components/TtsSettings.tsx`, `src/features/settings/components/VoiceSettings.tsx` — TTS settings UI with voice selection. +- Modify tests under `src/hooks` and `src/features/settings/components`. + +## Tasks + +### Task 1: SQL settings store + +- [ ] Write failing store tests for SQLite persistence and legacy JSON migration. +- [ ] Implement `extensions/piagentui-settings-store.ts` with `app_meta` and `settings` tables. +- [ ] Run targeted store tests and commit. + +### Task 2: Backend voice behavior + +- [ ] Write failing server/integration tests for keyless OpenAI-compatible STT and TTS settings sanitization. +- [ ] Update backend STT to require API key only when `apiKeyRequired` is true. +- [ ] Add TTS settings and `/api/tts/speech` proxy. +- [ ] Run extension tests and commit. + +### Task 3: Frontend voice UI + +- [ ] Write failing hook/settings tests for keyless STT start and TTS voice selection. +- [ ] Add STT `apiKeyRequired` toggle. +- [ ] Add TTS settings card with model, voice, format, endpoint, API key behavior. +- [ ] Run targeted frontend tests and commit. + +### Task 4: Validation + +- [ ] Run `npx tsc --noEmit`. +- [ ] Run `npm run typecheck:extensions`. +- [ ] Run targeted voice/storage tests. +- [ ] Run `npm run build`. +- [ ] Run `git diff --check`. diff --git a/docs/superpowers/plans/2026-05-30-piagentui-stt-lan-real-sessions-project-folders.md b/docs/superpowers/plans/2026-05-30-piagentui-stt-lan-real-sessions-project-folders.md new file mode 100644 index 0000000..8db2467 --- /dev/null +++ b/docs/superpowers/plans/2026-05-30-piagentui-stt-lan-real-sessions-project-folders.md @@ -0,0 +1,93 @@ +# PiAgentUI STT LAN Real Sessions Project Folders Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Implement real Pi session creation, project-folder session history, LAN access with QR code, and file-based STT voice input for PiAgentUI. + +**Architecture:** Keep runtime changes inside PiAgentUI's extension backend and focused frontend surfaces. Add pure helpers for network/session grouping/STT settings, test them first, then wire endpoints and UI with minimal component changes. + +**Tech Stack:** TypeScript, React 19, Vite 8, Vitest, Testing Library, Node HTTP extension server, browser MediaRecorder, OpenAI-compatible transcription API. + +--- + +## File Map + +- `extensions/piagentui-server-core.ts`: host/origin validation helpers, LAN URL discovery, STT URL/settings sanitization helpers. +- `extensions/piagentui-server-core.test.ts`: unit tests for backend helpers. +- `extensions/piagentui-server.ts`: real session creation, LAN settings endpoints, STT settings/transcription endpoints, dynamic boot base URL. +- `extensions/piagentui-server.test.ts`: integration tests for endpoints. +- `src/types/api/network.ts`: network access response/request types. +- `src/api/network.ts`, `src/api/network.test.ts`: client API for LAN access. +- `src/types/api/stt.ts`: STT settings/transcription types. +- `src/api/stt.ts`, `src/api/stt.test.ts`: client API for STT. +- `src/hooks/useVoiceTranscription.ts`, `src/hooks/useVoiceTranscription.test.tsx`: browser recording/transcription state machine. +- `src/features/chat/input/VoiceInputButton.tsx`, `src/features/chat/input/VoiceInputButton.test.tsx`: mic UI. +- `src/features/chat/InputBox.tsx`: accept voice transcript insertion. +- `src/features/chat/input/InputToolbar.tsx`: render voice button. +- `src/features/sessions/sessionProjectGroups.ts`, `src/features/sessions/sessionProjectGroups.test.ts`: pure project grouping. +- `src/features/sessions/SessionList.tsx`, `src/features/sessions/SessionList.test.tsx`: project folder rendering. +- `src/features/settings/components/NetworkAccessSettings.tsx`, `src/features/settings/components/NetworkAccessSettings.test.tsx`: LAN toggle/URL/QR UI. +- `src/features/settings/components/ServersSettings.tsx`: include network section. +- `src/locales/en/*.json`, `src/locales/zh-CN/*.json`: minimal labels. +- `package.json`: add `qrcode` only if frontend QR generation needs it. + +## Task 1: Backend helper tests and helpers + +- [ ] Write tests in `extensions/piagentui-server-core.test.ts` for LAN host validation, local URL discovery injection, and STT URL/settings sanitization. +- [ ] Implement helpers in `extensions/piagentui-server-core.ts`. +- [ ] Run `npx vitest run extensions/piagentui-server-core.test.ts`. +- [ ] Commit `test/feat: add network and stt backend helpers`. + +## Task 2: Real session creation endpoint + +- [ ] Add failing tests in `extensions/piagentui-server.test.ts` proving `POST /api/sessions` creates a new `.jsonl`, calls `switchSession`, returns the new id, and returns `501` without `switchSession`. +- [ ] Implement minimal real session file creation in `extensions/piagentui-server.ts`. +- [ ] Run `npx vitest run extensions/piagentui-server.test.ts`. +- [ ] Commit `feat: create real pi sessions from ui`. + +## Task 3: Project folder grouping + +- [ ] Add failing tests in `src/features/sessions/sessionProjectGroups.test.ts` for Windows/POSIX grouping, basename labels, ordering, and search behavior. +- [ ] Implement `sessionProjectGroups.ts`. +- [ ] Add/adjust `SessionList.test.tsx` for folders expand/collapse and selection. +- [ ] Update `SessionList.tsx` minimally to render project folders by default when grouped. +- [ ] Run `npx vitest run src/features/sessions/sessionProjectGroups.test.ts src/features/sessions/SessionList.test.tsx`. +- [ ] Commit `feat: group sessions by project folder`. + +## Task 4: LAN access endpoints and UI + +- [ ] Add backend endpoint tests for `GET/POST /api/network/access`, LAN host allowed only when enabled, and host-based boot data. +- [ ] Implement network settings persistence and endpoint behavior. +- [ ] Add frontend API tests for `src/api/network.ts`. +- [ ] Add `NetworkAccessSettings` tests for toggle, URL, and QR placeholder/rendering. +- [ ] Implement API and settings component. +- [ ] Wire it into `ServersSettings.tsx`. +- [ ] Run targeted backend/frontend tests. +- [ ] Commit `feat: expose local network access settings`. + +## Task 5: STT settings and transcription backend/client + +- [ ] Add backend tests for redacted settings, save semantics, invalid URLs, and transcription provider errors. +- [ ] Implement settings persistence and transcription endpoint. +- [ ] Add `src/api/stt.test.ts` and implement `src/api/stt.ts`. +- [ ] Run targeted tests. +- [ ] Commit `feat: add stt settings and transcription api`. + +## Task 6: Voice recording UI + +- [ ] Add hook tests for permission denied, record/transcribe success, and error path. +- [ ] Implement `useVoiceTranscription.ts`. +- [ ] Add `VoiceInputButton` tests and component. +- [ ] Wire `InputToolbar` and `InputBox` to append transcript to composer without auto-send. +- [ ] Run targeted tests. +- [ ] Commit `feat: add voice transcription composer control`. + +## Task 7: Final validation and review + +- [ ] Run `npx tsc --noEmit`. +- [ ] Run `npx tsc --noEmit -p tsconfig.extension.json`. +- [ ] Run `npm run test:run`. +- [ ] Run `npm run build`. +- [ ] Run `git diff --check`. +- [ ] Review changed files for unnecessary edits. +- [ ] Commit any final fixes. diff --git a/docs/superpowers/plans/2026-05-30-roadmap-contexto-skills-mcp.md b/docs/superpowers/plans/2026-05-30-roadmap-contexto-skills-mcp.md new file mode 100644 index 0000000..726a629 --- /dev/null +++ b/docs/superpowers/plans/2026-05-30-roadmap-contexto-skills-mcp.md @@ -0,0 +1,81 @@ +# Roadmap Contexto, Skills e MCP Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** concluir a integração de contexto real, skills reais, avisos de compaction/overflow e MCP nativo no PiAgentUI. + +**Architecture:** O backend da extensão PiAgentUI deve ser a fonte de verdade para dados do runtime Pi. A UI deve consumir endpoints pequenos e tipados, preservando fallback seguro quando dados runtime não existirem. + +**Tech Stack:** TypeScript, React, Vite, Vitest, extensão PiAgentUI HTTP/SSE, Pi runtime APIs. + +--- + +## Task 1: Context metadata e uso real + +**Status:** concluído em `f5a3fa5 feat: enrich context details with model metadata`. + +## Task 2: Tool results somente em tool cards + +**Status:** concluído em `41adf23 fix: keep tool results in tool cards`. + +## Task 3: Skills reais por origem + +**Status:** concluído em `257d63c feat: show real skills by source`. + +## Task 4: Avisos de overflow e compaction + +**Files:** +- Modify: `src/hooks/useSessionStats.ts` +- Modify: `src/features/chat/sidebar/SidebarFooter.tsx` +- Modify: `src/features/chat/sidebar/ContextDetailsDialog.tsx` +- Test: `src/hooks/useSessionStats.test.tsx` + +- [ ] Adicionar estado derivado para `contextStatus`: `unknown`, `normal`, `warning`, `danger`. +- [ ] Mostrar fonte do dado: runtime, tokens ou estimativa. +- [ ] Mostrar aviso quando `contextKnown=false` após compaction. +- [ ] Mostrar aviso quando uso >= 70% e >= 90%. +- [ ] Rodar testes focados e build. +- [ ] Commit: `feat: surface context overflow notices`. + +## Task 5: MCP backend real + +**Files:** +- Modify/Create: `extensions/piagentui-server.ts` +- Modify/Create: `src/api/mcp.ts` +- Test: `extensions/piagentui-server.test.ts` + +- [ ] Ler configuração MCP do Pi/agent config quando disponível. +- [ ] Expor `/api/mcp/servers` com servidores, status e origem. +- [ ] Preservar fallback vazio seguro. +- [ ] Testar config válida, ausente e inválida. +- [ ] Commit: `feat: expose real mcp servers`. + +## Task 6: MCP UI real + +**Files:** +- Modify: `src/components/McpPanel.tsx` +- Modify: `src/types/api/mcp.ts` +- Test: `src/components/McpPanel.test.tsx` se existir; caso contrário criar. + +- [ ] Agrupar servidores por status/origem. +- [ ] Mostrar tools quando disponíveis. +- [ ] Mostrar erro de inicialização/config. +- [ ] Commit: `feat: render real mcp server status`. + +## Task 7: Skills avançado + +**Files:** +- Modify: `extensions/piagentui-server.ts` +- Modify: `src/components/SkillPanel.tsx` + +- [ ] Expor diagnósticos/collisions quando Pi disponibilizar. +- [ ] Mostrar `disableModelInvocation` quando disponível. +- [ ] Melhorar origem com package/source quando disponível. +- [ ] Commit: `feat: add skill diagnostics metadata`. + +## Task 8: Hardening e docs + +- [ ] Extrair parsers grandes de `extensions/piagentui-server.ts` se necessário. +- [ ] Atualizar Obsidian/task list. +- [ ] Rodar full test/build. +- [ ] Fazer checkpoint commit/tag local se solicitado. diff --git a/docs/superpowers/plans/2026-05-31-piagentui-git-composer-control.md b/docs/superpowers/plans/2026-05-31-piagentui-git-composer-control.md new file mode 100644 index 0000000..da4af70 --- /dev/null +++ b/docs/superpowers/plans/2026-05-31-piagentui-git-composer-control.md @@ -0,0 +1,58 @@ +# PiAgentUI Git Composer Control Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Implement a Git branch/control popover in the message composer using GitHub Octicons and safe backend Git endpoints. + +**Architecture:** Add focused Git logic in `extensions/piagentui-git-manager.ts`, expose `/api/vcs/*` endpoints from the extension server, expand frontend VCS API/types, and add `GitComposerControl` inside `InputToolbar` before agent/variant selectors. + +**Tech Stack:** React 19, TypeScript, Vite, Vitest, Node child_process, Git CLI, `@primer/octicons-react`. + +--- + +## Files + +- Create: `extensions/piagentui-git-manager.ts` +- Create: `extensions/piagentui-git-manager.test.ts` +- Modify: `extensions/piagentui-server.ts` +- Modify: `extensions/piagentui-server.test.ts` +- Modify: `src/types/api/vcs.ts` +- Modify: `src/types/api/index.ts` +- Modify: `src/api/vcs.ts` +- Create/modify: `src/api/vcs.test.ts` +- Create: `src/features/chat/input/GitComposerControl.tsx` +- Create: `src/features/chat/input/GitComposerControl.test.tsx` +- Modify: `src/features/chat/input/InputToolbar.tsx` +- Modify: `package.json`, `package-lock.json` + +## Task 1 — Backend Git manager + +- [ ] Write failing tests for branch parsing, status parsing, safe argv commands and commit validation. +- [ ] Implement `runGit`, `getGitStatus`, `listGitBranches`, `checkoutGitBranch`, `createGitBranch`, `stageGitPaths`, `unstageGitPaths`, `commitGitChanges`, `pullGitBranch`, `pushGitBranch`. +- [ ] Verify focused test passes. + +## Task 2 — Backend endpoints + +- [ ] Write failing server endpoint tests for `/api/vcs/status`, `/api/vcs/branches`, `/api/vcs/commit`. +- [ ] Add endpoint routing in `piagentui-server.ts` with request parsing and errors. +- [ ] Verify server tests pass. + +## Task 3 — Frontend API contract + +- [ ] Write failing API tests for query/body shapes. +- [ ] Expand `src/types/api/vcs.ts` and `src/api/vcs.ts`. +- [ ] Verify API tests pass. + +## Task 4 — Composer UI + +- [ ] Install `@primer/octicons-react`. +- [ ] Write failing component tests for branch chip, popover opening and commit action. +- [ ] Implement `GitComposerControl` with Octicons. +- [ ] Integrate into `InputToolbar` before agent selector. +- [ ] Verify component tests pass. + +## Task 5 — Full verification + +- [ ] Format touched files with `node node_modules/prettier/bin/prettier.cjs --write ...`. +- [ ] Run LSP diagnostics on touched files. +- [ ] Run `npm run typecheck`, `npm run typecheck:extensions`, focused tests, `npm run test:run`, `npm run build`, and `git diff --check`. diff --git a/docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md b/docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md new file mode 100644 index 0000000..5d0ffce --- /dev/null +++ b/docs/superpowers/specs/2026-05-28-pi-agent-extension-migration-design.md @@ -0,0 +1,66 @@ +# Especificação Técnica: Migração do PiAgentUi para Extensão do Pi Agent + +Esta especificação define o desenho arquitetônico, a segurança, as estruturas de dados e a integração desktop necessários para migrar o frontend `PiAgentUi` (originalmente construído para o OpenCode) para o ecossistema do **Pi Agent**. + +--- + +## 1. Arquitetura e Fluxo de Dados + +A arquitetura do `PiAgentUi` será descentralizada do OpenCode e integrada diretamente ao processo do Pi Agent através do modelo de extensões. + +1. **Loopback Server (Porta Dinâmica):** A extensão `piagentui-server.ts` se conectará ao ciclo de vida do Pi e abrirá um servidor local seguro escutando em `127.0.0.1` em uma porta livre selecionada pelo sistema operacional. +2. **Same-Origin Boot Data:** A extensão servirá o HTML principal e injetará no próprio corpo do `index.html` um bloco JSON contendo as informações de boot (URL base, porta, e o token bearer gerado na inicialização). +3. **Ponte de Comunicação:** Toda chamada HTTP e WebSocket será autenticada usando o token em memória. + +``` +┌─────────────────┐ ┌────────────────────────┐ ┌────────────────┐ +│ Tauri (Rust) │ ───> │ Pi Agent (Processo) │ <───> │ Webview (UI) │ +│ Port Check & │ │ - piagentui-server │ │ - React 19 │ +│ Launch State │ │ - HTTP + WS Server │ │ - Local Token │ +└─────────────────┘ └────────────────────────┘ └────────────────┘ +``` + +--- + +## 2. Matriz de Endpoints e Recursos + +Para o MVP, a API do `PiAgentUi` responderá nos mesmos paths esperados pelo frontend, mapeando-os para chamadas da extensão e mockando recursos incompatíveis. + +| Recurso / Funcionalidade | Endpoint Frontend | Ação no Backend (Pi Agent Extension) | Status no MVP | +| :--- | :--- | :--- | :--- | +| **Health Check** | `/global/health` | Retorna status da extensão do Pi | **Suportado** | +| **Event Stream** | `/global/event` | SSE/WebSocket que espelha os eventos do Pi | **Suportado** | +| **Modelos Ativos** | `/api/models` | Consulta o registro de modelos configurado no Pi | **Suportado** | +| **Multi-Sessão (CRUD)** | `/api/sessions` | Gerencia sessões locais da pasta de sessões do Pi | **Suportado** | +| **Enviar Mensagem** | `/api/messages/send` | Dispara `pi.sendUserMessage(...)` assincronamente | **Suportado** | +| **Parar Mensagem** | `/api/messages/abort` | Aborta o turno ativo do Pi Agent se disponível | **Suportado** | +| **PTY Terminal** | `/api/pty` | Retorna erro 501 / Desativado visualmente | **Stubbed** | +| **MCP / LSP** | `/api/mcp` / `/api/lsp`| Retorna lista vazia ou erro 501 | **Stubbed** | +| **Worktrees / VCS** | `/api/worktrees` | Retorna erro 501 / Desativado visualmente | **Stubbed** | + +--- + +## 3. Segurança e Tokens + +1. **Porta Dinâmica:** Impedir conflitos de porta iniciando sempre em portas dinâmicas alocadas pelo SO (`port: 0`). +2. **Bearer Token:** Gerar um UUID/token seguro de uso único na inicialização do servidor. +3. **Sem Persistência de Senhas:** Nenhuma credencial do usuário será armazenada fisicamente ou em `localStorage`. O token de autorização residirá unicamente na memória da sessão React. +4. **Validação de Host/Origin:** Rejeitar qualquer requisição com cabeçalho `Host` ou `Origin` que não seja estritamente local (`127.0.0.1` ou `localhost`). +5. **Prevenção de Traversal:** Servir arquivos estáticos validando canonicalização de caminhos para evitar vulnerabilidade de directory traversal no Windows. + +--- + +## 4. Integração Tauri Desktop (Track B) + +Com a decisão de **incluir o Tauri já no primeiro marco**, o app desktop sofrerá as seguintes modificações: +* **Renomeação de Comandos:** Todos os comandos Tauri registrados no Rust e no frontend serão renomeados de `*opencode*` para correspondentes de `*pi*` ou `*pi_agent*`. +* **Subprocesso do Pi:** Em vez de iniciar `opencode serve`, o Tauri iniciará o processo do Pi (ex: `pi --mode rpc`) adicionando dinamicamente o parâmetro `--extension` apontando para o nosso servidor local se necessário, ou confiando no auto-load das extensões instaladas. +* **Filtro de URL Restrito:** O Rust bridge do Tauri terá uma validação explícita em tempo de execução para rejeitar qualquer tráfego que tente se conectar a servidores externos, limitando a ponte estritamente a adaptadores de loopback permitidos. + +--- + +## 5. Referências do Projeto + +Esta migração baseia-se diretamente no comportamento implementado em: +`D:/Documents/Github/PiAgentUI/better-tau/extensions/mirror-server.ts` +utilizando o modelo de ciclo de vida e roteamento nativo lá desenvolvidos como garantia de estabilidade sob o runtime do Pi. diff --git a/docs/superpowers/specs/2026-05-28-pi-agent-ui-field-inventory.md b/docs/superpowers/specs/2026-05-28-pi-agent-ui-field-inventory.md new file mode 100644 index 0000000..8329cb0 --- /dev/null +++ b/docs/superpowers/specs/2026-05-28-pi-agent-ui-field-inventory.md @@ -0,0 +1,105 @@ +# Inventário de Campos e Dependências do SDK do OpenCode no PiAgentUi + +Este documento registra todas as dependências da biblioteca `@opencode-ai/sdk` encontradas no `PiAgentUi`, detalhando as estruturas (DTOs) que o frontend consome e como elas serão mapeadas para a nova estrutura de compatibilidade com o Pi Agent. + +--- + +## 1. Arquivos com Acoplamento ao SDK do OpenCode + +Os seguintes arquivos realizam importações diretas do cliente SDK (`@opencode-ai/sdk`) ou utilizam tipos derivados dele: + +### Arquivos em `src/api/` +* `agent.ts` +* `client.ts` +* `command.ts` +* `config.ts` +* `file.ts` +* `global.ts` +* `lsp.ts` +* `mcp.ts` +* `message.ts` +* `permission.ts` +* `pty.ts` +* `session.ts` +* `skill.ts` +* `todo.ts` +* `tool.ts` +* `vcs.ts` +* `worktree.ts` +* `sdk.ts` + +### Arquivos em `src/types/api/` +* `agent.ts` +* `common.ts` +* `config.ts` +* `event.ts` +* `file.ts` +* `mcp.ts` +* `message.ts` +* `model.ts` +* `permission.ts` +* `project.ts` +* `pty.ts` +* `session.ts` +* `skill.ts` +* `tool.ts` +* `vcs.ts` +* `worktree.ts` + +--- + +## 2. Inventário de Estruturas Consumidas pela UI + +Para que a migração não quebre o frontend, a API da extensão Pi deve produzir e aceitar dados que correspondam a estas chaves essenciais: + +### A. Estrutura de Mensagem (`MessageWithParts` / `Message`) +O frontend lê de `message.info` e de `message.parts`: +* **`info`** (`UserMessage` ou `AssistantMessage`): + * `id`: string (UUID da mensagem). + * `sessionID`: string (UUID da sessão). + * `role`: `'user' | 'assistant'`. + * `time`: `{ created?: number; completed?: number }`. + * `summary`: string (breve descrição se disponível). + * `modelID`: string (somente assistente). + * `providerID`: string (somente assistente). +* **`parts`** (Array de blocos que compõem a mensagem): + * **`TextPart`**: `{ type: 'text', text: string }`. + * **`ReasoningPart`**: `{ type: 'reasoning', text: string }`. + * **`ToolPart`**: `{ type: 'tool', tool: string, state: { status: 'pending' | 'running' | 'completed' | 'error', input?: any, output?: any, error?: string } }`. + * **`FilePart`**: `{ type: 'file', filename?: string, mime?: string, url?: string }`. + * **`StepStartPart`**: `{ type: 'step-start' }`. + * **`StepFinishPart`**: `{ type: 'step-finish' }`. + +### B. Estrutura de Sessão (`Session`) +Utilizada no menu lateral de histórico e criação: +* `id`: string (UUID). + * `title`: string (nome da sessão). + * `directory`: string (diretório de trabalho correspondente). + * `time`: `{ created?: number; updated?: number }`. + * `summary`: `{ title?: string; category?: string; difficulty?: string; tokens?: number; cost?: number }`. + * `status`: `'idle' | 'running' | 'error'`. + +### C. Envelopes de Eventos Globais (`GlobalEvent`) +Processados pelo pipeline de SSE em `events.ts`: +* `{ directory?: string, payload: { type: string, properties: any } }` +* Eventos chave: + * `server.connected` + * `session.updated` + * `session.status` + * `session.idle` + * `session.error` + * `message.updated` + * `message.part.updated` + * `message.part.delta` + +--- + +## 3. Estratégia de Mapeamento no MVP + +| Módulo Original | Ação / Novo Mapeamento | +| :--- | :--- | +| **`session`** | Consultas diretas ao Pi Session Manager via rotas REST locais da extensão. Mapeado para sessões nativas do Pi. | +| **`message`** | Mapeado para o envio assíncrono de prompts ao Pi (`pi.sendUserMessage`). Eventos nativos do Pi traduzidos em deltas de partes. | +| **`tool`** | Retorna ferramentas padrões disponíveis do Pi. | +| **`pty` / `lsp` / `mcp`** | Desativados visualmente / stubs de array vazio / erro 501. | +| **`worktree` / `vcs`** | Desativados visualmente. | diff --git a/docs/superpowers/specs/2026-05-30-piagentui-active-session-switch-design.md b/docs/superpowers/specs/2026-05-30-piagentui-active-session-switch-design.md new file mode 100644 index 0000000..ed1fa5b --- /dev/null +++ b/docs/superpowers/specs/2026-05-30-piagentui-active-session-switch-design.md @@ -0,0 +1,140 @@ +# PiAgentUI Active Session Switch Design + +## Goal + +When the user opens an existing session in PiAgentUI and sends a message, the message must be delivered to that selected Pi session, not to whichever session was active when the Pi TUI launched. + +## Current finding + +- The frontend route/store correctly loads selected sessions and their messages. +- `src/hooks/useChatSession.ts` sends the selected `sessionId` to `sendMessageAsync()`. +- `extensions/piagentui-server.ts` receives `sessionId`, but still calls `pi.sendUserMessage(parsed.text)`. +- `pi.sendUserMessage()` always targets the current active Pi runtime session. +- Pi exposes `switchSession()` only on `ExtensionCommandContext`, not on normal event `ExtensionContext` used by `session_start` and the HTTP server. +- `AgentSessionRuntime.switchSession()` intentionally emits `session_shutdown`, disposes the old session, creates the replacement session, rebinds extensions, then runs `withSession(replacedCtx)`. +- The existing PiAgentUI extension currently stops the web server on every `session_shutdown`, so a normal Pi session switch can close the HTTP/SSE server and force reconnects. + +## Selected approach: activate and send on the backend + +The backend should become authoritative for message routing: + +1. Resolve requested `sessionId` to the JSONL session file in the current session directory. +2. If the requested session differs from the active Pi session, switch the real Pi runtime to that session. +3. Send the user message inside the replacement session callback so the message cannot land in the old session. +4. Keep the existing frontend model: route/session selection still works as today; `sendMessageAsync()` keeps passing `sessionId`. + +This preserves the current UI while making the server guarantee correctness. + +## Required changes + +### Pi core + +Expose a safe session-switch capability to extension event contexts, or a narrowly-scoped equivalent that can be used by long-lived extension services. + +Preferred API shape: + +```ts +interface ExtensionContext { + switchSession( + sessionPath: string, + options?: { withSession?: (ctx: ReplacedSessionContext) => Promise }, + ): Promise<{ cancelled: boolean }> +} +``` + +Implementation should reuse the existing `switchSessionHandler` already used by `createCommandContext()`. The important behavior is not a new session implementation; it is making the already-existing runtime switch available to the PiAgentUI HTTP server context. + +### PiAgentUI extension server + +Add helpers in `extensions/piagentui-server.ts`: + +- `getSessionFileForId(sessionId)` scans `latestCtx.sessionManager.getSessionDir()` for `*_${sessionId}.jsonl`. +- `sendUserMessageToSession(parsed)` validates `sessionId`, resolves the session file, switches if needed, and sends in the correct context. +- `session_shutdown` handling must not tear down the HTTP server on `reason === 'resume'` if the server is intentionally switching sessions for the web UI. The server should keep the port stable and update `latestCtx` on the following `session_start`. + +Target send flow: + +```ts +if (requestedSessionId && requestedSessionId !== activeSessionId) { + const sessionFile = getSessionFileForId(requestedSessionId) + const result = await latestCtx.switchSession(sessionFile, { + withSession: async replacedCtx => { + await maybeSetModel(replacedCtx, parsed.model) + await replacedCtx.sendUserMessage(parsed.text) + }, + }) + if (result.cancelled) return HTTP 409 + return HTTP 202 +} + +await maybeSetModel(latestCtx, parsed.model) +pi.sendUserMessage(parsed.text) +``` + +If `sessionId` is missing or already active, keep the existing path. + +### Frontend + +Keep frontend mostly unchanged. + +Small additions only if needed: + +- `sendMessageAsync()` continues sending `sessionId`. +- Optional: handle HTTP `409`/`404` with a clear toast if target session cannot be activated. +- Optional: add `activeSessionId` from `server.connected`/`session.status` later, but not required for the core fix. + +## Alternatives considered + +### Activate on session selection + +Frontend would call `/api/sessions/:id/activate` when a user clicks a session. This matches the user's mental model, but it introduces a race: if the user sends before activation completes, the message can still hit the old session unless send also validates activation. It is useful as a UX enhancement after backend routing is correct, not as the primary correctness mechanism. + +### Frontend guard only + +Frontend could block sending if selected session differs from active Pi session. This avoids Pi core changes but makes UX worse and still requires a trustworthy active-session signal from the backend. It detects the problem instead of solving it. + +## Tests + +### Extension/unit tests + +Add or update extension server tests to cover: + +1. Sending with active `sessionId` calls `pi.sendUserMessage()` without switching. +2. Sending with different `sessionId` resolves the matching JSONL file and calls `ctx.switchSession(sessionFile, { withSession })`. +3. The `withSession` callback calls `replacedCtx.sendUserMessage(text)`. +4. Unknown `sessionId` returns 404 and does not send to the active session. +5. Cancelled switch returns 409 and does not send. +6. `session_shutdown` with `reason: 'resume'` does not close the web server during web-initiated session switching. + +### Frontend tests + +Add or update API/hook tests to cover: + +1. `sendMessageAsync()` includes `sessionId` in the payload. +2. Send error responses surface through the existing error handling path. +3. Existing route/session selection behavior remains unchanged. + +### Manual verification + +1. Start Pi in session A. +2. Open PiAgentUI. +3. Select existing session B in the sidebar. +4. Send a message. +5. Verify new user and assistant messages appear in session B. +6. Verify session A JSONL is unchanged. +7. Verify `/global/event` remains connected and streaming works without F5. + +## Risks and mitigations + +- Switching sessions invalidates old extension contexts. Mitigation: send inside `withSession(replacedCtx)` and avoid captured stale `pi`/ctx after switch. +- Current extension closes the HTTP server on `session_shutdown`. Mitigation: preserve server across `resume` switches and update `latestCtx` on `session_start`. +- Pi core API change can be too broad. Mitigation: expose only the existing switch handler; do not create parallel session logic. +- Session file lookup by suffix must be strict. Mitigation: only match `_${sessionId}.jsonl` inside the current session dir. + +## Acceptance criteria + +- Sending from selected session B never writes to active-at-launch session A. +- Frontend routing and message loading stay visually the same. +- The web server port remains stable during a session switch initiated by PiAgentUI. +- Streaming still updates live after switch. +- Typecheck, extension typecheck, relevant tests, and build pass. diff --git a/docs/superpowers/specs/2026-05-30-piagentui-readme-audio-stt-design.md b/docs/superpowers/specs/2026-05-30-piagentui-readme-audio-stt-design.md new file mode 100644 index 0000000..054e0f2 --- /dev/null +++ b/docs/superpowers/specs/2026-05-30-piagentui-readme-audio-stt-design.md @@ -0,0 +1,326 @@ +# Design — README atual do PiAgentUI e sistema de áudio/STT + +**Data:** 2026-05-30 +**Status:** aprovado conceitualmente pelo usuário; aguardando revisão do arquivo antes da implementação +**Escopo:** reescrever o `README.md` do projeto atual e preparar a arquitetura completa para envio de áudio e transcrição em tempo real no app. + +## Contexto + +O projeto começou como uma adaptação do OpenCodeUI, mas atualmente está evoluindo para o **PiAgentUI**: uma interface web/desktop para o Pi Agent, com ambição explícita de se tornar um app inteiro no estilo Codex ou Claude Desktop. + +O estado atual já inclui: + +- frontend React 19 + TypeScript + Vite; +- app desktop via Tauri 2; +- extensão Pi local em `extensions/piagentui-server.ts` como backend/runtime bridge; +- chat com streaming/SSE; +- sessões reais do Pi, histórico e roteamento de sessão; +- tool calls e tool results renderizados em cards; +- contexto real do runtime via endpoint `/api/sessions/:sessionId/context`; +- enriquecimento de metadados de modelo via catálogo OpenRouter local em `src/assets/models.json`; +- lista real de Skills agrupadas por origem; +- metadados reais de MCP configurado; +- slash commands reais do Pi expostos por `/api/commands/list`; +- anexos de arquivos, incluindo áudio como arquivo quando o modelo selecionado declara suporte a áudio. + +Ainda não existe: + +- gravação de microfone no composer; +- transcrição parcial em tempo real; +- endpoint backend para STT; +- configurações STT; +- provedor STT customizável OpenAI-compatible; +- pipeline de áudio integrado ao envio de mensagens. + +## Objetivos + +1. Reescrever `README.md` em português para refletir o produto atual, não o projeto original OpenCodeUI. +2. Apresentar PiAgentUI como interface moderna para o Pi Agent e base futura de app completo tipo Codex/Claude. +3. Documentar capacidades existentes de forma honesta, separando **implementado**, **em andamento** e **roadmap**. +4. Projetar um sistema de áudio/STT completo, com opção padrão forte e configuração externa flexível. +5. Implementar o sistema em fases testáveis, com TDD para lógica, API, stores e componentes. + +## Não objetivos + +- Não renomear pacote npm, bundle, app Tauri ou metadados de release nesta primeira etapa, salvo menção no README como débito de branding. +- Não implementar agente de voz falante/TTS nesta fase; o foco é entrada por voz e transcrição para texto. +- Não substituir o fluxo normal de texto; áudio será uma camada opcional sobre o composer. +- Não acoplar PiAgentUI ao OpenRouter para STT. OpenRouter continua sendo catálogo/metadados quando útil; STT usa provedores próprios. + +## README.md proposto + +O novo README deve ser escrito em português e deve substituir integralmente o conteúdo herdado. Estrutura recomendada: + +1. **Título e tagline** + - `# PiAgentUI` + - “Interface web/desktop para Pi Agent — caminhando para um app completo estilo Codex/Claude.” + +2. **Visão geral** + - Explicar que o PiAgentUI é uma UI local para operar o Pi Agent com sessões, ferramentas, MCP, Skills, comandos e contexto real. + - Deixar claro que o runtime Pi é a fonte de verdade. + +3. **Estado atual** + - Listar capacidades implementadas: + - chat streaming; + - sessões reais; + - tool cards; + - context usage; + - models metadata; + - skills; + - MCP metadata; + - slash commands; + - anexos multimodais; + - terminal/file explorer/Tauri quando aplicável. + +4. **Roadmap do produto** + - Ações visuais para comandos Pi; + - áudio/STT em tempo real; + - experiência voice-first; + - MCP actions/connect/auth; + - app completo tipo Codex/Claude. + +5. **Arquitetura** + - Frontend React/Vite/Tauri; + - extensão Pi como bridge local; + - Pi runtime como estado autoritativo; + - APIs locais `/api/*`; + - SSE para eventos. + +6. **Desenvolvimento local** + - `npm install`; + - `npm run dev`; + - `npm run build`; + - `npm run test:run`; + - `npm run typecheck`; + - `npm run typecheck:extensions`. + +7. **Notas de runtime** + - Algumas mudanças exigem reiniciar/recarregar o Pi/extension server. + - O arquivo de descoberta local fica em `~/.pi/agent/piagentui-port.json`. + +8. **Áudio e transcrição — planejado** + - Resumir o plano STT sem prometer que já está implementado. + +9. **Licença e origem** + - Manter licença atual se aplicável. + - Mencionar que o projeto deriva de uma base OpenCodeUI, mas agora segue direção própria para PiAgentUI. + +## Sistema de áudio/STT — abordagem recomendada + +### Opção padrão + +Usar **OpenAI Realtime Transcription** com `gpt-realtime-whisper` como padrão para transcrição ao vivo. + +Razões: + +- foi projetado para live speech-to-text; +- entrega deltas parciais; +- tem latência baixa; +- usa sessão dedicada de transcrição, sem resposta falada do modelo; +- combina com um composer por voz onde o texto aparece enquanto o usuário fala. + +### Fallback padrão + +Usar **OpenAI Audio Transcriptions** para áudio fechado/arquivo: + +- `gpt-4o-transcribe` como opção de maior qualidade; +- `gpt-4o-mini-transcribe` como opção de menor custo; +- `whisper-1` para compatibilidade com integrações antigas. + +Esse fallback deve ser usado quando: + +- o navegador/ambiente não suportar streaming confiável; +- o usuário enviar um arquivo de áudio; +- o provedor configurado só oferecer endpoint `/audio/transcriptions`; +- a conexão realtime falhar e houver áudio gravado em buffer. + +### Provedor OpenAI-compatible externo + +O usuário deve poder configurar qualquer API compatível com o endpoint de transcrição da OpenAI. + +Configuração proposta: + +```ts +interface SttProviderConfig { + id: string + label: string + kind: 'openai' | 'openai-compatible' + mode: 'realtime' | 'file' | 'both' + baseUrl: string + apiKey: string + realtimeModel?: string + transcriptionModel: string + transcriptionEndpoint?: string + language?: string + prompt?: string + responseFormat?: 'json' | 'text' | 'verbose_json' +} +``` + +Exemplo para Together AI: + +```json +{ + "kind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.together.xyz/v1", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "openai/whisper-large-v3" +} +``` + +Observação: APIs “OpenAI-compatible” costumam ser compatíveis no endpoint HTTP de arquivo, mas realtime/WebSocket varia por provedor. Por isso, realtime deve ser capability separada, não assumida automaticamente. + +## Arquitetura proposta do STT + +### Frontend + +Criar uma feature dedicada: + +- `src/features/voice/VoiceRecorderButton.tsx` +- `src/features/voice/VoiceTranscriptOverlay.tsx` +- `src/features/voice/useVoiceRecorder.ts` +- `src/features/voice/useRealtimeTranscript.ts` +- `src/features/voice/audioEncoding.ts` + +Responsabilidades: + +- pedir permissão de microfone; +- mostrar estados: idle, requesting_permission, recording, connecting, transcribing, error; +- capturar áudio; +- enviar chunks para o backend; +- renderizar transcrição parcial e final; +- inserir texto final no composer; +- opcionalmente enviar automaticamente após confirmação do usuário. + +### Store/configuração + +Criar configuração local de STT: + +- `src/store/sttSettingsStore.ts` +- persistência em localStorage inicialmente; +- campos para provider padrão, base URL, modelo, idioma, prompt, modo e preferências de UX. + +Preferências de UX: + +```ts +interface VoiceInputPreferences { + insertMode: 'append' | 'replace-selection' + autoSend: boolean + showPartialTranscript: boolean + pushToComposerWhileSpeaking: boolean + silenceAutoStopMs: number +} +``` + +### API frontend + +Criar cliente dedicado: + +- `src/api/stt.ts` + +Endpoints planejados: + +- `GET /api/stt/config/schema` +- `POST /api/stt/transcriptions` +- `POST /api/stt/realtime/session` +- `POST /api/stt/realtime/:sessionId/chunk` +- `POST /api/stt/realtime/:sessionId/commit` +- `DELETE /api/stt/realtime/:sessionId` + +### Backend/extensão Pi + +Adicionar ao `extensions/piagentui-server.ts` ou extrair para módulo dedicado se o arquivo ficar grande: + +- parser seguro de multipart/audio para transcrição por arquivo; +- proxy para `/v1/audio/transcriptions`; +- gerenciador de sessão realtime; +- normalização de eventos para o frontend. + +Formato de eventos para o frontend: + +```ts +type SttEvent = + | { type: 'stt.session.started'; sessionId: string } + | { type: 'stt.transcript.delta'; sessionId: string; text: string; itemId?: string } + | { type: 'stt.transcript.completed'; sessionId: string; text: string; itemId?: string } + | { type: 'stt.error'; sessionId?: string; message: string; recoverable: boolean } + | { type: 'stt.session.closed'; sessionId: string } +``` + +### Segurança + +- API keys não devem aparecer em logs. +- Configurações secretas devem ser mascaradas na UI. +- O backend deve limitar tamanho/duração de áudio. +- O backend deve validar `baseUrl` e impedir esquemas não HTTP(S). +- Erros do provedor devem ser normalizados, sem vazar headers. +- O usuário deve confirmar antes de habilitar auto-send de transcrição. + +### Testes + +Seguir TDD: + +1. `src/api/stt.test.ts` + - monta payloads corretos; + - trata deltas/finais; + - mascara erros. + +2. `src/store/sttSettingsStore.test.ts` + - defaults; + - persistência; + - atualização parcial; + - remoção de secret. + +3. `src/features/voice/*.test.tsx` + - estados do botão; + - permissão negada; + - parcial/final no composer; + - auto-send desligado por padrão. + +4. `extensions/piagentui-server.test.ts` + - endpoints STT; + - validação de config; + - proxy OpenAI-compatible; + - realtime session lifecycle com mocks. + +## Plano de implementação recomendado + +1. Atualizar `README.md` com foco PiAgentUI atual. +2. Adicionar uma seção curta no README para STT planejado. +3. Criar plano TDD específico para STT antes de escrever produção. +4. Implementar configuração STT. +5. Implementar transcrição por arquivo OpenAI-compatible. +6. Implementar botão de gravação e inserção no composer. +7. Implementar realtime OpenAI como provider padrão. +8. Adicionar fallback de arquivo para provedores sem realtime. +9. Fazer verificação manual no browser/Tauri. + +## Critérios de aceite + +### README + +- Não deve mais vender o projeto como OpenCodeUI. +- Deve explicar claramente que o projeto atual é PiAgentUI. +- Deve listar funcionalidades reais já implementadas. +- Deve separar roadmap de funcionalidades existentes. +- Deve incluir comandos de desenvolvimento corretos. + +### STT + +- Usuário consegue configurar provider padrão OpenAI. +- Usuário consegue configurar provider externo OpenAI-compatible para `/audio/transcriptions`. +- Usuário consegue gravar áudio pelo microfone. +- Usuário vê transcrição parcial quando o provider realtime suporta. +- Usuário recebe texto final no composer. +- Auto-send fica desligado por padrão. +- Falhas de permissão, rede e provider são visíveis e recuperáveis. +- Testes cobrem API, store e UI principal. + +## Fontes consultadas + +- OpenAI Realtime transcription: https://developers.openai.com/api/docs/guides/realtime-transcription +- OpenAI GPT-4o Transcribe: https://developers.openai.com/api/docs/models/gpt-4o-transcribe +- OpenAI speech transcription methods cookbook: https://developers.openai.com/cookbook/examples/speech_transcription_methods +- Together AI transcription docs: https://docs.together.ai/docs/inference/transcription/overview +- Together AI Whisper Large v3: https://www.together.ai/models/openai-whisper-large-v3 diff --git a/docs/superpowers/specs/2026-05-30-piagentui-stt-lan-real-sessions-project-folders-design.md b/docs/superpowers/specs/2026-05-30-piagentui-stt-lan-real-sessions-project-folders-design.md new file mode 100644 index 0000000..4b0acb3 --- /dev/null +++ b/docs/superpowers/specs/2026-05-30-piagentui-stt-lan-real-sessions-project-folders-design.md @@ -0,0 +1,565 @@ +# Spec — STT, acesso LAN/QR, sessões reais e histórico por projeto + +**Data:** 2026-05-30 +**Status:** proposta técnica pronta para revisão do usuário antes de implementação +**Produto:** PiAgentUI +**Escopo:** implementar, com mudanças mínimas e TDD, quatro melhorias conectadas ao uso real do PiAgentUI: + +1. sistema de áudio/STT no composer; +2. exposição controlada do PiAgentUI na rede local com IP e QR Code; +3. criação de novas sessões que realmente criam novos chats no Pi Agent; +4. histórico lateral agrupado por pastas/projetos, expansível e recolhível. + +## Contexto observado no projeto + +Arquitetura atual relevante: + +- Backend local da UI fica em `extensions/piagentui-server.ts`. +- Núcleo de helpers seguros fica em `extensions/piagentui-server-core.ts`. +- O servidor HTTP atualmente faz bind em `127.0.0.1` e valida `Host`/`Origin` como loopback-only. +- `serveIndexHtml()` injeta `window.PI_BOOT_DATA` com `baseUrl: http://127.0.0.1:` e bearer token local. +- O discovery local é salvo em `~/.pi/agent/piagentui-port.json` com `{ port, token }`. +- `POST /api/sessions` atualmente **não cria sessão real**: ele apenas retorna `getSessionInfo(getCurrentSessionId())`. +- `GET /api/sessions` lê arquivos `.jsonl` do diretório de sessões e deriva metadados via `readSessionMetadata()`. +- `readSessionMetadata()` já extrai `header.cwd`, título por `session_info` ou primeira mensagem de usuário, timestamps e contagem básica. +- `sendUserMessageToRequestedSession()` já consegue trocar rapidamente para uma sessão solicitada via `latestCtx.switchSession(sessionFile, { withSession })` e enviar mensagem nela. +- A UI de sessões está em `src/features/sessions/SessionList.tsx`. +- O estado de sessões vem de `src/contexts/SessionContext.tsx` e `src/api/session.ts`. +- O input/composer está em `src/features/chat/InputBox.tsx` e `src/features/chat/input/InputToolbar.tsx`. +- Já existem anexos multimodais, incluindo áudio como arquivo quando o modelo suporta. +- A store de servidores fica em `src/store/serverStore.ts` e já suporta múltiplos backends, bearer token, Basic Auth e health checks. + +## Objetivos + +### Objetivo 1 — STT no composer + +Adicionar entrada por voz sem substituir o fluxo de texto: + +- botão de microfone no composer; +- gravação de áudio pelo navegador/Tauri webview; +- transcrição por provider configurável; +- inserção do texto transcrito no input; +- fallback por arquivo via OpenAI-compatible `/audio/transcriptions`; +- arquitetura preparada para realtime OpenAI depois, sem bloquear o MVP. + +### Objetivo 2 — acesso LAN com QR Code + +Permitir que o usuário acesse o PiAgentUI por outro dispositivo na mesma rede local: + +- manter acesso LAN **desligado por padrão**; +- quando ligado, mostrar IP local do computador, URL de acesso e QR Code; +- não remover autenticação existente; +- não expor sem aviso que o controle do agente fica disponível na rede local; +- manter loopback funcionando normalmente. + +### Objetivo 3 — novas sessões reais no Pi Agent + +Corrigir o comportamento de “novo chat”: + +- `New chat` deve criar um novo arquivo de sessão Pi `.jsonl`; +- deve alternar rapidamente para essa sessão real; +- enviar a primeira mensagem nessa sessão deve persistir no novo arquivo, não apenas simular um chat novo na UI; +- o retorno de `POST /api/sessions` deve conter o id real, diretório real e metadata real. + +### Objetivo 4 — histórico por pastas/projetos + +Agrupar sessões no histórico lateral por projeto: + +- cada pasta representa um `cwd`/diretório de projeto vindo do header da sessão; +- nome visual da pasta = basename do diretório, com fallback legível; +- pastas podem expandir/recolher; +- sessões ficam dentro da pasta do projeto; +- busca continua funcionando; +- seleção e drag/drop de sessão continuam funcionando; +- sem reorganizar o backend inteiro de sessões. + +## Não objetivos + +- Não implementar TTS/voz falada nesta fase. +- Não criar sistema multiusuário, login ou permissões finas. +- Não abrir o servidor LAN por padrão. +- Não publicar automaticamente a extensão. +- Não renomear todo o legado `opencode`/OpenCodeUI agora. +- Não refatorar `SessionList.tsx` inteiro além do necessário para agrupamento por projeto. +- Não alterar arquitetura de pane layout, terminal, file explorer ou MCP além dos pontos necessários. + +## Decisões recomendadas + +### A. STT em duas fases, mas com base única + +**Recomendado:** implementar primeiro `file transcription`, com tipos e UI já preparados para `realtime`. + +Motivo: + +- é mais rápido e testável; +- funciona com OpenAI e provedores OpenAI-compatible; +- evita acoplar a primeira entrega a WebSocket realtime; +- mantém o caminho aberto para `gpt-realtime-whisper`. + +Configuração inicial: + +```ts +export type SttMode = 'file' | 'realtime' +export type SttProviderKind = 'openai' | 'openai-compatible' + +export interface SttSettings { + enabled: boolean + providerKind: SttProviderKind + mode: SttMode + baseUrl: string + apiKeyConfigured: boolean + transcriptionEndpoint: string + transcriptionModel: string + language?: string + insertMode: 'append' | 'replace' +} +``` + +O segredo real da API key não deve ser retornado ao frontend depois de salvo. A UI recebe apenas `apiKeyConfigured: true/false`. + +### B. Settings STT server-side local + +**Recomendado:** salvar configuração STT em arquivo local do usuário: + +```text +~/.pi/agent/piagentui-settings.json +``` + +Estrutura mínima: + +```json +{ + "stt": { + "enabled": true, + "providerKind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.openai.com/v1", + "apiKey": "...", + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "gpt-4o-mini-transcribe", + "language": "pt", + "insertMode": "append" + }, + "network": { + "lanAccessEnabled": false + } +} +``` + +Motivo: + +- evita persistir API key no localStorage do browser; +- permite LAN sem expor secrets no `window.PI_BOOT_DATA`; +- mantém tudo local e simples; +- evita banco de dados ou integração de credenciais complexa. + +### C. LAN por bind amplo + validação dinâmica + +**Recomendado:** o servidor pode escutar em `0.0.0.0`, mas responder a clientes não-loopback apenas quando `network.lanAccessEnabled === true`. + +Mudanças necessárias: + +- `listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0')`; +- substituir validação loopback-only por função configurável: + - loopback sempre permitido; + - LAN permitido apenas se `lanAccessEnabled`; + - `Origin` deve bater com host loopback ou LAN permitido; +- `serveIndexHtml(req, res)` deve montar `baseUrl` a partir de `req.headers.host`, não sempre `127.0.0.1`; +- endpoint `GET /api/network/access` retorna estado, IPs e URLs; +- endpoint `POST /api/network/access` liga/desliga LAN. + +Acesso LAN expõe controle do agente para quem estiver na rede e conseguir acessar a URL. A UI deve mostrar warning explícito. + +### D. QR Code no frontend + +**Recomendado:** gerar o QR Code no frontend a partir da URL LAN ativa. + +Opções: + +1. usar dependência pequena `qrcode`; +2. implementar QR manualmente; +3. usar serviço externo. + +Decisão: usar `qrcode` se não houver lib existente. É a solução mais simples, testável e offline. Evitar serviço externo por privacidade. + +### E. Criar sessão real sem mexer no core do Pi + +O contexto regular da extensão tem `switchSession`, mas `newSession()` fica restrito ao command context do Pi. Para não mexer no core do Pi agora, o backend do PiAgentUI pode criar o arquivo `.jsonl` compatível com `SessionManager.newSession()` e depois chamar `latestCtx.switchSession(newSessionFile, { withSession })`. + +Header da sessão compatível: + +```json +{ + "type": "session", + "version": 3, + "id": "", + "timestamp": "", + "cwd": "", + "parentSession": "" +} +``` + +Fluxo: + +1. receber `POST /api/sessions` com `{ directory?, title?, parentID? }`; +2. resolver `cwd = directory || latestCtx.cwd || process.cwd()`; +3. gerar id válido e filename com timestamp; +4. escrever arquivo `.jsonl` com header; +5. se `title` existir, opcionalmente adicionar entry `session_info` compatível com o parser atual; +6. trocar rapidamente para o novo arquivo com `latestCtx.switchSession()`; +7. atualizar `latestCtx` no `withSession`; +8. retornar metadata real lida de `readSessionMetadata()`. + +Se `switchSession` não estiver disponível, retornar `501` em vez de fingir sucesso. + +### F. Histórico por projeto no frontend + +**Recomendado:** agrupar no frontend usando `session.directory` já retornado pelo backend. + +Criar helper puro: + +```text +src/features/sessions/sessionProjectGroups.ts +``` + +Responsabilidades: + +- normalizar paths Windows/Linux; +- extrair nome do projeto pelo basename; +- criar chave estável por diretório normalizado; +- ordenar grupos por `max(session.time.updated)` desc; +- ordenar sessões dentro do grupo por `time.updated` desc; +- manter busca como modo flat ou grupos filtrados. + +A UI pode adicionar modo `groupedByProject?: boolean` em `SessionList`, preservando o agrupamento temporal antigo se necessário. + +Estado de expansão: + +- store local leve em `localStorage`, por exemplo `piagentui-session-project-folders`; +- padrão: pasta do projeto atual expandida; demais recolhidas; +- se busca ativa, expandir todos os grupos com match. + +## Endpoints propostos + +### STT + +#### `GET /api/settings/stt` + +Retorna settings redigidos: + +```json +{ + "enabled": true, + "providerKind": "openai-compatible", + "mode": "file", + "baseUrl": "https://api.openai.com/v1", + "apiKeyConfigured": true, + "transcriptionEndpoint": "/audio/transcriptions", + "transcriptionModel": "gpt-4o-mini-transcribe", + "language": "pt", + "insertMode": "append" +} +``` + +#### `POST /api/settings/stt` + +Atualiza settings. Se `apiKey` vier vazia/ausente, mantém chave anterior; se vier `null`, remove. + +#### `POST /api/stt/transcriptions` + +Recebe áudio como `multipart/form-data`, chama provider configurado e retorna: + +```json +{ + "text": "texto transcrito", + "durationMs": 1234, + "provider": "openai-compatible", + "model": "gpt-4o-mini-transcribe" +} +``` + +### LAN/QR + +#### `GET /api/network/access` + +```json +{ + "lanAccessEnabled": false, + "port": 58785, + "localUrl": "http://127.0.0.1:58785", + "lanUrls": ["http://192.168.0.10:58785"], + "primaryLanUrl": "http://192.168.0.10:58785" +} +``` + +#### `POST /api/network/access` + +```json +{ "lanAccessEnabled": true } +``` + +Retorna o mesmo shape do `GET`. + +### Sessões + +#### `POST /api/sessions` + +Novo comportamento: cria sessão real. + +Body: + +```json +{ + "directory": "D:/Documents/Github/PiAgentUI/PiAgentUi", + "title": "Nova conversa", + "parentID": "opcional" +} +``` + +Response: + +```json +{ + "id": "019...", + "title": "Nova conversa", + "directory": "D:/Documents/Github/PiAgentUI/PiAgentUi", + "time": { "created": 123, "updated": 123 }, + "status": { "type": "idle" }, + "summary": { "deletions": 0, "files": 0, "additions": 0 } +} +``` + +## Componentes/frontend propostos + +### STT + +Criar: + +- `src/api/stt.ts` — chamadas de settings e transcrição; +- `src/types/api/stt.ts` — tipos de settings/resposta; +- `src/hooks/useVoiceTranscription.ts` — MediaRecorder, estados e envio para backend; +- `src/features/chat/input/VoiceInputButton.tsx` — botão mic/stop/loading/error; +- alterações pontuais em `InputBox.tsx` e `InputToolbar.tsx` para inserir texto transcrito. + +Estados mínimos: + +```ts +type VoiceState = + | 'idle' + | 'requesting-permission' + | 'recording' + | 'transcribing' + | 'error' +``` + +### LAN/QR + +Criar: + +- `src/api/network.ts`; +- `src/types/api/network.ts`; +- `src/features/settings/components/NetworkAccessSettings.tsx` ou adicionar seção pequena em `ServersSettings.tsx`; +- QR gerado a partir de `primaryLanUrl`. + +Como o app já tem `ServersSettings.tsx`, a mudança mínima é adicionar uma seção “Local network access” dentro dele, sem criar novo painel de settings se não for necessário. + +### Sessões por projeto + +Criar: + +- `src/features/sessions/sessionProjectGroups.ts`; +- testes unitários para grouping; +- alterar `SessionList.tsx` para renderizar project folders quando `groupedByProject` estiver ativo; +- adicionar traduções apenas nos namespaces já usados (`chat`/`commands`/`common`) conforme necessário. + +## Segurança + +- LAN fica desligado por padrão. +- Loopback continua sempre permitido. +- API continua exigindo bearer token. +- O HTML servido injeta o token apenas para o cliente que abriu a UI; isso significa que qualquer pessoa com acesso à URL LAN durante LAN enabled pode controlar o agente. A UI deve deixar isso claro. +- STT API key não deve aparecer em resposta de settings. +- Não logar API key. +- Não aceitar `baseUrl` sem `http:` ou `https:`. +- Limitar upload STT por tamanho. Sugestão inicial: 25 MB. +- Reusar `isRequestBodySizeAllowed` ou criar limite específico para multipart. +- Não permitir path traversal ou file reads novos. + +## Plano de testes obrigatório + +### Backend extension + +Arquivo: `extensions/piagentui-server.test.ts` + +Casos: + +1. `POST /api/sessions` cria arquivo `.jsonl` com header `type=session`, `version=3`, `cwd` correto e id novo. +2. `POST /api/sessions` chama `switchSession()` com `withSession` e retorna metadata da sessão nova. +3. `POST /api/sessions` retorna `501` quando `switchSession` indisponível, sem fingir sucesso. +4. `GET /api/network/access` retorna loopback URL e lista de IPs LAN mockável. +5. LAN disabled rejeita host não-loopback. +6. LAN enabled aceita host LAN com bearer token. +7. `serveIndexHtml()` injeta `baseUrl` baseado no host da request. +8. `GET /api/settings/stt` redige `apiKey`. +9. `POST /api/settings/stt` salva settings e preserva/remover chave conforme contrato. +10. `POST /api/stt/transcriptions` valida provider config e trata erro do provider sem vazar segredo. + +Arquivo: `extensions/piagentui-server-core.test.ts` + +Casos: + +1. `isLoopbackHost()` preserva comportamento atual. +2. nova validação aceita LAN apenas quando enabled. +3. `getLocalNetworkUrls()` ignora loopback, IPv6 local problemático e interfaces internas inválidas. +4. validação de URL STT recusa protocolos não HTTP(S). + +### Frontend API/hooks + +Arquivos novos: + +- `src/api/stt.test.ts`; +- `src/api/network.test.ts`; +- `src/hooks/useVoiceTranscription.test.tsx`; +- `src/features/sessions/sessionProjectGroups.test.ts`. + +Casos: + +1. API STT envia/recebe shape correto. +2. API network chama endpoints corretos. +3. hook de voz passa por `idle -> recording -> transcribing -> idle` e chama callback com texto final. +4. hook trata permissão negada. +5. grouping por projeto cria pastas corretas para paths Windows e POSIX. +6. grouping ordena pastas por sessão mais recente. +7. grouping mantém sessões ordenadas por update. + +### Componentes + +Arquivos prováveis: + +- `src/features/chat/input/VoiceInputButton.test.tsx`; +- `src/features/settings/components/ServersSettings.test.tsx` ou novo test de `NetworkAccessSettings`; +- `src/features/sessions/SessionList.test.tsx`. + +Casos: + +1. botão de microfone mostra estados e dispara start/stop. +2. seção LAN mostra URL e QR quando enabled. +3. SessionList renderiza pastas por projeto, expande/recolhe e preserva seleção. + +## Ordem de implementação recomendada + +1. **Sessões reais primeiro** — corrige fundação crítica de chat. +2. **Agrupamento por projeto** — depende de sessões reais/metadata confiável. +3. **LAN/QR** — isolado, mas tem implicações de segurança. +4. **STT file transcription** — maior superfície; deve entrar depois da base de rede/sessão estar sólida. +5. **Realtime STT** — fase seguinte, usando o contrato já criado. + +## Critérios de aceite + +### Sessões reais + +- Clicar em New chat cria um novo arquivo `.jsonl` de sessão Pi. +- O id retornado pelo backend é diferente da sessão anterior. +- Enviar mensagem após criar novo chat persiste nessa nova sessão. +- Troca de sessão continua rápida e não perde SSE. + +### Histórico por projeto + +- Sidebar mostra pastas por projeto. +- Cada pasta contém sessões daquele `cwd`. +- Expand/recolher funciona. +- Busca ainda localiza sessões. +- Selecionar sessão dentro da pasta navega para o chat correto. + +### LAN/QR + +- Com LAN off, acesso por IP LAN recebe 403. +- Com LAN on, URL LAN abre a UI em outro dispositivo da rede. +- QR Code aponta para a URL LAN ativa. +- API continua exigindo token. +- UI mostra aviso de segurança. + +### STT + +- Usuário consegue gravar áudio e transcrever para texto. +- Texto final entra no composer sem auto-send. +- Provider OpenAI-compatible é configurável. +- API key não aparece em respostas/logs. +- Erros de permissão/rede/provider são visíveis e recuperáveis. + +## Riscos e mitigação + +| Risco | Mitigação | +| --- | --- | +| LAN expõe controle total do agente | default off, warning explícito, bearer obrigatório, permitir desligar rápido | +| Criar sessão manualmente diverge do Pi core | usar header exatamente compatível com `SessionManager.newSession()`; testes contra parser atual | +| `switchSession` indisponível em runtime antigo | retornar `501`, não simular sucesso | +| QR exige dependência nova | usar `qrcode` pequena e isolada; se rejeitado, renderizar URL primeiro e QR depois | +| STT com CORS se chamado direto do frontend | chamadas a providers sempre pelo backend local | +| API key em LAN | armazenar server-side local, responder apenas `apiKeyConfigured` | +| `SessionList.tsx` já é grande | extrair grouping puro para arquivo separado; modificar renderização o mínimo possível | + +## Arquivos previstos + +### Criar + +- `src/api/stt.ts` +- `src/api/stt.test.ts` +- `src/types/api/stt.ts` +- `src/api/network.ts` +- `src/api/network.test.ts` +- `src/types/api/network.ts` +- `src/hooks/useVoiceTranscription.ts` +- `src/hooks/useVoiceTranscription.test.tsx` +- `src/features/chat/input/VoiceInputButton.tsx` +- `src/features/chat/input/VoiceInputButton.test.tsx` +- `src/features/sessions/sessionProjectGroups.ts` +- `src/features/sessions/sessionProjectGroups.test.ts` + +### Modificar + +- `extensions/piagentui-server.ts` +- `extensions/piagentui-server.test.ts` +- `extensions/piagentui-server-core.ts` +- `extensions/piagentui-server-core.test.ts` +- `src/features/chat/InputBox.tsx` +- `src/features/chat/input/InputToolbar.tsx` +- `src/features/sessions/SessionList.tsx` +- `src/features/sessions/SessionList.test.tsx` +- `src/features/settings/components/ServersSettings.tsx` +- `src/store/serverStore.ts` apenas se necessário para refletir LAN URL ativa +- `src/locales/en/*.json` e `src/locales/zh-CN/*.json` para labels mínimos +- `package.json` se a dependência `qrcode` for adotada + +## Abordagens consideradas + +### Abordagem 1 — implementar tudo no frontend + +Rejeitada. STT direto do browser expõe API keys, sofre com CORS e não combina com LAN. + +### Abordagem 2 — mexer no core do Pi para expor `newSession` ao extension context + +Possível, mas maior. Já fizemos patch de `switchSession`; para este pacote o objetivo é mudança mínima no PiAgentUI. Só considerar se criação manual de sessão se mostrar incompatível. + +### Abordagem 3 — backend PiAgentUI como orquestrador local + +Recomendada. Mantém mudanças dentro do PiAgentUI, usa `switchSession` já disponível, preserva segurança local e permite testes focados. + +## Gate de implementação + +Esta spec cobre múltiplos subsistemas e altera segurança/rede/sessão. A implementação deve começar somente após aprovação explícita do usuário sobre este design. + +Após aprovação, criar plano em: + +```text +docs/superpowers/plans/2026-05-30-piagentui-stt-lan-real-sessions-project-folders.md +``` + +O plano deve usar TDD e commits pequenos por feature: + +1. sessões reais; +2. agrupamento por projeto; +3. LAN/QR; +4. STT settings + file transcription; +5. voice UI; +6. validação final e revisão de código. diff --git a/docs/superpowers/specs/2026-05-31-piagentui-git-composer-control-design.md b/docs/superpowers/specs/2026-05-31-piagentui-git-composer-control-design.md new file mode 100644 index 0000000..bda63a7 --- /dev/null +++ b/docs/superpowers/specs/2026-05-31-piagentui-git-composer-control-design.md @@ -0,0 +1,87 @@ +# Design — Controle Git no composer do PiAgentUI + +## Objetivo + +Adicionar à bolha de envio de mensagens um controle Git compacto, localizado no canto inferior esquerdo da toolbar do composer, mostrando a branch atual e abrindo um popover com branches e operações Git principais. + +## Direção visual aprovada + +- O controle aparece como um chip integrado à `InputToolbar`, antes dos seletores de agente e variante. +- O chip usa iconografia GitHub/Octicons, texto monoespaçado, estado dirty e chevron. +- Ao clicar, abre um popover acima da bolha de input, alinhado ao chip, seguindo o padrão visual de `DropdownMenu`: glass, borda sutil, radius alto e sombra do app. +- O popover tem duas áreas: + - lista de branches local/remota e ação de nova branch; + - status, ações Git e área dedicada de commit. +- As ações principais usam ícones: branch, commit, diff/status, pull, push, refresh, stage/unstage, arquivos e alertas. + +## Escopo MVP seguro + +Inclui: + +- carregar branch atual, branches locais/remotas e status resumido; +- trocar branch local/remota; +- criar branch a partir da atual; +- listar arquivos alterados; +- stage/unstage arquivo; +- stage all/unstage all; +- commit com textarea dedicada; +- pull e push explícitos; +- refresh de status; +- mensagens de erro e loading. + +Não inclui no MVP: + +- merge manual; +- rebase; +- reset hard; +- revert; +- stash; +- force push; +- edição interativa de hunks. + +## Segurança e comportamento + +- Backend executa Git via `spawn`/`execFile` com argv fixo, nunca shell arbitrário. +- Diretório vem do projeto atual e precisa ser repositório Git válido. +- Commit exige mensagem não vazia e pelo menos um arquivo staged. +- Pull/push são ações explícitas no popover. +- Erros do Git são retornados como mensagens sanitizadas. +- Operações atualizam status e branch após sucesso. + +## Componentes + +- `GitComposerControl`: chip + popover Git do composer. +- `src/api/vcs.ts`: funções de API para status, branches e ações. +- `src/types/api/vcs.ts`: contratos frontend/backend. +- `extensions/piagentui-git-manager.ts`: camada backend focada em Git. +- `extensions/piagentui-server.ts`: endpoints `/api/vcs/*`. + +## Endpoints planejados + +- `GET /api/vcs/info` +- `GET /api/vcs/branches` +- `GET /api/vcs/status` +- `POST /api/vcs/checkout` +- `POST /api/vcs/branch` +- `POST /api/vcs/stage` +- `POST /api/vcs/unstage` +- `POST /api/vcs/commit` +- `POST /api/vcs/pull` +- `POST /api/vcs/push` + +## Testes + +- Testes unitários do git manager com runner fake. +- Testes de API frontend (`src/api/vcs.test.ts`). +- Teste de componente para renderizar branch, abrir popover, preencher commit e disparar ações. +- Testes de servidor para endpoints principais com mocks. + +## Referência de ícones + +Usar `@primer/octicons-react`, pacote oficial do Primer/GitHub Octicons. A documentação oficial mostra importação direta, por exemplo: + +```ts +import { GitCommitIcon } from '@primer/octicons-react' +``` + +Fonte consultada via Context7: `https://primer.style/octicons/icon/git-commit-24` e `https://primer.style/octicons/code`. diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..0a0062f --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,45 @@ +import js from '@eslint/js' +import eslintConfigPrettier from 'eslint-config-prettier' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist', 'node_modules', 'public/material-icons', 'src-tauri/target/**']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + eslintConfigPrettier, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + rules: { + '@typescript-eslint/ban-ts-comment': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + 'prefer-const': 'warn', + 'react-hooks/exhaustive-deps': 'warn', + 'react-hooks/immutability': 'warn', + 'react-hooks/preserve-manual-memoization': 'off', + 'react-hooks/refs': 'warn', + 'react-hooks/set-state-in-effect': 'warn', + 'react-hooks/use-memo': 'warn', + 'react-refresh/only-export-components': 'warn', + }, + }, +]) diff --git a/extensions/piagentui-extension-manager.test.ts b/extensions/piagentui-extension-manager.test.ts new file mode 100644 index 0000000..4bb0ad4 --- /dev/null +++ b/extensions/piagentui-extension-manager.test.ts @@ -0,0 +1,128 @@ +import * as fs from 'node:fs' +import * as os from 'node:os' +import * as path from 'node:path' +import { afterEach, describe, expect, it, vi } from 'vitest' +import { + buildExtensionCatalog, + executeExtensionInstallCommand, + executeExtensionPackageRemoval, + parsePiInstallCommand, +} from './piagentui-extension-manager.js' + +const tempRoots: string[] = [] + +function makeTempRoot() { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'piagentui-extension-manager-')) + tempRoots.push(root) + return root +} + +function writeJson(filePath: string, value: unknown) { + fs.mkdirSync(path.dirname(filePath), { recursive: true }) + fs.writeFileSync(filePath, JSON.stringify(value, null, 2), 'utf8') +} + +afterEach(() => { + for (const root of tempRoots.splice(0)) { + fs.rmSync(root, { recursive: true, force: true }) + } +}) + +describe('parsePiInstallCommand', () => { + it('extracts source and local scope from a safe Pi install command', () => { + expect(parsePiInstallCommand('pi install npm:pi-hud')).toEqual({ source: 'npm:pi-hud', local: false }) + expect(parsePiInstallCommand('pi install npm:@scope/pkg -l')).toEqual({ source: 'npm:@scope/pkg', local: true }) + expect(parsePiInstallCommand('pi install -l "D:/Projects/my extension"')).toEqual({ + source: 'D:/Projects/my extension', + local: true, + }) + }) + + it('rejects commands that are not a single Pi install operation', () => { + expect(() => parsePiInstallCommand('npm install pi-hud')).toThrow(/pi install/i) + expect(() => parsePiInstallCommand('pi remove npm:pi-hud')).toThrow(/pi install/i) + expect(() => parsePiInstallCommand('pi install npm:pi-hud && rm -rf .')).toThrow(/unsupported/i) + expect(() => parsePiInstallCommand('pi install')).toThrow(/missing/i) + }) +}) + +describe('buildExtensionCatalog', () => { + it('groups configured packages with metadata, resource counts, and active or inactive status', () => { + const homeDir = makeTempRoot() + const cwd = path.join(homeDir, 'project') + const userPackageRoot = path.join(homeDir, '.pi', 'agent', 'npm', 'node_modules', 'pi-demo') + const projectPackageRoot = path.join(cwd, '.pi', 'npm', 'node_modules', 'project-demo') + const missingPackageSource = 'npm:missing-demo' + + writeJson(path.join(homeDir, '.pi', 'agent', 'settings.json'), { + packages: ['npm:pi-demo', { source: missingPackageSource, extensions: [] }], + }) + writeJson(path.join(cwd, '.pi', 'settings.json'), { + packages: [{ source: 'npm:project-demo', extensions: [] }], + }) + + writeJson(path.join(userPackageRoot, 'package.json'), { + name: 'pi-demo', + version: '1.2.3', + description: 'Demo package', + pi: { extensions: ['./extensions'], skills: ['./skills'] }, + }) + fs.mkdirSync(path.join(userPackageRoot, 'extensions'), { recursive: true }) + fs.writeFileSync(path.join(userPackageRoot, 'extensions', 'demo.ts'), 'export default {}', 'utf8') + fs.mkdirSync(path.join(userPackageRoot, 'skills', 'demo'), { recursive: true }) + fs.writeFileSync(path.join(userPackageRoot, 'skills', 'demo', 'SKILL.md'), '---\nname: demo\n---', 'utf8') + + writeJson(path.join(projectPackageRoot, 'package.json'), { + name: 'project-demo', + version: '0.1.0', + description: 'Project package', + pi: { extensions: ['./extensions'] }, + }) + fs.mkdirSync(path.join(projectPackageRoot, 'extensions'), { recursive: true }) + fs.writeFileSync(path.join(projectPackageRoot, 'extensions', 'project.ts'), 'export default {}', 'utf8') + + const catalog = buildExtensionCatalog({ cwd, homeDir }) + + expect(catalog.summary).toEqual({ total: 3, active: 1, inactive: 1, missing: 1, error: 0 }) + + const userPackage = catalog.packages.find(pkg => pkg.source === 'npm:pi-demo') + expect(userPackage).toMatchObject({ + source: 'npm:pi-demo', + scope: 'user', + packageName: 'pi-demo', + version: '1.2.3', + description: 'Demo package', + status: 'active', + installedPath: userPackageRoot, + }) + expect(userPackage?.resources.extensions).toEqual([ + expect.objectContaining({ + name: 'demo.ts', + enabled: true, + path: path.join(userPackageRoot, 'extensions', 'demo.ts'), + }), + ]) + expect(userPackage?.resources.skills).toEqual([expect.objectContaining({ name: 'demo', enabled: true })]) + + const projectPackage = catalog.packages.find(pkg => pkg.source === 'npm:project-demo') + expect(projectPackage).toMatchObject({ source: 'npm:project-demo', scope: 'project', status: 'inactive' }) + expect(projectPackage?.resources.extensions).toEqual([ + expect.objectContaining({ name: 'project.ts', enabled: false }), + ]) + + const missingPackage = catalog.packages.find(pkg => pkg.source === missingPackageSource) + expect(missingPackage).toMatchObject({ source: missingPackageSource, scope: 'user', status: 'missing' }) + }) +}) + +describe('extension package operations', () => { + it('runs parsed install and removal through the Pi CLI without executing pasted shell text', async () => { + const runner = vi.fn(async () => ({ stdout: 'ok', stderr: '' })) + + await executeExtensionInstallCommand('pi install npm:pi-hud -l', { cwd: '/repo', runner }) + await executeExtensionPackageRemoval({ source: 'npm:pi-hud', scope: 'project' }, { cwd: '/repo', runner }) + + expect(runner).toHaveBeenNthCalledWith(1, ['install', 'npm:pi-hud', '-l'], { cwd: '/repo' }) + expect(runner).toHaveBeenNthCalledWith(2, ['remove', 'npm:pi-hud', '-l'], { cwd: '/repo' }) + }) +}) diff --git a/extensions/piagentui-extension-manager.ts b/extensions/piagentui-extension-manager.ts new file mode 100644 index 0000000..05477d1 --- /dev/null +++ b/extensions/piagentui-extension-manager.ts @@ -0,0 +1,513 @@ +import { spawn } from 'node:child_process' +import * as fs from 'node:fs' +import * as os from 'node:os' +import * as path from 'node:path' + +export type ExtensionPackageScope = 'user' | 'project' +export type ExtensionPackageStatus = 'active' | 'inactive' | 'missing' | 'error' +export type ExtensionResourceType = 'extensions' | 'skills' | 'prompts' | 'themes' + +export interface ExtensionResource { + name: string + path: string + enabled: boolean +} + +export interface ExtensionPackageResources { + extensions: ExtensionResource[] + skills: ExtensionResource[] + prompts: ExtensionResource[] + themes: ExtensionResource[] +} + +export interface ExtensionPackageInfo { + source: string + scope: ExtensionPackageScope + filtered: boolean + installedPath?: string + packageName?: string + version?: string + description?: string + image?: string + keywords?: string[] + status: ExtensionPackageStatus + error?: string + resources: ExtensionPackageResources +} + +export interface ExtensionCatalogSummary { + total: number + active: number + inactive: number + missing: number + error: number +} + +export interface ExtensionCatalog { + packages: ExtensionPackageInfo[] + summary: ExtensionCatalogSummary +} + +export interface BuildExtensionCatalogOptions { + cwd: string + homeDir?: string +} + +interface PiSettings { + packages?: PackageSourceEntry[] +} + +interface PackageSourceObject { + source: string + extensions?: string[] + skills?: string[] + prompts?: string[] + themes?: string[] +} + +type PackageSourceEntry = string | PackageSourceObject + +interface NormalizedPackageSource { + source: string + scope: ExtensionPackageScope + filtered: boolean + filters: Partial> +} + +interface PackageJsonMetadata { + name?: string + version?: string + description?: string + keywords?: string[] + pi?: Partial> & { image?: string } +} + +export interface ParsedPiInstallCommand { + source: string + local: boolean +} + +export type PiCommandRunner = (args: string[], options: { cwd: string }) => Promise<{ stdout: string; stderr: string }> + +const RESOURCE_TYPES: ExtensionResourceType[] = ['extensions', 'skills', 'prompts', 'themes'] + +const RESOURCE_FILE_PATTERNS: Record = { + extensions: /\.(?:ts|js)$/, + skills: /\.md$/, + prompts: /\.md$/, + themes: /\.json$/, +} + +function getHomeDir(homeDir?: string): string { + return homeDir || process.env.USERPROFILE || process.env.HOME || os.homedir() +} + +function getAgentDir(homeDir?: string): string { + return path.join(getHomeDir(homeDir), '.pi', 'agent') +} + +function readJsonFile(filePath: string): T | null { + if (!fs.existsSync(filePath)) return null + try { + return JSON.parse(fs.readFileSync(filePath, 'utf8')) as T + } catch { + return null + } +} + +function readSettings(filePath: string): PiSettings { + return readJsonFile(filePath) ?? {} +} + +function normalizePackageEntry( + entry: PackageSourceEntry, + scope: ExtensionPackageScope, +): NormalizedPackageSource | null { + if (typeof entry === 'string') { + const source = entry.trim() + return source ? { source, scope, filtered: false, filters: {} } : null + } + + if (!entry || typeof entry.source !== 'string') return null + const source = entry.source.trim() + if (!source) return null + + return { + source, + scope, + filtered: true, + filters: { + extensions: entry.extensions, + skills: entry.skills, + prompts: entry.prompts, + themes: entry.themes, + }, + } +} + +function parseNpmPackageName(source: string): string | null { + if (!source.startsWith('npm:')) return null + const spec = source.slice('npm:'.length).trim() + const match = spec.match(/^(@?[^@]+(?:\/[^@]+)?)(?:@.+)?$/) + return (match?.[1] ?? spec) || null +} + +function isProbablyLocalSource(source: string): boolean { + return ( + source.startsWith('.') || + source.startsWith('~') || + path.isAbsolute(source) || + /^[a-zA-Z]:[\\/]/.test(source) || + source.includes('\\') + ) +} + +function resolveLocalSource(source: string, scope: ExtensionPackageScope, cwd: string, homeDir?: string): string { + const baseDir = scope === 'project' ? path.join(cwd, '.pi') : getAgentDir(homeDir) + if (source.startsWith('~')) return path.resolve(path.join(getHomeDir(homeDir), source.slice(1))) + if (path.isAbsolute(source) || /^[a-zA-Z]:[\\/]/.test(source)) return path.resolve(source) + return path.resolve(baseDir, source) +} + +function parseGitInstallPathParts(source: string): { host: string; repoPath: string } | null { + const normalized = source.replace(/^git:/, '') + const githubShorthand = normalized.match(/^github\.com[/:]([^\s]+)$/) + if (githubShorthand) return { host: 'github.com', repoPath: githubShorthand[1].replace(/\.git$/, '') } + + const sshMatch = normalized.match(/^git@([^:]+):(.+)$/) + if (sshMatch) return { host: sshMatch[1], repoPath: sshMatch[2].replace(/\.git$/, '') } + + try { + const url = new URL(normalized) + if (!url.hostname || !url.pathname) return null + return { host: url.hostname, repoPath: url.pathname.replace(/^\//, '').replace(/\.git$/, '') } + } catch { + return null + } +} + +function resolveInstalledPath( + source: string, + scope: ExtensionPackageScope, + cwd: string, + homeDir?: string, +): string | undefined { + const agentDir = getAgentDir(homeDir) + if (source.startsWith('npm:')) { + const packageName = parseNpmPackageName(source) + if (!packageName) return undefined + const installRoot = scope === 'project' ? path.join(cwd, '.pi', 'npm') : path.join(agentDir, 'npm') + const packagePath = path.join(installRoot, 'node_modules', ...packageName.split('/')) + return fs.existsSync(packagePath) ? packagePath : undefined + } + + if (isProbablyLocalSource(source)) { + const packagePath = resolveLocalSource(source, scope, cwd, homeDir) + return fs.existsSync(packagePath) ? packagePath : undefined + } + + const gitParts = parseGitInstallPathParts(source) + if (gitParts) { + const installRoot = scope === 'project' ? path.join(cwd, '.pi', 'git') : path.join(agentDir, 'git') + const packagePath = path.join(installRoot, gitParts.host, ...gitParts.repoPath.split(/[\\/]+/)) + return fs.existsSync(packagePath) ? packagePath : undefined + } + + return undefined +} + +function collectFiles(root: string, resourceType: ExtensionResourceType): string[] { + if (!fs.existsSync(root)) return [] + const stat = fs.statSync(root) + if (stat.isFile()) return RESOURCE_FILE_PATTERNS[resourceType].test(root) ? [root] : [] + if (!stat.isDirectory()) return [] + + const files: string[] = [] + for (const entry of fs.readdirSync(root, { withFileTypes: true })) { + const entryPath = path.join(root, entry.name) + if (entry.isDirectory()) { + files.push(...collectFiles(entryPath, resourceType)) + } else if (entry.isFile() && RESOURCE_FILE_PATTERNS[resourceType].test(entryPath)) { + files.push(entryPath) + } + } + return files.sort((a, b) => a.localeCompare(b)) +} + +function stripOverridePatterns(entries: string[]): string[] { + return entries.filter(entry => !entry.trim().startsWith('!')) +} + +function resolveManifestEntry(packageRoot: string, entry: string, resourceType: ExtensionResourceType): string[] { + const normalized = entry.trim() + if (!normalized || normalized.startsWith('!')) return [] + + if (normalized.includes('*')) { + const conventionRoot = path.join(packageRoot, resourceType) + return collectFiles(conventionRoot, resourceType) + } + + const entryPath = path.resolve(packageRoot, normalized) + return collectFiles(entryPath, resourceType) +} + +function discoverResourcePaths( + packageRoot: string, + metadata: PackageJsonMetadata | null, + resourceType: ExtensionResourceType, +): string[] { + const manifestEntries = metadata?.pi?.[resourceType] + if (manifestEntries && manifestEntries.length > 0) { + const files = stripOverridePatterns(manifestEntries).flatMap(entry => + resolveManifestEntry(packageRoot, entry, resourceType), + ) + return Array.from(new Set(files)).sort((a, b) => a.localeCompare(b)) + } + + return collectFiles(path.join(packageRoot, resourceType), resourceType) +} + +function toRelativePosix(packageRoot: string, filePath: string): string { + return path.relative(packageRoot, filePath).replace(/\\/g, '/') +} + +function wildcardToRegExp(pattern: string): RegExp { + const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '.*') + return new RegExp(`^${escaped}$`) +} + +function matchesFilter(packageRoot: string, filePath: string, patterns: string[]): boolean { + const relativePath = toRelativePosix(packageRoot, filePath) + const normalizedPatterns = patterns.map(pattern => pattern.trim()).filter(Boolean) + if (normalizedPatterns.length === 0) return false + + return normalizedPatterns.some(pattern => { + const positivePattern = pattern.startsWith('!') ? pattern.slice(1) : pattern + if (!positivePattern) return false + const normalizedPattern = positivePattern.replace(/\\/g, '/') + return ( + relativePath === normalizedPattern || + relativePath.endsWith(`/${normalizedPattern}`) || + wildcardToRegExp(normalizedPattern).test(relativePath) + ) + }) +} + +function resourceName(filePath: string): string { + if (path.basename(filePath).toLowerCase() === 'skill.md') return path.basename(path.dirname(filePath)) + return path.basename(filePath) +} + +function buildResources( + packageRoot: string, + metadata: PackageJsonMetadata | null, + filters: Partial>, +): ExtensionPackageResources { + const resources = {} as ExtensionPackageResources + + for (const resourceType of RESOURCE_TYPES) { + const files = discoverResourcePaths(packageRoot, metadata, resourceType) + const patterns = filters[resourceType] + resources[resourceType] = files.map(filePath => ({ + name: resourceName(filePath), + path: filePath, + enabled: patterns === undefined ? true : matchesFilter(packageRoot, filePath, patterns), + })) + } + + return resources +} + +function hasEnabledResource(resources: ExtensionPackageResources): boolean { + return RESOURCE_TYPES.some(resourceType => resources[resourceType].some(resource => resource.enabled)) +} + +function countByStatus(packages: ExtensionPackageInfo[]): ExtensionCatalogSummary { + return packages.reduce( + (summary, pkg) => { + summary.total += 1 + summary[pkg.status] += 1 + return summary + }, + { total: 0, active: 0, inactive: 0, missing: 0, error: 0 }, + ) +} + +function readPackageMetadata(packageRoot: string): { metadata: PackageJsonMetadata | null; error?: string } { + const packageJsonPath = path.join(packageRoot, 'package.json') + if (!fs.existsSync(packageJsonPath)) return { metadata: null } + + try { + return { metadata: JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')) as PackageJsonMetadata } + } catch (error) { + return { metadata: null, error: error instanceof Error ? error.message : String(error) } + } +} + +export function buildExtensionCatalog(options: BuildExtensionCatalogOptions): ExtensionCatalog { + const homeDir = getHomeDir(options.homeDir) + const agentDir = getAgentDir(homeDir) + const userSettings = readSettings(path.join(agentDir, 'settings.json')) + const projectSettings = readSettings(path.join(options.cwd, '.pi', 'settings.json')) + const configuredPackages = [ + ...(userSettings.packages ?? []).map(entry => normalizePackageEntry(entry, 'user')), + ...(projectSettings.packages ?? []).map(entry => normalizePackageEntry(entry, 'project')), + ].filter((entry): entry is NormalizedPackageSource => entry !== null) + + const packages = configuredPackages.map(entry => { + const installedPath = resolveInstalledPath(entry.source, entry.scope, options.cwd, homeDir) + if (!installedPath) { + return { + source: entry.source, + scope: entry.scope, + filtered: entry.filtered, + status: 'missing', + resources: { extensions: [], skills: [], prompts: [], themes: [] }, + } + } + + const { metadata, error } = readPackageMetadata(installedPath) + const resources = buildResources(installedPath, metadata, entry.filters) + const status: ExtensionPackageStatus = error ? 'error' : hasEnabledResource(resources) ? 'active' : 'inactive' + + return { + source: entry.source, + scope: entry.scope, + filtered: entry.filtered, + installedPath, + packageName: metadata?.name, + version: metadata?.version, + description: metadata?.description, + image: metadata?.pi?.image, + keywords: metadata?.keywords, + status, + error, + resources, + } + }) + + packages.sort((a, b) => { + if (a.scope !== b.scope) return a.scope === 'project' ? -1 : 1 + return (a.packageName || a.source).localeCompare(b.packageName || b.source) + }) + + return { packages, summary: countByStatus(packages) } +} + +function tokenizeCommand(command: string): string[] { + const tokens: string[] = [] + let current = '' + let quote: '"' | "'" | null = null + + for (let index = 0; index < command.length; index += 1) { + const char = command[index] + if (quote) { + if (char === quote) { + quote = null + } else { + current += char + } + continue + } + + if (char === '"' || char === "'") { + quote = char + continue + } + + if (/\s/.test(char)) { + if (current) { + tokens.push(current) + current = '' + } + continue + } + + current += char + } + + if (quote) throw new Error('Unterminated quote in install command') + if (current) tokens.push(current) + return tokens +} + +export function parsePiInstallCommand(command: string): ParsedPiInstallCommand { + const tokens = tokenizeCommand(command.trim()) + if ( + tokens.length < 2 || + path + .basename(tokens[0]) + .replace(/\.(cmd|exe)$/i, '') + .toLowerCase() !== 'pi' + ) { + throw new Error('Paste a pi install command, for example: pi install npm:pi-hud') + } + if (tokens[1] !== 'install') { + throw new Error('Only pi install commands are supported') + } + + let local = false + let source: string | null = null + for (const token of tokens.slice(2)) { + if (token === '-l' || token === '--local') { + local = true + continue + } + if (token.startsWith('-')) throw new Error(`Unsupported install option: ${token}`) + if (source) throw new Error(`Unsupported extra argument: ${token}`) + if (/[;&|<>`]/.test(token)) throw new Error(`Unsupported shell syntax in install command: ${token}`) + source = token + } + + if (!source) throw new Error('Missing extension source in pi install command') + return { source, local } +} + +function getPiExecutable(): string { + return process.platform === 'win32' ? 'pi.cmd' : 'pi' +} + +export function defaultPiCommandRunner( + args: string[], + options: { cwd: string }, +): Promise<{ stdout: string; stderr: string }> { + return new Promise((resolve, reject) => { + const child = spawn(getPiExecutable(), args, { cwd: options.cwd, shell: false }) + let stdout = '' + let stderr = '' + + child.stdout?.on('data', chunk => { + stdout += String(chunk) + }) + child.stderr?.on('data', chunk => { + stderr += String(chunk) + }) + child.on('error', reject) + child.on('close', code => { + if (code === 0) { + resolve({ stdout, stderr }) + return + } + reject(new Error(stderr.trim() || `pi ${args.join(' ')} exited with code ${code ?? 'unknown'}`)) + }) + }) +} + +export async function executeExtensionInstallCommand( + command: string, + options: { cwd: string; runner?: PiCommandRunner }, +): Promise<{ stdout: string; stderr: string; source: string; scope: ExtensionPackageScope }> { + const parsed = parsePiInstallCommand(command) + const runner = options.runner ?? defaultPiCommandRunner + const args = ['install', parsed.source, ...(parsed.local ? ['-l'] : [])] + const result = await runner(args, { cwd: options.cwd }) + return { ...result, source: parsed.source, scope: parsed.local ? 'project' : 'user' } +} + +export async function executeExtensionPackageRemoval( + target: { source: string; scope: ExtensionPackageScope }, + options: { cwd: string; runner?: PiCommandRunner }, +): Promise<{ stdout: string; stderr: string }> { + const runner = options.runner ?? defaultPiCommandRunner + return runner(['remove', target.source, ...(target.scope === 'project' ? ['-l'] : [])], { cwd: options.cwd }) +} diff --git a/extensions/piagentui-git-manager.test.ts b/extensions/piagentui-git-manager.test.ts new file mode 100644 index 0000000..a53649d --- /dev/null +++ b/extensions/piagentui-git-manager.test.ts @@ -0,0 +1,103 @@ +import * as os from 'node:os' +import * as path from 'node:path' +import { describe, expect, it, vi } from 'vitest' +import { + checkoutGitBranch, + commitGitChanges, + createGitBranch, + getGitStatus, + listGitBranches, + stageGitPaths, + unstageGitPaths, + type GitCommandRunner, +} from './piagentui-git-manager.js' + +const repoDir = path.join(os.tmpdir(), 'piagentui-git-manager-test') + +function createRunner(outputs: Record): GitCommandRunner { + return vi.fn(async args => { + const key = args.join(' ') + const output = outputs[key] + if (!output) throw new Error(`Unexpected git args: ${key}`) + return { stdout: output.stdout ?? '', stderr: output.stderr ?? '' } + }) +} + +describe('piagentui git manager', () => { + it('parses branch output into current local and remote branches', async () => { + const runner = createRunner({ + 'branch --format=%(refname:short)|%(upstream:short)|%(objectname:short)|%(HEAD) --all': { + stdout: [ + 'main|origin/main|1111111| ', + 'feature/git-ui|origin/feature/git-ui|2222222|*', + 'origin/main||3333333| ', + ].join('\n'), + }, + }) + + const result = await listGitBranches(repoDir, runner) + + expect(result.current).toBe('feature/git-ui') + expect(result.branches).toEqual([ + { name: 'main', current: false, remote: false, upstream: 'origin/main', commit: '1111111' }, + { name: 'feature/git-ui', current: true, remote: false, upstream: 'origin/feature/git-ui', commit: '2222222' }, + { name: 'origin/main', current: false, remote: true, commit: '3333333' }, + ]) + }) + + it('parses porcelain v2 status and ahead behind data', async () => { + const runner = createRunner({ + 'status --porcelain=v2 --branch': { + stdout: [ + '# branch.oid abcdef1', + '# branch.head feature/git-ui', + '# branch.upstream origin/feature/git-ui', + '# branch.ab +2 -1', + '1 M. N... 100644 100644 100644 a b src/app.tsx', + '1 .M N... 100644 100644 100644 a b src/input.tsx', + '? src/new-file.ts', + ].join('\n'), + }, + }) + + const status = await getGitStatus(repoDir, runner) + + expect(status.branch).toBe('feature/git-ui') + expect(status.upstream).toBe('origin/feature/git-ui') + expect(status.ahead).toBe(2) + expect(status.behind).toBe(1) + expect(status.dirty).toBe(true) + expect(status.files).toEqual([ + { path: 'src/app.tsx', index: 'M', workingTree: '.', staged: true, unstaged: false, untracked: false }, + { path: 'src/input.tsx', index: '.', workingTree: 'M', staged: false, unstaged: true, untracked: false }, + { path: 'src/new-file.ts', index: '?', workingTree: '?', staged: false, unstaged: false, untracked: true }, + ]) + }) + + it('runs safe fixed argv for branch and stage operations', async () => { + const runner = createRunner({ + 'checkout main': {}, + 'checkout -b feature/new-branch': {}, + 'add -- src/app.tsx src/input.tsx': {}, + 'restore --staged -- src/app.tsx': {}, + }) + + await checkoutGitBranch(repoDir, { branch: 'main' }, runner) + await createGitBranch(repoDir, { name: 'feature/new-branch' }, runner) + await stageGitPaths(repoDir, { paths: ['src/app.tsx', 'src/input.tsx'] }, runner) + await unstageGitPaths(repoDir, { paths: ['src/app.tsx'] }, runner) + + expect(runner).toHaveBeenCalledWith(['checkout', 'main'], { cwd: repoDir }) + expect(runner).toHaveBeenCalledWith(['checkout', '-b', 'feature/new-branch'], { cwd: repoDir }) + expect(runner).toHaveBeenCalledWith(['add', '--', 'src/app.tsx', 'src/input.tsx'], { cwd: repoDir }) + expect(runner).toHaveBeenCalledWith(['restore', '--staged', '--', 'src/app.tsx'], { cwd: repoDir }) + }) + + it('rejects empty commit messages before running git', async () => { + const runner = vi.fn() + + await expect(commitGitChanges(repoDir, { message: ' ' }, runner)).rejects.toThrow('Commit message is required') + + expect(runner).not.toHaveBeenCalled() + }) +}) diff --git a/extensions/piagentui-git-manager.ts b/extensions/piagentui-git-manager.ts new file mode 100644 index 0000000..6159823 --- /dev/null +++ b/extensions/piagentui-git-manager.ts @@ -0,0 +1,259 @@ +import { spawn } from 'node:child_process' + +export interface GitCommandResult { + stdout: string + stderr: string +} + +export type GitCommandRunner = (args: string[], options: { cwd: string }) => Promise + +export interface GitBranchInfo { + name: string + current: boolean + remote: boolean + upstream?: string + commit?: string +} + +export interface GitBranchesResult { + current?: string + branches: GitBranchInfo[] +} + +export interface GitStatusFile { + path: string + index: string + workingTree: string + staged: boolean + unstaged: boolean + untracked: boolean +} + +export interface GitStatusResult { + branch?: string + upstream?: string + ahead: number + behind: number + dirty: boolean + files: GitStatusFile[] +} + +export interface GitActionResult { + ok: true + stdout?: string + stderr?: string +} + +export interface CheckoutGitBranchRequest { + branch: string +} + +export interface CreateGitBranchRequest { + name: string +} + +export interface GitPathsRequest { + paths: string[] +} + +export interface CommitGitChangesRequest { + message: string +} + +export const runGit: GitCommandRunner = (args, options) => { + return new Promise((resolve, reject) => { + const child = spawn('git', args, { cwd: options.cwd, shell: false }) + let stdout = '' + let stderr = '' + + child.stdout.setEncoding('utf8') + child.stderr.setEncoding('utf8') + child.stdout.on('data', chunk => { + stdout += chunk + }) + child.stderr.on('data', chunk => { + stderr += chunk + }) + child.on('error', reject) + child.on('close', code => { + if (code === 0) { + resolve({ stdout, stderr }) + return + } + reject(new Error((stderr || stdout || `git ${args.join(' ')} failed with exit code ${code}`).trim())) + }) + }) +} + +function assertSafeRefName(value: string, label: string): string { + const name = value.trim() + if (!name) throw new Error(`${label} is required`) + if (name.startsWith('-')) throw new Error(`Invalid ${label}`) + if (/\s/.test(name) || /[\0~^:?*[\]\\]/.test(name) || name.includes('..') || name.includes('@{')) { + throw new Error(`Invalid ${label}`) + } + return name +} + +function assertSafePath(value: string): string { + const filePath = value.trim() + if (!filePath) throw new Error('Git path is required') + if (filePath.includes('\0')) throw new Error('Invalid Git path') + return filePath +} + +function normalizeRemoteName(name: string): string { + return name.replace(/^remotes\//, '') +} + +export async function listGitBranches(cwd: string, runner: GitCommandRunner = runGit): Promise { + const { stdout } = await runner( + ['branch', '--format=%(refname:short)|%(upstream:short)|%(objectname:short)|%(HEAD)', '--all'], + { + cwd, + }, + ) + + const branches = stdout + .split(/\r?\n/) + .map(line => line.trim()) + .filter(Boolean) + .map(line => { + const [rawName, upstream, commit, head] = line.split('|') + const name = normalizeRemoteName(rawName) + return { + name, + current: head === '*', + remote: rawName.startsWith('remotes/') || name.startsWith('origin/'), + upstream: upstream || undefined, + commit: commit || undefined, + } + }) + .filter(branch => branch.name !== 'origin/HEAD') + + return { current: branches.find(branch => branch.current)?.name, branches } +} + +function parseStatusPath(line: string): string { + if (line.includes('\t')) return line.split('\t').pop() || '' + const parts = line.split(' ') + return parts[parts.length - 1] || '' +} + +export async function getGitStatus(cwd: string, runner: GitCommandRunner = runGit): Promise { + const { stdout } = await runner(['status', '--porcelain=v2', '--branch'], { cwd }) + const status: GitStatusResult = { ahead: 0, behind: 0, dirty: false, files: [] } + + for (const line of stdout.split(/\r?\n/)) { + if (!line) continue + if (line.startsWith('# branch.head ')) { + const branch = line.slice('# branch.head '.length).trim() + if (branch && branch !== '(detached)') status.branch = branch + continue + } + if (line.startsWith('# branch.upstream ')) { + status.upstream = line.slice('# branch.upstream '.length).trim() + continue + } + if (line.startsWith('# branch.ab ')) { + const match = line.match(/\+(\d+)\s+-(\d+)/) + if (match) { + status.ahead = Number(match[1]) + status.behind = Number(match[2]) + } + continue + } + if (line.startsWith('1 ') || line.startsWith('2 ')) { + const xy = line.slice(2, 4) + const file = { + path: parseStatusPath(line), + index: xy[0], + workingTree: xy[1], + staged: xy[0] !== '.', + unstaged: xy[1] !== '.', + untracked: false, + } + status.files.push(file) + continue + } + if (line.startsWith('? ')) { + status.files.push({ + path: line.slice(2).trim(), + index: '?', + workingTree: '?', + staged: false, + unstaged: false, + untracked: true, + }) + } + } + + status.dirty = status.files.length > 0 + return status +} + +export async function checkoutGitBranch( + cwd: string, + request: CheckoutGitBranchRequest, + runner: GitCommandRunner = runGit, +): Promise { + const branch = assertSafeRefName(request.branch, 'Branch') + const result = await runner(['checkout', branch], { cwd }) + return { ok: true, ...result } +} + +export async function createGitBranch( + cwd: string, + request: CreateGitBranchRequest, + runner: GitCommandRunner = runGit, +): Promise { + const name = assertSafeRefName(request.name, 'Branch name') + const result = await runner(['checkout', '-b', name], { cwd }) + return { ok: true, ...result } +} + +function normalizePaths(request: GitPathsRequest): string[] { + if (!Array.isArray(request.paths) || request.paths.length === 0) throw new Error('At least one path is required') + return request.paths.map(assertSafePath) +} + +export async function stageGitPaths( + cwd: string, + request: GitPathsRequest, + runner: GitCommandRunner = runGit, +): Promise { + const paths = normalizePaths(request) + const result = await runner(['add', '--', ...paths], { cwd }) + return { ok: true, ...result } +} + +export async function unstageGitPaths( + cwd: string, + request: GitPathsRequest, + runner: GitCommandRunner = runGit, +): Promise { + const paths = normalizePaths(request) + const result = await runner(['restore', '--staged', '--', ...paths], { cwd }) + return { ok: true, ...result } +} + +export async function commitGitChanges( + cwd: string, + request: CommitGitChangesRequest, + runner: GitCommandRunner = runGit, +): Promise { + const message = request.message.trim() + if (!message) throw new Error('Commit message is required') + const result = await runner(['commit', '-m', message], { cwd }) + return { ok: true, ...result } +} + +export async function pullGitBranch(cwd: string, runner: GitCommandRunner = runGit): Promise { + const result = await runner(['pull', '--ff-only'], { cwd }) + return { ok: true, ...result } +} + +export async function pushGitBranch(cwd: string, runner: GitCommandRunner = runGit): Promise { + const result = await runner(['push'], { cwd }) + return { ok: true, ...result } +} diff --git a/extensions/piagentui-server-core.test.ts b/extensions/piagentui-server-core.test.ts new file mode 100644 index 0000000..a646254 --- /dev/null +++ b/extensions/piagentui-server-core.test.ts @@ -0,0 +1,171 @@ +import { describe, it, expect } from 'vitest' +import { + isLoopbackHost, + validateBearerToken, + preventPathTraversal, + validateHostAndOrigin, + validateHostAndOriginForAccess, + isRequestBodySizeAllowed, + getLocalNetworkUrls, + validateSttBaseUrl, +} from './piagentui-server-core.js' + +describe('PiAgentUi Server Core Security Helpers', () => { + describe('isLoopbackHost', () => { + it('should accept loopback hostnames and IPs', () => { + expect(isLoopbackHost('localhost')).toBe(true) + expect(isLoopbackHost('127.0.0.1')).toBe(true) + expect(isLoopbackHost('[::1]')).toBe(true) + expect(isLoopbackHost('localhost:3000')).toBe(true) + expect(isLoopbackHost('127.0.0.1:8080')).toBe(true) + }) + + it('should reject external and LAN hostnames or IPs', () => { + expect(isLoopbackHost('192.168.1.1')).toBe(false) + expect(isLoopbackHost('example.com')).toBe(false) + expect(isLoopbackHost('0.0.0.0')).toBe(false) + expect(isLoopbackHost('10.0.0.1')).toBe(false) + }) + }) + + describe('validateBearerToken', () => { + const sampleToken = 'test-token-value-12345' + + it('should accept authorization headers with correct bearer token', () => { + expect(validateBearerToken(`Bearer ${sampleToken}`, sampleToken)).toBe(true) + }) + + it('should reject headers with incorrect token', () => { + expect(validateBearerToken(`Bearer wrong-token`, sampleToken)).toBe(false) + }) + + it('should reject headers with malformed format', () => { + expect(validateBearerToken(`Basic ${sampleToken}`, sampleToken)).toBe(false) + expect(validateBearerToken(sampleToken, sampleToken)).toBe(false) + expect(validateBearerToken('', sampleToken)).toBe(false) + }) + }) + + describe('preventPathTraversal', () => { + const baseDir = '/workspace/app/dist' + + it('should allow paths staying within the base directory', () => { + expect(preventPathTraversal(baseDir, 'index.html')).toBe(true) + expect(preventPathTraversal(baseDir, 'assets/main.js')).toBe(true) + }) + + it('should reject paths attempting to traverse out of the base directory', () => { + expect(preventPathTraversal(baseDir, '../index.html')).toBe(false) + expect(preventPathTraversal(baseDir, '../../etc/passwd')).toBe(false) + expect(preventPathTraversal(baseDir, 'assets/../../config.json')).toBe(false) + }) + }) + + describe('validateHostAndOrigin', () => { + it('should allow local host and local origin', () => { + expect(validateHostAndOrigin('127.0.0.1', 'http://127.0.0.1:3000')).toBe(true) + expect(validateHostAndOrigin('localhost', 'http://localhost')).toBe(true) + expect(validateHostAndOrigin('localhost:5000', '')).toBe(true) // Optional origin + }) + + it('should reject non-local host or non-local origin', () => { + expect(validateHostAndOrigin('127.0.0.1', 'http://malicious.com')).toBe(false) + expect(validateHostAndOrigin('external.com', 'http://localhost')).toBe(false) + }) + }) + + describe('validateHostAndOriginForAccess', () => { + it('should always allow loopback and only allow LAN hosts when enabled', () => { + expect(validateHostAndOriginForAccess('127.0.0.1:58785', undefined, false)).toBe(true) + expect(validateHostAndOriginForAccess('192.168.1.25:58785', undefined, false)).toBe(false) + expect(validateHostAndOriginForAccess('192.168.1.25:58785', 'http://192.168.1.25:58785', true)).toBe(true) + expect(validateHostAndOriginForAccess('192.168.1.25:58785', 'http://evil.test', true)).toBe(false) + }) + }) + + describe('getLocalNetworkUrls', () => { + it('should build LAN URLs from non-internal IPv4 interfaces', () => { + const urls = getLocalNetworkUrls(58785, { + WiFi: [ + { + address: '192.168.1.25', + family: 'IPv4', + internal: false, + netmask: '255.255.255.0', + mac: '00:00:00:00:00:01', + cidr: '192.168.1.25/24', + }, + ], + Loopback: [ + { + address: '127.0.0.1', + family: 'IPv4', + internal: true, + netmask: '255.0.0.0', + mac: '00:00:00:00:00:00', + cidr: '127.0.0.1/8', + }, + ], + }) + + expect(urls).toEqual(['http://192.168.1.25:58785']) + }) + + it('should prefer physical LAN adapters over WSL and Hyper-V virtual adapters', () => { + const urls = getLocalNetworkUrls(58785, { + 'vEthernet (WSL (Hyper-V firewall))': [ + { + address: '172.18.192.1', + family: 'IPv4', + internal: false, + netmask: '255.255.240.0', + mac: '00:15:5d:56:b1:b1', + cidr: '172.18.192.1/20', + }, + ], + 'vEthernet (Default Switch)': [ + { + address: '172.25.224.1', + family: 'IPv4', + internal: false, + netmask: '255.255.240.0', + mac: '00:15:5d:15:fd:c0', + cidr: '172.25.224.1/20', + }, + ], + Ethernet: [ + { + address: '192.168.0.150', + family: 'IPv4', + internal: false, + netmask: '255.255.255.0', + mac: '34:5a:60:fb:39:42', + cidr: '192.168.0.150/24', + }, + ], + }) + + expect(urls).toEqual(['http://192.168.0.150:58785']) + }) + }) + + describe('validateSttBaseUrl', () => { + it('should allow only HTTP(S) base URLs', () => { + expect(validateSttBaseUrl('https://api.openai.com/v1')).toBe(true) + expect(validateSttBaseUrl('http://localhost:11434/v1')).toBe(true) + expect(validateSttBaseUrl('file:///tmp/key')).toBe(false) + expect(validateSttBaseUrl('not a url')).toBe(false) + }) + }) + + describe('isRequestBodySizeAllowed', () => { + it('should allow small request content sizes', () => { + expect(isRequestBodySizeAllowed('100')).toBe(true) + expect(isRequestBodySizeAllowed('1048576')).toBe(true) // 1MB + }) + + it('should reject extremely large content sizes', () => { + expect(isRequestBodySizeAllowed('20000000')).toBe(false) // ~20MB + }) + }) +}) diff --git a/extensions/piagentui-server-core.ts b/extensions/piagentui-server-core.ts new file mode 100644 index 0000000..8bb170e --- /dev/null +++ b/extensions/piagentui-server-core.ts @@ -0,0 +1,172 @@ +import * as path from 'node:path' +import * as os from 'node:os' + +/** + * Checks if a host string matches a loopback host (localhost or 127.0.0.1 or ::1) + */ +export function isLoopbackHost(host: string | undefined): boolean { + if (!host) return false + + // Handle bracketed IPv6 hosts (e.g. "[::1]" or "[::1]:3000") + if (host.startsWith('[')) { + const closingBracket = host.indexOf(']') + if (closingBracket !== -1) { + const hostname = host.slice(1, closingBracket) + return hostname === '::1' + } + } + + // Handle port splitting for IPv4 or localhost + const lastColon = host.lastIndexOf(':') + let hostname = host + if (lastColon !== -1) { + const colonsCount = (host.match(/:/g) || []).length + if (colonsCount === 1 || host.includes('localhost')) { + hostname = host.slice(0, lastColon) + } + } + + return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1' +} + +/** + * Validates the Authorization header against the expected bearer token + */ +export function validateBearerToken(authHeader: string | undefined, expectedToken: string): boolean { + if (!authHeader || !expectedToken) return false + if (!authHeader.startsWith('Bearer ')) return false + const token = authHeader.substring(7).trim() + return token === expectedToken +} + +/** + * Prevents path traversal out of the designated base directory + */ +export function preventPathTraversal(baseDir: string, relativePath: string): boolean { + try { + const resolvedBase = path.resolve(baseDir) + const resolvedTarget = path.resolve(path.join(baseDir, relativePath)) + return resolvedTarget.startsWith(resolvedBase) + } catch { + return false + } +} + +/** + * Validates both Host and Origin headers to be local/loopback only + */ +export function validateHostAndOrigin(host: string | undefined, origin: string | undefined): boolean { + return validateHostAndOriginForAccess(host, origin, false) +} + +function getHostname(host: string | undefined): string { + if (!host) return '' + if (host.startsWith('[')) { + const closingBracket = host.indexOf(']') + return closingBracket === -1 ? host : host.slice(1, closingBracket) + } + + const lastColon = host.lastIndexOf(':') + const colonsCount = (host.match(/:/g) || []).length + if (lastColon !== -1 && colonsCount === 1) { + return host.slice(0, lastColon) + } + return host +} + +function isAllowedLanHost(host: string | undefined): boolean { + const hostname = getHostname(host) + if (!hostname || isLoopbackHost(hostname)) return false + if (hostname === '0.0.0.0') return false + if (/^\d{1,3}(?:\.\d{1,3}){3}$/.test(hostname)) return true + return false +} + +function isLikelyVirtualInterface(name: string, entry: os.NetworkInterfaceInfo): boolean { + const normalizedName = name.toLowerCase() + if ( + normalizedName.includes('wsl') || + normalizedName.includes('hyper-v') || + normalizedName.includes('vethernet') || + normalizedName.includes('default switch') || + normalizedName.includes('docker') || + normalizedName.includes('virtualbox') || + normalizedName.includes('vmware') || + normalizedName.includes('zerotier') || + normalizedName.includes('tailscale') + ) { + return true + } + + // Hyper-V virtual adapters commonly use Microsoft's 00:15:5d OUI. + return entry.mac.toLowerCase().startsWith('00:15:5d:') +} + +export function validateHostAndOriginForAccess( + host: string | undefined, + origin: string | undefined, + lanAccessEnabled: boolean, +): boolean { + const hostAllowed = isLoopbackHost(host) || (lanAccessEnabled && isAllowedLanHost(host)) + if (!hostAllowed) return false + + if (origin) { + try { + const url = new URL(origin) + const originAllowed = isLoopbackHost(url.host) || (lanAccessEnabled && isAllowedLanHost(url.host)) + if (!originAllowed) return false + } catch { + return false + } + } + + return true +} + +export function getLocalNetworkUrls( + port: number, + interfaces: NodeJS.Dict = os.networkInterfaces(), +): string[] { + const physicalUrls = new Set() + const fallbackUrls = new Set() + + for (const [name, entries] of Object.entries(interfaces)) { + for (const entry of entries || []) { + if (entry.internal || entry.family !== 'IPv4') continue + if (!isAllowedLanHost(entry.address)) continue + + const url = `http://${entry.address}:${port}` + if (isLikelyVirtualInterface(name, entry)) { + fallbackUrls.add(url) + } else { + physicalUrls.add(url) + } + } + } + + const urls = physicalUrls.size > 0 ? physicalUrls : fallbackUrls + return Array.from(urls).sort() +} + +export function validateSttBaseUrl(baseUrl: string | undefined): boolean { + if (!baseUrl) return false + try { + const url = new URL(baseUrl) + return url.protocol === 'http:' || url.protocol === 'https:' + } catch { + return false + } +} + +/** + * Guards against oversized requests + */ +export function isRequestBodySizeAllowed( + contentLength: string | undefined, + maxBytes: number = 10 * 1024 * 1024, +): boolean { + if (!contentLength) return true + const size = parseInt(contentLength, 10) + if (isNaN(size)) return false + return size <= maxBytes +} diff --git a/extensions/piagentui-server.test.ts b/extensions/piagentui-server.test.ts new file mode 100644 index 0000000..f0a6660 --- /dev/null +++ b/extensions/piagentui-server.test.ts @@ -0,0 +1,1043 @@ +import * as os from 'node:os' +import * as path from 'node:path' +import * as fs from 'node:fs' +import * as nodeHttp from 'node:http' +import { spawnSync } from 'node:child_process' + +const tempHomeDir = path.join(os.tmpdir(), `piagentui-test-home-${Math.random().toString(36).substring(2)}`) +fs.mkdirSync(tempHomeDir, { recursive: true }) + +const originalUserProfile = process.env.USERPROFILE +const originalHome = process.env.HOME + +process.env.USERPROFILE = tempHomeDir +process.env.HOME = tempHomeDir + +import { describe, it, expect, vi, afterAll } from 'vitest' +import serverInit from './piagentui-server.js' + +describe('PiAgentUi Extension Server', () => { + afterAll(() => { + // Clean up temp directory + try { + if (fs.existsSync(tempHomeDir)) { + fs.rmSync(tempHomeDir, { recursive: true, force: true }) + } + } catch { + // ignore + } + + process.env.USERPROFILE = originalUserProfile + process.env.HOME = originalHome + }) + + it('should initialize server, listen on a port, write discovery info, and respond to requests', async () => { + // Mock ExtensionAPI + const listeners: Record any> = {} + const mockPi = { + on: (event: string, callback: (...args: any[]) => any) => { + listeners[event] = callback + }, + setModel: vi.fn(), + sendUserMessage: vi.fn(), + getCommands: vi.fn(() => [ + { + name: 'review', + description: 'Run project review', + source: 'extension', + sourceInfo: { path: '/mock/extensions/review.ts', scope: 'project' }, + }, + { + name: 'release', + description: 'Use release prompt', + source: 'prompt', + sourceInfo: { path: '/mock/prompts/release.md', scope: 'global' }, + }, + { + name: 'skill:test-driven-development', + description: 'Use TDD skill', + source: 'skill', + sourceInfo: { path: '/mock/skills/test-driven-development/SKILL.md', scope: 'global' }, + }, + ]), + } + + // Initialize extension server (registers event listeners on mockPi) + serverInit(mockPi as any) + + expect(listeners['session_start']).toBeDefined() + expect(listeners['session_shutdown']).toBeDefined() + + // Create session and skill directories + const tempSessionDir = path.join(tempHomeDir, 'sessions') + fs.mkdirSync(tempSessionDir, { recursive: true }) + + const projectDir = path.join(tempHomeDir, 'project') + const globalSkillFile = path.join(tempHomeDir, '.agents', 'skills', 'global-skill', 'SKILL.md') + const projectSkillFile = path.join(projectDir, '.pi', 'skills', 'project-skill', 'SKILL.md') + const packageSkillFile = path.join( + tempHomeDir, + '.pi', + 'agent', + 'npm', + 'node_modules', + 'demo-package', + 'skills', + 'package-skill', + 'SKILL.md', + ) + const mcpConfigFile = path.join(tempHomeDir, '.pi', 'agent', 'mcp.json') + const piSettingsFile = path.join(tempHomeDir, '.pi', 'agent', 'settings.json') + const extensionPackageRoot = path.join(tempHomeDir, '.pi', 'agent', 'npm', 'node_modules', 'pi-demo') + fs.mkdirSync(path.dirname(globalSkillFile), { recursive: true }) + fs.mkdirSync(path.dirname(projectSkillFile), { recursive: true }) + fs.writeFileSync(path.join(projectDir, 'README.md'), 'PiAgentUI test repo\n', 'utf8') + spawnSync('git', ['init', '-b', 'main'], { cwd: projectDir }) + spawnSync('git', ['config', 'user.email', 'piagentui@example.test'], { cwd: projectDir }) + spawnSync('git', ['config', 'user.name', 'PiAgentUI Test'], { cwd: projectDir }) + spawnSync('git', ['add', 'README.md'], { cwd: projectDir }) + spawnSync('git', ['commit', '-m', 'initial commit'], { cwd: projectDir }) + fs.mkdirSync(path.dirname(packageSkillFile), { recursive: true }) + fs.mkdirSync(path.dirname(mcpConfigFile), { recursive: true }) + fs.mkdirSync(path.join(extensionPackageRoot, 'extensions'), { recursive: true }) + fs.writeFileSync( + mcpConfigFile, + JSON.stringify({ + mcpServers: { + context7: { + type: 'http', + url: 'https://mcp.context7.com/mcp', + description: 'Context7 docs', + directTools: true, + lifecycle: 'lazy', + }, + localTool: { + command: 'npx', + args: ['local-mcp'], + }, + }, + }), + ) + fs.writeFileSync(piSettingsFile, JSON.stringify({ packages: ['npm:pi-demo'] }), 'utf8') + fs.writeFileSync( + path.join(extensionPackageRoot, 'package.json'), + JSON.stringify({ + name: 'pi-demo', + version: '1.0.0', + description: 'Demo Pi extension package', + pi: { extensions: ['./extensions'] }, + }), + 'utf8', + ) + fs.writeFileSync(path.join(extensionPackageRoot, 'extensions', 'demo.ts'), 'export default {}', 'utf8') + fs.writeFileSync( + globalSkillFile, + '---\nname: global-skill\ndescription: Global skill description\n---\n\nGlobal content', + ) + fs.writeFileSync( + projectSkillFile, + '---\nname: project-skill\ndescription: Project skill description\n---\n\nProject content', + ) + fs.writeFileSync( + packageSkillFile, + '---\nname: package-skill\ndescription: Package skill description\n---\n\nPackage content', + ) + + // Create a mock active session file + const activeSessionId = 'test-session-uuid-12345' + const sessionFile = path.join(tempSessionDir, `session_${activeSessionId}.jsonl`) + fs.writeFileSync( + sessionFile, + JSON.stringify({ + type: 'session', + id: activeSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + '\n', + ) + + const otherSessionId = 'test-session-uuid-other' + const otherSessionFile = path.join(tempSessionDir, `session_${otherSessionId}.jsonl`) + fs.writeFileSync( + otherSessionFile, + JSON.stringify({ + type: 'session', + id: otherSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + + '\n' + + JSON.stringify({ + type: 'message', + id: 'other-user-1', + message: { role: 'user', content: [{ type: 'text', text: 'Investigate Docker access' }] }, + }) + + '\n', + ) + + const namedSessionId = 'named-session-uuid' + const namedSessionFile = path.join(tempSessionDir, `session_${namedSessionId}.jsonl`) + fs.writeFileSync( + namedSessionFile, + JSON.stringify({ + type: 'session', + id: namedSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + + '\n' + + JSON.stringify({ type: 'session_info', id: 'named-info-1', name: 'Manual Session Name' }) + + '\n' + + JSON.stringify({ + type: 'message', + id: 'named-user-1', + message: { role: 'user', content: [{ type: 'text', text: 'This should not be the title' }] }, + }) + + '\n', + ) + + const noopSessionId = 'noop-session-uuid' + const noopSessionFile = path.join(tempSessionDir, `session_${noopSessionId}.jsonl`) + fs.writeFileSync( + noopSessionFile, + JSON.stringify({ + type: 'session', + id: noopSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + '\n', + ) + + const cancelledSessionId = 'test-session-uuid-cancelled' + const cancelledSessionFile = path.join(tempSessionDir, `session_${cancelledSessionId}.jsonl`) + fs.writeFileSync( + cancelledSessionFile, + JSON.stringify({ + type: 'session', + id: cancelledSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + '\n', + ) + + const replacedSendUserMessage = vi.fn() + const replacedSetModel = vi.fn() + const switchSession = vi.fn( + async (sessionPath: string, options?: { withSession?: (ctx: any) => Promise }) => { + await listeners['session_shutdown']?.({ reason: 'resume' }) + const sessionIdFromPath = + path + .basename(sessionPath) + .replace(/\.jsonl$/, '') + .split('_') + .pop() || otherSessionId + await options?.withSession?.({ + ...mockContext, + sessionManager: { + getSessionDir: () => tempSessionDir, + getSessionId: () => sessionIdFromPath, + }, + model: undefined, + setModel: replacedSetModel, + sendUserMessage: replacedSendUserMessage, + }) + return { cancelled: false } + }, + ) + + // Mock ExtensionContext + const mockContext = { + sessionManager: { + getSessionDir: () => tempSessionDir, + getSessionId: () => activeSessionId, + }, + modelRegistry: { + getAvailable: () => [ + { + id: 'gemini-2.5-pro', + name: 'Gemini 2.5 Pro', + provider: 'google', + contextWindow: 200000, + maxOutputTokens: 64000, + reasoning: true, + input: ['text', 'image'], + }, + { + id: 'legacy-max-tokens-model', + name: 'Legacy Max Tokens Model', + provider: 'anthropic', + contextWindow: 300000, + maxTokens: 32000, + }, + ], + getAll: () => [], + find: (provider: string, id: string) => ({ id, provider, name: id }), + }, + model: { + id: 'gemini-2.5-pro', + name: 'Gemini 2.5 Pro', + provider: 'google', + contextWindow: 200000, + maxOutputTokens: 64000, + }, + setModel: vi.fn(), + cwd: projectDir, + isIdle: () => true, + getContextUsage: vi.fn(() => ({ tokens: 42000, contextWindow: 200000, percent: 21 })), + getSystemPrompt: vi.fn( + () => ` + global-skillGlobal skill description${globalSkillFile} + project-skillProject skill description${projectSkillFile} + package-skillPackage skill description${packageSkillFile} +`, + ), + abort: vi.fn(), + switchSession, + ui: { + setWidget: vi.fn(), + }, + } + + // Trigger session_start + await listeners['session_start']({}, mockContext) + + // Wait for the async server.listen callback to run and write connection info + await new Promise(resolve => setTimeout(resolve, 200)) + + // Verify widget is set + expect(mockContext.ui.setWidget).toHaveBeenCalledWith( + 'piagentui-link', + expect.arrayContaining([expect.stringContaining('PiAgentUI Web:')]), + expect.objectContaining({ placement: 'belowEditor' }), + ) + + // Verify piagentui-port.json exists in temp home dir + const discoveryPath = path.join(tempHomeDir, '.pi', 'agent', 'piagentui-port.json') + expect(fs.existsSync(discoveryPath)).toBe(true) + + // Read discovery data + const discoveryData = JSON.parse(fs.readFileSync(discoveryPath, 'utf8')) + const { port, token } = discoveryData + expect(port).toBeGreaterThan(0) + expect(token).toBeDefined() + + const baseUrl = `http://127.0.0.1:${port}` + + // 1. Test /global/health + const healthRes = await fetch(`${baseUrl}/global/health`) + expect(healthRes.status).toBe(200) + const healthData = await healthRes.json() + expect(healthData).toEqual({ status: 'ok', pi: 'ready' }) + + // 2. Test unauthorized endpoint + const unauthRes = await fetch(`${baseUrl}/api/models`) + expect(unauthRes.status).toBe(401) + + // 3. Test /api/models with correct token + const modelsRes = await fetch(`${baseUrl}/api/models`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(modelsRes.status).toBe(200) + const modelsData = (await modelsRes.json()) as any + expect(modelsData.models).toBeDefined() + expect(modelsData.models[0].id).toBe('gemini-2.5-pro') + expect(modelsData.models[0].contextLimit).toBe(200000) + expect(modelsData.models[0].outputLimit).toBe(64000) + + const legacyModel = modelsData.models.find((model: any) => model.id === 'legacy-max-tokens-model') + expect(legacyModel.contextLimit).toBe(300000) + expect(legacyModel.outputLimit).toBe(32000) + + // 4. Test /api/network/access + const networkRes = await fetch(`${baseUrl}/api/network/access`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(networkRes.status).toBe(200) + const networkData = (await networkRes.json()) as any + expect(networkData).toMatchObject({ + lanAccessEnabled: false, + port, + localUrl: `http://127.0.0.1:${port}`, + }) + expect(Array.isArray(networkData.lanUrls)).toBe(true) + + const networkEnableRes = await fetch(`${baseUrl}/api/network/access`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ lanAccessEnabled: true }), + }) + expect(networkEnableRes.status).toBe(200) + const networkEnableData = (await networkEnableRes.json()) as any + expect(networkEnableData.lanAccessEnabled).toBe(true) + if (networkEnableData.primaryLanUrl) { + expect(networkEnableData.browserLanUrl).toBe(networkEnableData.primaryLanUrl) + expect(networkEnableData.browserLanUrl).not.toContain('token=') + } + + const lanModelsRes = await new Promise<{ status: number; body: string }>((resolve, reject) => { + const req = nodeHttp.request( + { + host: '127.0.0.1', + port, + path: '/api/models', + method: 'GET', + headers: { Host: `192.168.1.25:${port}` }, + }, + response => { + let body = '' + response.setEncoding('utf8') + response.on('data', chunk => { + body += chunk + }) + response.on('end', () => resolve({ status: response.statusCode || 0, body })) + }, + ) + req.on('error', reject) + req.end() + }) + expect(lanModelsRes.status).toBe(200) + + const lanPageRes = await new Promise<{ status: number; body: string }>((resolve, reject) => { + const req = nodeHttp.request( + { + host: '127.0.0.1', + port, + path: '/', + method: 'GET', + headers: { Host: `192.168.1.25:${port}` }, + }, + response => { + let body = '' + response.setEncoding('utf8') + response.on('data', chunk => { + body += chunk + }) + response.on('end', () => resolve({ status: response.statusCode || 0, body })) + }, + ) + req.on('error', reject) + req.end() + }) + expect(lanPageRes.status).toBe(200) + expect(lanPageRes.body).toContain('token: null') + + // 5. Test STT settings and file transcription without leaking API key + const sttSettingsRes = await fetch(`${baseUrl}/api/settings/stt`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(sttSettingsRes.status).toBe(200) + const initialSttSettings = (await sttSettingsRes.json()) as any + expect(initialSttSettings.apiKeyConfigured).toBe(false) + expect(initialSttSettings.apiKey).toBeUndefined() + + const saveSttRes = await fetch(`${baseUrl}/api/settings/stt`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ + enabled: true, + providerKind: 'openai-compatible', + mode: 'file', + baseUrl: 'https://api.openai.test/v1', + apiKey: 'secret-stt-key', + transcriptionEndpoint: '/audio/transcriptions', + transcriptionModel: 'gpt-4o-mini-transcribe', + language: 'pt', + insertMode: 'append', + }), + }) + expect(saveSttRes.status).toBe(200) + const savedSttSettings = (await saveSttRes.json()) as any + expect(savedSttSettings.apiKeyConfigured).toBe(true) + expect(savedSttSettings.apiKey).toBeUndefined() + + const originalFetch = globalThis.fetch + const providerFetch = vi.fn(async (input: Parameters[0], init?: Parameters[1]) => { + const target = String(input) + if (target === 'https://api.openai.test/v1/audio/transcriptions') { + expect(init?.method).toBe('POST') + expect((init?.headers as Record).Authorization).toBe('Bearer secret-stt-key') + const body = init?.body as FormData + expect(body.get('model')).toBe('gpt-4o-mini-transcribe') + expect(body.get('language')).toBe('pt') + expect(body.get('file')).toBeInstanceOf(File) + return new Response(JSON.stringify({ text: 'texto transcrito' }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } + return originalFetch.call(globalThis, input, init) + }) + globalThis.fetch = providerFetch as typeof fetch + try { + const boundary = '----piagentui-test-boundary' + const multipartBody = [ + `--${boundary}`, + 'Content-Disposition: form-data; name="file"; filename="voice.webm"', + 'Content-Type: audio/webm', + '', + 'audio', + `--${boundary}--`, + '', + ].join('\r\n') + const transcriptionRes = await originalFetch.call(globalThis, `${baseUrl}/api/stt/transcriptions`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': `multipart/form-data; boundary=${boundary}`, + 'Content-Length': String(Buffer.byteLength(multipartBody)), + }, + body: multipartBody, + }) + expect(transcriptionRes.status).toBe(200) + const transcriptionData = (await transcriptionRes.json()) as any + expect(transcriptionData).toMatchObject({ + text: 'texto transcrito', + provider: 'openai-compatible', + model: 'gpt-4o-mini-transcribe', + }) + expect(providerFetch).toHaveBeenCalledWith( + 'https://api.openai.test/v1/audio/transcriptions', + expect.objectContaining({ method: 'POST' }), + ) + } finally { + globalThis.fetch = originalFetch + } + + const keylessSttRes = await fetch(`${baseUrl}/api/settings/stt`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ + enabled: true, + providerKind: 'openai-compatible', + baseUrl: 'http://127.0.0.1:8022/v1', + apiKey: null, + apiKeyRequired: false, + transcriptionEndpoint: '/audio/transcriptions', + transcriptionModel: 'deepdml/faster-whisper-large-v3-turbo-ct2', + }), + }) + expect(keylessSttRes.status).toBe(200) + const keylessSttSettings = (await keylessSttRes.json()) as any + expect(keylessSttSettings.apiKeyConfigured).toBe(false) + expect(keylessSttSettings.apiKeyRequired).toBe(false) + + const keylessFetch = vi.fn(async (input: Parameters[0], init?: Parameters[1]) => { + const target = String(input) + if (target === 'http://127.0.0.1:8022/v1/audio/transcriptions') { + expect(init?.headers).toEqual({}) + return new Response(JSON.stringify({ text: 'sem chave' }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } + return originalFetch.call(globalThis, input, init) + }) + globalThis.fetch = keylessFetch as typeof fetch + try { + const boundary = '----piagentui-keyless-boundary' + const multipartBody = [ + `--${boundary}`, + 'Content-Disposition: form-data; name="file"; filename="voice.webm"', + 'Content-Type: audio/webm', + '', + 'audio', + `--${boundary}--`, + '', + ].join('\r\n') + const keylessTranscriptionRes = await originalFetch.call(globalThis, `${baseUrl}/api/stt/transcriptions`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': `multipart/form-data; boundary=${boundary}`, + 'Content-Length': String(Buffer.byteLength(multipartBody)), + }, + body: multipartBody, + }) + expect(keylessTranscriptionRes.status).toBe(200) + expect(await keylessTranscriptionRes.json()).toMatchObject({ text: 'sem chave' }) + } finally { + globalThis.fetch = originalFetch + } + + const saveTtsRes = await fetch(`${baseUrl}/api/settings/tts`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ + enabled: true, + baseUrl: 'http://127.0.0.1:8022/v1', + apiKeyRequired: false, + speechEndpoint: '/audio/speech', + model: 'speaches-ai/Kokoro-82M-v1.0-ONNX', + voice: 'pf_dora', + responseFormat: 'wav', + }), + }) + expect(saveTtsRes.status).toBe(200) + const savedTtsSettings = (await saveTtsRes.json()) as any + expect(savedTtsSettings).toMatchObject({ + enabled: true, + apiKeyConfigured: false, + apiKeyRequired: false, + voice: 'pf_dora', + responseFormat: 'wav', + }) + + const invalidSttRes = await fetch(`${baseUrl}/api/settings/stt`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ baseUrl: 'file:///tmp/secrets' }), + }) + expect(invalidSttRes.status).toBe(400) + + // 6. Test /api/commands/list with built-in and dynamic Pi commands + const commandsRes = await fetch(`${baseUrl}/api/commands/list`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(commandsRes.status).toBe(200) + const commandsData = (await commandsRes.json()) as any + expect(commandsData.commands).toEqual( + expect.arrayContaining([ + expect.objectContaining({ name: 'settings', apiSource: 'builtin', category: 'general' }), + expect.objectContaining({ name: 'model', apiSource: 'builtin', category: 'model' }), + expect.objectContaining({ name: 'compact', apiSource: 'builtin', category: 'context' }), + expect.objectContaining({ + name: 'review', + description: 'Run project review', + apiSource: 'extension', + category: 'extension', + }), + expect.objectContaining({ name: 'release', apiSource: 'prompt', category: 'prompt' }), + expect.objectContaining({ name: 'skill:test-driven-development', apiSource: 'skill', category: 'skill' }), + ]), + ) + expect(commandsData.groups).toMatchObject({ builtin: 21, extension: 1, prompt: 1, skill: 1 }) + + // 5. Test /api/skills with real Pi prompt metadata + const skillsRes = await fetch(`${baseUrl}/api/skills`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(skillsRes.status).toBe(200) + const skillsData = (await skillsRes.json()) as any + expect(skillsData.skills.map((skill: any) => [skill.name, skill.source])).toEqual([ + ['global-skill', 'global'], + ['project-skill', 'project'], + ['package-skill', 'package'], + ]) + expect(skillsData.skills[0].content).toContain('Global content') + expect(skillsData.groups).toMatchObject({ global: 1, project: 1, package: 1, other: 0 }) + + // 5. Test /api/mcp/status with real local config metadata + const mcpRes = await fetch(`${baseUrl}/api/mcp/status`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(mcpRes.status).toBe(200) + const mcpData = (await mcpRes.json()) as any + expect(mcpData.configPaths).toEqual([mcpConfigFile]) + expect(mcpData.servers.context7).toMatchObject({ + status: 'configured', + transport: 'http', + source: 'global', + url: 'https://mcp.context7.com/mcp', + directTools: true, + lifecycle: 'lazy', + }) + expect(mcpData.servers.localTool).toMatchObject({ + status: 'configured', + transport: 'stdio', + command: 'npx', + args: ['local-mcp'], + }) + + // 6. Test /api/extensions with configured Pi packages and active resource info + const extensionsRes = await fetch(`${baseUrl}/api/extensions`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(extensionsRes.status).toBe(200) + const extensionsData = (await extensionsRes.json()) as any + expect(extensionsData.summary).toMatchObject({ total: 1, active: 1, inactive: 0, missing: 0, error: 0 }) + expect(extensionsData.packages).toEqual([ + expect.objectContaining({ + source: 'npm:pi-demo', + scope: 'user', + packageName: 'pi-demo', + version: '1.0.0', + description: 'Demo Pi extension package', + status: 'active', + resources: expect.objectContaining({ + extensions: [expect.objectContaining({ name: 'demo.ts', enabled: true })], + }), + }), + ]) + + fs.writeFileSync(path.join(projectDir, 'git-control.txt'), 'changed\n', 'utf8') + + const vcsStatusRes = await fetch(`${baseUrl}/api/vcs/status?directory=${encodeURIComponent(projectDir)}`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(vcsStatusRes.status).toBe(200) + const vcsStatusData = (await vcsStatusRes.json()) as any + expect(vcsStatusData).toMatchObject({ branch: 'main', dirty: true, ahead: 0, behind: 0 }) + expect(vcsStatusData.files).toEqual( + expect.arrayContaining([expect.objectContaining({ path: 'git-control.txt', untracked: true })]), + ) + + const vcsBranchesRes = await fetch(`${baseUrl}/api/vcs/branches?directory=${encodeURIComponent(projectDir)}`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(vcsBranchesRes.status).toBe(200) + const vcsBranchesData = (await vcsBranchesRes.json()) as any + expect(vcsBranchesData).toMatchObject({ current: 'main' }) + expect(vcsBranchesData.branches).toEqual([expect.objectContaining({ name: 'main', current: true, remote: false })]) + + const stageRes = await fetch(`${baseUrl}/api/vcs/stage?directory=${encodeURIComponent(projectDir)}`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ paths: ['git-control.txt'] }), + }) + expect(stageRes.status).toBe(200) + + const commitRes = await fetch(`${baseUrl}/api/vcs/commit?directory=${encodeURIComponent(projectDir)}`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ message: 'test: add git control fixture' }), + }) + expect(commitRes.status).toBe(200) + expect(await commitRes.json()).toMatchObject({ ok: true }) + + // 7. Test /api/sessions/:sessionId/context + const contextRes = await fetch(`${baseUrl}/api/sessions/${activeSessionId}/context`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(contextRes.status).toBe(200) + const contextData = (await contextRes.json()) as any + expect(contextData).toMatchObject({ + available: true, + sessionId: activeSessionId, + tokens: 42000, + contextWindow: 200000, + percent: 21, + providerID: 'google', + modelID: 'gemini-2.5-pro', + modelName: 'Gemini 2.5 Pro', + outputLimit: 64000, + }) + + const inactiveContextRes = await fetch(`${baseUrl}/api/sessions/${otherSessionId}/context`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(inactiveContextRes.status).toBe(200) + const inactiveContextData = (await inactiveContextRes.json()) as any + expect(inactiveContextData).toMatchObject({ + available: false, + sessionId: otherSessionId, + activeSessionId, + reason: 'session_not_active', + }) + + // 5. Test /api/sessions (GET) + const getSessionsRes = await fetch(`${baseUrl}/api/sessions`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(getSessionsRes.status).toBe(200) + const getSessionsData = (await getSessionsRes.json()) as any + expect(getSessionsData.sessions).toBeDefined() + expect(getSessionsData.sessions.map((session: any) => session.id)).toEqual( + expect.arrayContaining([activeSessionId, otherSessionId, namedSessionId, noopSessionId]), + ) + const sessionsById = new Map(getSessionsData.sessions.map((session: any) => [session.id, session])) + expect(sessionsById.get(otherSessionId)?.title).toBe('Investigate Docker access') + expect(sessionsById.get(namedSessionId)?.title).toBe('Manual Session Name') + expect(sessionsById.get(noopSessionId)?.title).toBe('Session noop-ses') + + // 6. Test /api/sessions (POST) creates a real Pi session and switches to it + const createSessionRes = await fetch(`${baseUrl}/api/sessions`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' }, + body: JSON.stringify({ directory: projectDir, title: 'Fresh Real Session' }), + }) + expect(createSessionRes.status).toBe(200) + const createSessionData = (await createSessionRes.json()) as any + expect(createSessionData.id).not.toBe(activeSessionId) + expect(createSessionData.title).toBe('Fresh Real Session') + expect(createSessionData.directory).toBe(projectDir) + const createdSessionFiles = fs + .readdirSync(tempSessionDir) + .filter(file => file.endsWith(`_${createSessionData.id}.jsonl`)) + expect(createdSessionFiles).toHaveLength(1) + const createdSessionContent = fs.readFileSync(path.join(tempSessionDir, createdSessionFiles[0]), 'utf8') + expect(createdSessionContent).toContain('"type":"session"') + expect(createdSessionContent).toContain('"version":3') + expect(createdSessionContent).toContain(`"cwd":"${projectDir.replace(/\\/g, '\\\\')}"`) + expect(createdSessionContent).toContain('Fresh Real Session') + expect(switchSession).toHaveBeenCalledWith( + path.join(tempSessionDir, createdSessionFiles[0]), + expect.objectContaining({ withSession: expect.any(Function) }), + ) + switchSession.mockClear() + + // 7. Test /api/sessions/abort (POST) + const abortRes = await fetch(`${baseUrl}/api/sessions/abort`, { + method: 'POST', + headers: { Authorization: `Bearer ${token}` }, + }) + expect(abortRes.status).toBe(200) + const abortData = (await abortRes.json()) as any + expect(abortData).toEqual({ status: 'aborted' }) + expect(mockContext.abort).toHaveBeenCalled() + + // 8. Test /api/messages/send (POST) + const sendRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + text: 'hello world', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + }), + }) + expect(sendRes.status).toBe(202) + expect(mockPi.sendUserMessage).toHaveBeenCalledWith('hello world') + expect(switchSession).not.toHaveBeenCalled() + + const sendOtherRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + sessionId: otherSessionId, + text: 'hello other session', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + }), + }) + expect(sendOtherRes.status).toBe(202) + expect(switchSession).toHaveBeenCalledWith( + otherSessionFile, + expect.objectContaining({ + withSession: expect.any(Function), + }), + ) + expect(replacedSetModel).toHaveBeenCalledWith({ id: 'gemini-2.5-pro', provider: 'google', name: 'gemini-2.5-pro' }) + expect(replacedSendUserMessage).toHaveBeenCalledWith('hello other session') + expect(fs.existsSync(discoveryPath)).toBe(true) + + const missingSessionRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + sessionId: 'missing-session-id', + text: 'must not be sent', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + }), + }) + expect(missingSessionRes.status).toBe(404) + expect(replacedSendUserMessage).not.toHaveBeenCalledWith('must not be sent') + + switchSession.mockImplementationOnce(async sessionPath => { + expect(sessionPath).toBe(noopSessionFile) + return { cancelled: false } + }) + const noopSwitchRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + sessionId: noopSessionId, + text: 'must not falsely succeed', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + }), + }) + expect(noopSwitchRes.status).toBe(501) + expect(replacedSendUserMessage).not.toHaveBeenCalledWith('must not falsely succeed') + + switchSession.mockImplementationOnce(async sessionPath => { + expect(sessionPath).toBe(cancelledSessionFile) + return { cancelled: true } + }) + const cancelledSwitchRes = await fetch(`${baseUrl}/api/messages/send`, { + method: 'POST', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + sessionId: cancelledSessionId, + text: 'must not be sent after cancellation', + model: { providerID: 'google', modelID: 'gemini-2.5-pro' }, + }), + }) + expect(cancelledSwitchRes.status).toBe(409) + expect(replacedSendUserMessage).not.toHaveBeenCalledWith('must not be sent after cancellation') + + // 9. Test /api/sessions/:sessionId/messages (GET) with tool formatting + // Let's write some message content to the JSONL file first + fs.appendFileSync( + sessionFile, + JSON.stringify({ + type: 'message', + id: 'msg-user-1', + message: { role: 'user', content: [{ type: 'text', text: 'run command' }], timestamp: Date.now() }, + }) + '\n', + ) + + fs.appendFileSync( + sessionFile, + JSON.stringify({ + type: 'message', + id: 'msg-assistant-1', + message: { + role: 'assistant', + content: [ + { type: 'text', text: 'sure' }, + { type: 'toolCall', id: 'tool-call-123', name: 'run_command', arguments: { command: 'echo hello' } }, + { type: 'toolCall', id: 'tool-call-456', name: 'run_command', arguments: { command: 'echo chained' } }, + { type: 'toolCall', id: 'tool-call-789', name: 'run_command', arguments: { command: 'echo error' } }, + ], + timestamp: Date.now(), + }, + }) + '\n', + ) + + fs.appendFileSync( + sessionFile, + JSON.stringify({ + type: 'message', + id: 'tool-result-123', + parentId: 'msg-assistant-1', + message: { + role: 'toolResult', + toolCallId: 'tool-call-123', + toolName: 'run_command', + content: 'hello', + isError: false, + }, + }) + '\n', + ) + + fs.appendFileSync( + sessionFile, + JSON.stringify({ + type: 'message', + id: 'tool-result-456', + parentId: 'tool-result-123', + message: { + role: 'toolResult', + toolCallId: 'tool-call-456', + toolName: 'run_command', + content: [{ type: 'text', text: 'chained output' }], + isError: false, + }, + }) + '\n', + ) + + fs.appendFileSync( + sessionFile, + JSON.stringify({ + type: 'message', + id: 'tool-result-789', + parentId: 'tool-result-456', + message: { + role: 'toolResult', + toolCallId: 'tool-call-789', + toolName: 'run_command', + content: [{ type: 'text', text: 'chained failure' }], + isError: true, + }, + }) + '\n', + ) + + const messagesRes = await fetch(`${baseUrl}/api/sessions/${activeSessionId}/messages`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(messagesRes.status).toBe(200) + const messagesData = (await messagesRes.json()) as any + expect(messagesData.messages).toBeDefined() + expect(messagesData.messages.length).toBe(2) + expect(messagesData.messages.every((message: any) => message.info.role !== 'toolResult')).toBe(true) + + // Verify tool part mapping has both id and callID and chained toolResult entries attach by toolCallId. + const assistantMsg = messagesData.messages[1] + const toolsById = new Map(assistantMsg.parts.filter((p: any) => p.type === 'tool').map((p: any) => [p.id, p])) + const toolPart = toolsById.get('tool-call-123') as any + expect(toolPart).toBeDefined() + expect(toolPart.id).toBe('tool-call-123') + expect(toolPart.callID).toBe('tool-call-123') + expect(toolPart.state.status).toBe('completed') + expect(toolPart.state.output).toBe('hello') + + const chainedToolPart = toolsById.get('tool-call-456') as any + expect(chainedToolPart.state.status).toBe('completed') + expect(chainedToolPart.state.output).toBe('chained output') + + const failedChainedToolPart = toolsById.get('tool-call-789') as any + expect(failedChainedToolPart.state.status).toBe('error') + expect(failedChainedToolPart.state.output).toBe('chained failure') + expect(failedChainedToolPart.state.error).toBe('chained failure') + + // 10. Test SSE Event Stream (/global/event) + const eventsRes = await fetch(`${baseUrl}/global/event`, { + headers: { Authorization: `Bearer ${token}` }, + }) + expect(eventsRes.status).toBe(200) + const reader = eventsRes.body?.getReader() + expect(reader).toBeDefined() + + // Read initial server.connected event + const chunk1 = await reader?.read() + const text1 = new TextDecoder().decode(chunk1?.value) + expect(text1).toContain('server.connected') + + // Trigger new session creation + const nextSessionId = 'test-session-uuid-56789' + const nextSessionFile = path.join(tempSessionDir, `session_${nextSessionId}.jsonl`) + fs.writeFileSync( + nextSessionFile, + JSON.stringify({ + type: 'session', + id: nextSessionId, + timestamp: new Date().toISOString(), + cwd: '/mock/cwd', + }) + '\n', + ) + + const nextMockContext = { + ...mockContext, + sessionManager: { + getSessionDir: () => tempSessionDir, + getSessionId: () => nextSessionId, + }, + } + + // Trigger session_start for the new session - should broadcast session.created! + await listeners['session_start']({}, nextMockContext as any) + const chunk2 = await reader?.read() + const text2 = new TextDecoder().decode(chunk2?.value) + expect(text2).toContain('session.created') + expect(text2).toContain(nextSessionId) + + // Trigger agent_start - should broadcast session.status and session.updated! + await listeners['agent_start']() + const chunk3 = await reader?.read() + const text3 = new TextDecoder().decode(chunk3?.value) + expect(text3).toContain('session.status') + expect(text3).toContain('working') + expect(text3).toContain('session.updated') + + // Close reader stream + await reader?.cancel() + + // Trigger session_shutdown + await listeners['session_shutdown']({}) + + // Verify discovery file is deleted + expect(fs.existsSync(discoveryPath)).toBe(false) + }) +}) diff --git a/extensions/piagentui-server.ts b/extensions/piagentui-server.ts new file mode 100644 index 0000000..37913c3 --- /dev/null +++ b/extensions/piagentui-server.ts @@ -0,0 +1,2345 @@ +import type { ExtensionAPI, ExtensionContext } from '@mariozechner/pi-coding-agent' +import { WebSocketServer, WebSocket } from 'ws' +import * as http from 'node:http' +import * as fs from 'node:fs' +import * as path from 'node:path' +import { randomUUID } from 'node:crypto' +import { + validateBearerToken, + preventPathTraversal, + validateHostAndOriginForAccess, + isLoopbackHost, + isRequestBodySizeAllowed, + getLocalNetworkUrls, + validateSttBaseUrl, +} from './piagentui-server-core.js' +import { + createPiAgentUiSettingsStore, + resolvePiAgentUiSettingsPaths, + type PiAgentUiLocalSettings, + type StoredSttSettings, + type StoredTtsSettings, +} from './piagentui-settings-store.js' +import { + buildExtensionCatalog, + executeExtensionInstallCommand, + executeExtensionPackageRemoval, + type ExtensionPackageScope, +} from './piagentui-extension-manager.js' +import { + checkoutGitBranch, + commitGitChanges, + createGitBranch, + getGitStatus, + listGitBranches, + pullGitBranch, + pushGitBranch, + stageGitPaths, + unstageGitPaths, +} from './piagentui-git-manager.js' + +const MIME_TYPES: Record = { + '.html': 'text/html', + '.css': 'text/css', + '.js': 'application/javascript', + '.json': 'application/json', + '.png': 'image/png', + '.jpg': 'image/jpeg', + '.svg': 'image/svg+xml', + '.ico': 'image/x-icon', + '.woff': 'font/woff', + '.woff2': 'font/woff2', +} + +type SwitchableExtensionContext = ExtensionContext & { + switchSession?: ( + sessionPath: string, + options?: { withSession?: (ctx: any) => Promise }, + ) => Promise<{ cancelled: boolean }> + setModel?: (model: any) => Promise | void + sendUserMessage?: (content: string) => Promise | void +} + +const messageIds = new Map() + +function getMessageId(message: any): string { + if (!message) return '' + if (message.id) return message.id + // Use a stable key (responseId or timestamp) instead of object reference. + // The agent loop passes spread copies of the same logical message across + // message_start, message_update, and message_end events, so WeakMap + // (keyed by object identity) would generate different IDs each time — + // causing part/delta SSE events to reference a non-existent message ID. + const stableKey = message.responseId || message.timestamp || message.response_id + if (!stableKey) { + return 'msg-' + Math.random().toString(36).substring(2) + '-' + Date.now() + } + const key = String(stableKey) + let id = messageIds.get(key) + if (!id) { + id = 'msg-' + Math.random().toString(36).substring(2) + '-' + key + messageIds.set(key, id) + } + return id +} + +function isVisibleChatRole(role: unknown): role is 'user' | 'assistant' { + return role === 'user' || role === 'assistant' +} + +function getMessageText(message: any): string { + if (!message) return '' + if (typeof message.content === 'string') { + return message.content + } + if (Array.isArray(message.content)) { + return message.content + .filter((c: any) => c && c.type === 'text') + .map((c: any) => c.text) + .join('') + } + if (message.text) { + return message.text + } + return '' +} + +type SkillSource = 'global' | 'project' | 'package' | 'other' +type McpTransport = 'stdio' | 'http' | 'sse' | 'unknown' +type McpSource = 'global' | 'project' | 'other' +type CommandApiSource = 'builtin' | 'extension' | 'prompt' | 'skill' | 'unknown' + +interface ApiSkill { + name: string + description: string + location: string + content: string + source: SkillSource +} + +interface ApiMcpStatus { + status: 'configured' | 'disabled' | 'failed' + transport: McpTransport + source: McpSource + description?: string + command?: string + args?: string[] + url?: string + directTools?: boolean + lifecycle?: string + error?: string +} + +type SanitizedSttSettings = Omit, 'apiKey' | 'language'> & { + language?: string + apiKeyConfigured: boolean +} + +type SanitizedTtsSettings = Omit, 'apiKey'> & { + apiKeyConfigured: boolean +} + +interface ApiCommand { + name: string + description?: string + keybind?: string + apiSource: CommandApiSource + category: string + sourceInfo?: unknown + requiresArgs?: boolean + dangerous?: boolean +} + +const BUILTIN_SLASH_COMMANDS: ApiCommand[] = [ + { name: 'settings', description: 'Open settings menu', apiSource: 'builtin', category: 'general' }, + { name: 'model', description: 'Select model (opens selector UI)', apiSource: 'builtin', category: 'model' }, + { + name: 'scoped-models', + description: 'Enable/disable models for Ctrl+P cycling', + apiSource: 'builtin', + category: 'model', + }, + { + name: 'export', + description: 'Export session (HTML default, or specify path: .html/.jsonl)', + apiSource: 'builtin', + category: 'session', + }, + { + name: 'import', + description: 'Import and resume a session from a JSONL file', + apiSource: 'builtin', + category: 'session', + requiresArgs: true, + }, + { name: 'share', description: 'Share session as a secret GitHub gist', apiSource: 'builtin', category: 'session' }, + { name: 'copy', description: 'Copy last agent message to clipboard', apiSource: 'builtin', category: 'message' }, + { name: 'name', description: 'Set session display name', apiSource: 'builtin', category: 'session' }, + { name: 'session', description: 'Show session info and stats', apiSource: 'builtin', category: 'session' }, + { name: 'changelog', description: 'Show changelog entries', apiSource: 'builtin', category: 'help' }, + { name: 'hotkeys', description: 'Show all keyboard shortcuts', apiSource: 'builtin', category: 'help' }, + { + name: 'fork', + description: 'Create a new fork from a previous user message', + apiSource: 'builtin', + category: 'session', + }, + { + name: 'clone', + description: 'Duplicate the current session at the current position', + apiSource: 'builtin', + category: 'session', + }, + { name: 'tree', description: 'Navigate session tree (switch branches)', apiSource: 'builtin', category: 'session' }, + { name: 'login', description: 'Configure provider authentication', apiSource: 'builtin', category: 'auth' }, + { name: 'logout', description: 'Remove provider authentication', apiSource: 'builtin', category: 'auth' }, + { name: 'new', description: 'Start a new session', apiSource: 'builtin', category: 'session' }, + { name: 'compact', description: 'Manually compact the session context', apiSource: 'builtin', category: 'context' }, + { name: 'resume', description: 'Resume a different session', apiSource: 'builtin', category: 'session' }, + { + name: 'reload', + description: 'Reload keybindings, extensions, skills, prompts, and themes', + apiSource: 'builtin', + category: 'developer', + }, + { name: 'quit', description: 'Quit Pi', apiSource: 'builtin', category: 'app', dangerous: true }, +] + +function normalizeCommandApiSource(source: unknown): CommandApiSource { + return source === 'extension' || source === 'prompt' || source === 'skill' || source === 'builtin' + ? source + : 'unknown' +} + +function categoryForCommandSource(source: CommandApiSource): string { + if (source === 'extension' || source === 'prompt' || source === 'skill') return source + return 'other' +} + +function getAvailableCommands(pi: ExtensionAPI): ApiCommand[] { + const dynamicCommands = typeof pi.getCommands === 'function' ? pi.getCommands() : [] + const commands = new Map() + + for (const command of BUILTIN_SLASH_COMMANDS) { + commands.set(command.name, command) + } + + for (const command of dynamicCommands) { + if (!command?.name || commands.has(command.name)) continue + const apiSource = normalizeCommandApiSource(command.source) + commands.set(command.name, { + name: command.name, + description: command.description, + apiSource, + category: categoryForCommandSource(apiSource), + sourceInfo: command.sourceInfo, + }) + } + + return [...commands.values()].sort((a, b) => a.name.localeCompare(b.name)) +} + +function countCommandsBySource(commands: ApiCommand[]): Record { + return commands.reduce>( + (acc, command) => { + acc[command.apiSource] += 1 + return acc + }, + { builtin: 0, extension: 0, prompt: 0, skill: 0, unknown: 0 }, + ) +} + +function decodeXml(text: string): string { + return text + .replace(/'/g, "'") + .replace(/"/g, '"') + .replace(/>/g, '>') + .replace(/</g, '<') + .replace(/&/g, '&') +} + +function normalizeComparablePath(value: string | undefined): string { + return path + .resolve(value || '') + .replace(/\\/g, '/') + .toLowerCase() +} + +function classifySkillSource(location: string, cwd: string | undefined): SkillSource { + const normalizedLocation = normalizeComparablePath(location) + const normalizedCwd = normalizeComparablePath(cwd) + const projectSkillsRoot = `${normalizedCwd}/.pi/skills/` + + if (normalizedLocation.includes('/node_modules/') || normalizedLocation.includes('/.pi/agent/npm/')) return 'package' + if (normalizedCwd && normalizedLocation.startsWith(projectSkillsRoot)) return 'project' + if (normalizedLocation.includes('/.agents/skills/') || normalizedLocation.includes('/.pi/agent/skills/')) + return 'global' + return 'other' +} + +function parseSkillsFromSystemPrompt(prompt: string, cwd: string | undefined): ApiSkill[] { + const skills: ApiSkill[] = [] + const skillRegex = + /\s*([\s\S]*?)<\/name>\s*([\s\S]*?)<\/description>\s*([\s\S]*?)<\/location>\s*<\/skill>/g + + for (const match of prompt.matchAll(skillRegex)) { + const location = decodeXml(match[3]?.trim() ?? '') + let content = '' + if (location && fs.existsSync(location)) { + try { + content = fs.readFileSync(location, 'utf-8') + } catch { + content = '' + } + } + + skills.push({ + name: decodeXml(match[1]?.trim() ?? ''), + description: decodeXml(match[2]?.trim() ?? ''), + location, + content, + source: classifySkillSource(location, cwd), + }) + } + + return skills +} + +function countSkillsBySource(skills: ApiSkill[]): Record { + return skills.reduce>( + (acc, skill) => { + acc[skill.source] += 1 + return acc + }, + { global: 0, project: 0, package: 0, other: 0 }, + ) +} + +function getHomeDir(): string { + return process.env.USERPROFILE || process.env.HOME || '' +} + +function readJsonFile(filePath: string): any | null { + try { + if (!fs.existsSync(filePath)) return null + return JSON.parse(fs.readFileSync(filePath, 'utf8')) + } catch { + return null + } +} + +function getMcpConfigCandidates(cwd: string | undefined) { + const homeDir = getHomeDir() + return [ + { source: 'project' as const, filePath: cwd ? path.join(cwd, '.pi', 'agent', 'mcp.json') : '' }, + { source: 'project' as const, filePath: cwd ? path.join(cwd, '.pi', 'mcp.json') : '' }, + { source: 'global' as const, filePath: homeDir ? path.join(homeDir, '.pi', 'agent', 'mcp.json') : '' }, + ].filter(candidate => Boolean(candidate.filePath)) +} + +function normalizeMcpTransport(config: any): McpTransport { + if (config?.command) return 'stdio' + if (config?.type === 'http' || config?.url) return 'http' + if (config?.type === 'sse') return 'sse' + return 'unknown' +} + +function normalizeMcpServer(config: any, source: McpSource): ApiMcpStatus { + const disabled = config?.enabled === false || config?.disabled === true + const args = Array.isArray(config?.args) + ? config.args.map(String) + : typeof config?.args === 'string' + ? [config.args] + : undefined + return { + status: disabled ? 'disabled' : 'configured', + transport: normalizeMcpTransport(config), + source, + description: typeof config?.description === 'string' ? config.description : undefined, + command: typeof config?.command === 'string' ? config.command : undefined, + args, + url: typeof config?.url === 'string' ? config.url : undefined, + directTools: typeof config?.directTools === 'boolean' ? config.directTools : undefined, + lifecycle: typeof config?.lifecycle === 'string' ? config.lifecycle : undefined, + } +} + +function loadMcpStatus(cwd: string | undefined): { servers: Record; configPaths: string[] } { + const servers: Record = {} + const configPaths: string[] = [] + + for (const candidate of getMcpConfigCandidates(cwd)) { + const config = readJsonFile(candidate.filePath) + if (!config?.mcpServers || typeof config.mcpServers !== 'object') continue + configPaths.push(candidate.filePath) + for (const [name, serverConfig] of Object.entries(config.mcpServers)) { + servers[name] = normalizeMcpServer(serverConfig, candidate.source) + } + } + + return { servers, configPaths } +} + +export default function (pi: ExtensionAPI) { + let server: http.Server | null = null + let wss: WebSocketServer | null = null + let localPort = 0 + let localToken = '' + let latestCtx: SwitchableExtensionContext | null = null + const clients = new Set() + const sseClients = new Set() + const createdParts = new Set() + let lastAssistantMessageId = '' + let preserveServerForSessionSwitch = false + let sendQueue: Promise = Promise.resolve() + + function enqueueSessionSend(fn: () => Promise): Promise { + const run = sendQueue.catch(() => undefined).then(fn) + sendQueue = run.then( + () => undefined, + () => undefined, + ) + return run + } + + function getCurrentSessionId(): string { + return latestCtx?.sessionManager?.getSessionId() || 'active-session' + } + + function getSessionFileForId(sessionId: string): string | null { + const sessionDir = latestCtx?.sessionManager?.getSessionDir() + if (!sessionDir || !fs.existsSync(sessionDir)) return null + + const files = fs.readdirSync(sessionDir).filter(f => f.endsWith('.jsonl')) + const matchedFile = files.find(f => f.endsWith(`_${sessionId}.jsonl`)) + return matchedFile ? path.join(sessionDir, matchedFile) : null + } + + function getFallbackSessionTitle(sessionId: string): string { + return `Session ${sessionId.slice(0, 8)}` + } + + function createSessionId(): string { + return randomUUID() + } + + function createSessionEntryId(): string { + return randomUUID().slice(0, 8) + } + + function createRealSessionFile(params: { directory?: string; title?: string; parentID?: string }): string { + const sessionDir = latestCtx?.sessionManager?.getSessionDir() + if (!sessionDir) { + throw new Error('Session directory is unavailable') + } + + fs.mkdirSync(sessionDir, { recursive: true }) + const sessionId = createSessionId() + const timestamp = new Date().toISOString() + const fileTimestamp = timestamp.replace(/[:.]/g, '-') + const sessionFile = path.join(sessionDir, `${fileTimestamp}_${sessionId}.jsonl`) + const header: Record = { + type: 'session', + version: 3, + id: sessionId, + timestamp, + cwd: params.directory || latestCtx?.cwd || process.cwd(), + } + if (params.parentID) { + header.parentSession = params.parentID + } + + const entries = [JSON.stringify(header)] + const title = normalizeSessionTitle(params.title || '') + if (title) { + entries.push( + JSON.stringify({ + type: 'session_info', + id: createSessionEntryId(), + parentId: null, + timestamp, + name: title, + }), + ) + } + + fs.writeFileSync(sessionFile, `${entries.join('\n')}\n`, { flag: 'wx' }) + return sessionFile + } + + async function createAndSwitchToRealSession(params: { directory?: string; title?: string; parentID?: string }) { + if (!latestCtx?.switchSession) { + return { status: 501, body: { error: 'Pi session switching is not available in this runtime' } } + } + + const sessionFile = createRealSessionFile(params) + preserveServerForSessionSwitch = true + try { + const result = await latestCtx.switchSession(sessionFile, { + withSession: async replacedCtx => { + latestCtx = replacedCtx as SwitchableExtensionContext + }, + }) + + if (result.cancelled) { + return { status: 409, body: { error: 'Session switch cancelled' } } + } + + const metadata = readSessionMetadata(sessionFile) + return { + status: 200, + body: + metadata || + getSessionInfo( + path + .basename(sessionFile) + .replace(/\.jsonl$/, '') + .split('_') + .pop() || '', + ), + } + } finally { + preserveServerForSessionSwitch = false + } + } + + function normalizeSessionTitle(title: string): string { + return title + .split('') + .map(char => { + const code = char.charCodeAt(0) + return code < 32 || code === 127 ? ' ' : char + }) + .join('') + .replace(/\s+/g, ' ') + .trim() + .slice(0, 120) + } + + function readSessionMetadata(filePath: string): any | null { + try { + const content = fs.readFileSync(filePath, 'utf8') + const lines = content.trim().split('\n').filter(Boolean) + if (lines.length === 0) return null + + const header = JSON.parse(lines[0]) + if (header.type !== 'session' || !header.id) return null + + let sessionInfoTitle = '' + let firstUserMessage = '' + let messageCount = 0 + + for (const line of lines.slice(1)) { + try { + const entry = JSON.parse(line) + if (entry.type === 'session_info') { + sessionInfoTitle = normalizeSessionTitle(entry.name || '') + } else if (entry.type === 'message') { + messageCount++ + if (!firstUserMessage && entry.message?.role === 'user') { + firstUserMessage = normalizeSessionTitle(getMessageText(entry.message)) + } + } + } catch { + // ignore malformed entries + } + } + + const stats = fs.statSync(filePath) + const createdTime = header.timestamp ? new Date(header.timestamp).getTime() : stats.birthtimeMs + const title = sessionInfoTitle || firstUserMessage || getFallbackSessionTitle(header.id) + + return { + id: header.id, + title, + directory: header.cwd || latestCtx?.cwd || process.cwd(), + time: { + created: Number.isNaN(createdTime) ? stats.birthtimeMs : createdTime, + updated: stats.mtimeMs, + }, + summary: { deletions: 0, files: 0, additions: messageCount }, + } + } catch { + return null + } + } + + async function setRequestedModel(ctx: SwitchableExtensionContext, model: any) { + if (!model?.providerID || !model?.modelID) return + + try { + const targetModel = ctx.modelRegistry?.find(model.providerID, model.modelID) + if (!targetModel) return + + const currentModel = ctx.model + if (!currentModel || currentModel.id !== targetModel.id || currentModel.provider !== targetModel.provider) { + console.log(`[PiAgentUi] Switching session model to ${targetModel.provider}:${targetModel.id}`) + if (ctx.setModel) { + await ctx.setModel(targetModel) + } else { + await pi.setModel(targetModel) + } + } + } catch (err) { + console.error('[PiAgentUi] Failed to set model:', err) + } + } + + async function sendUserMessageToRequestedSession(parsed: any): Promise<{ status: number; body: any }> { + const requestedSessionId = parsed.sessionId + const activeSessionId = getCurrentSessionId() + + if (!parsed.text) { + return { status: 400, body: { error: 'Missing message text' } } + } + + if (!requestedSessionId || requestedSessionId === activeSessionId) { + if (latestCtx) { + await setRequestedModel(latestCtx, parsed.model) + } + const p = pi.sendUserMessage(parsed.text) as any + if (p && typeof p.catch === 'function') { + p.catch((err: any) => { + console.error('[PiAgentUi] Failed to send user message:', err) + }) + } + return { status: 202, body: { sessionID: activeSessionId } } + } + + const sessionFile = getSessionFileForId(requestedSessionId) + if (!sessionFile) { + return { status: 404, body: { error: `Session not found: ${requestedSessionId}` } } + } + + if (!latestCtx?.switchSession) { + return { status: 501, body: { error: 'Pi session switching is not available in this runtime' } } + } + + preserveServerForSessionSwitch = true + let didSend = false + try { + const result = await latestCtx.switchSession(sessionFile, { + withSession: async replacedCtx => { + latestCtx = replacedCtx as SwitchableExtensionContext + await setRequestedModel(latestCtx, parsed.model) + if (typeof replacedCtx.sendUserMessage === 'function') { + await replacedCtx.sendUserMessage(parsed.text) + didSend = true + } + }, + }) + + if (result.cancelled) { + return { status: 409, body: { error: 'Session switch cancelled' } } + } + + if (!didSend) { + return { status: 501, body: { error: 'Pi session switching is not available in this runtime' } } + } + + return { status: 202, body: { sessionID: requestedSessionId } } + } finally { + preserveServerForSessionSwitch = false + } + } + + function getSessionInfo(sessionId: string): any { + const sessionFile = getSessionFileForId(sessionId) + const metadata = sessionFile ? readSessionMetadata(sessionFile) : null + + return { + id: sessionId, + title: metadata?.title || getFallbackSessionTitle(sessionId), + directory: metadata?.directory || latestCtx?.cwd || process.cwd(), + time: metadata?.time || { + created: Date.now(), + updated: Date.now(), + }, + status: { type: latestCtx && !latestCtx.isIdle() ? 'busy' : 'idle' }, + summary: metadata?.summary || { deletions: 0, files: 0, additions: 0 }, + } + } + + function broadcastSessionUpdated(sessionId: string) { + try { + const sessionInfo = getSessionInfo(sessionId) + broadcastSSE('session.updated', { info: sessionInfo }) + } catch (err) { + console.error('[PiAgentUi] Failed to broadcast session.updated:', err) + } + } + + function broadcastSSE(type: string, properties: any) { + const rawEvent = JSON.stringify({ + id: Math.random().toString(36).substring(2), + time: Date.now(), + directory: latestCtx?.cwd || 'global', + payload: { + type, + properties, + }, + }) + const payload = `data: ${rawEvent}\n\n` + for (const res of sseClients) { + try { + res.write(payload) + } catch { + // ignore + } + } + } + + function generateBearerToken(): string { + return Array.from({ length: 4 }, () => Math.random().toString(36).substring(2)).join('-') + } + + const settingsStore = createPiAgentUiSettingsStore(resolvePiAgentUiSettingsPaths()) + + function getLocalSettings(): PiAgentUiLocalSettings { + return settingsStore.getSettings() + } + + function saveLocalSettings(settings: PiAgentUiLocalSettings) { + settingsStore.saveSettings(settings) + } + + function buildBrowserUrl(baseUrl: string | null): string | null { + return baseUrl + } + + function getNetworkAccessInfo() { + const lanAccessEnabled = getLocalSettings().network?.lanAccessEnabled === true + const port = localPort || 0 + const localUrl = port ? `http://127.0.0.1:${port}` : '' + const lanUrls = port ? getLocalNetworkUrls(port) : [] + const primaryLanUrl = lanUrls[0] || null + return { + lanAccessEnabled, + port, + localUrl, + lanUrls, + primaryLanUrl, + browserLanUrl: buildBrowserUrl(primaryLanUrl), + } + } + + function getEffectiveSttSettings(): StoredSttSettings { + return { + enabled: false, + providerKind: 'openai-compatible', + mode: 'file', + baseUrl: 'https://api.openai.com/v1', + apiKeyRequired: false, + transcriptionEndpoint: '/audio/transcriptions', + transcriptionModel: 'gpt-4o-mini-transcribe', + insertMode: 'append', + ...getLocalSettings().stt, + } + } + + function sanitizeSttSettings(settings: StoredSttSettings = getEffectiveSttSettings()): SanitizedSttSettings { + const effective = { ...getEffectiveSttSettings(), ...settings } + const sanitized: SanitizedSttSettings = { + enabled: effective.enabled === true, + providerKind: effective.providerKind === 'openai' ? 'openai' : 'openai-compatible', + mode: effective.mode === 'realtime' ? 'realtime' : 'file', + baseUrl: effective.baseUrl || 'https://api.openai.com/v1', + transcriptionEndpoint: effective.transcriptionEndpoint || '/audio/transcriptions', + transcriptionModel: effective.transcriptionModel || 'gpt-4o-mini-transcribe', + insertMode: effective.insertMode === 'replace' ? 'replace' : 'append', + apiKeyRequired: effective.apiKeyRequired === true, + apiKeyConfigured: typeof effective.apiKey === 'string' && effective.apiKey.length > 0, + } + if (effective.language) sanitized.language = effective.language + return sanitized + } + + async function readJsonBody(req: http.IncomingMessage): Promise { + return await new Promise((resolve, reject) => { + let body = '' + req.on('data', chunk => { + body += chunk + }) + req.on('end', () => { + try { + resolve(body.trim() ? JSON.parse(body) : {}) + } catch (error) { + reject(error) + } + }) + req.on('error', reject) + }) + } + + function updateSttSettings(update: any): { ok: true; settings: SanitizedSttSettings } | { ok: false; error: string } { + const current = getLocalSettings() + const existing = current.stt || {} + const next: StoredSttSettings = { ...existing } + + if (update.enabled !== undefined) next.enabled = update.enabled === true + if (update.providerKind !== undefined) { + if (update.providerKind !== 'openai' && update.providerKind !== 'openai-compatible') { + return { ok: false, error: 'Invalid providerKind' } + } + next.providerKind = update.providerKind + } + if (update.mode !== undefined) { + if (update.mode !== 'file' && update.mode !== 'realtime') return { ok: false, error: 'Invalid mode' } + next.mode = update.mode + } + if (update.baseUrl !== undefined) { + if (typeof update.baseUrl !== 'string' || !validateSttBaseUrl(update.baseUrl)) { + return { ok: false, error: 'Invalid baseUrl' } + } + next.baseUrl = update.baseUrl.replace(/\/+$/, '') + } + if (update.apiKeyRequired !== undefined) next.apiKeyRequired = update.apiKeyRequired === true + if (update.transcriptionEndpoint !== undefined) { + if (typeof update.transcriptionEndpoint !== 'string' || !update.transcriptionEndpoint.startsWith('/')) { + return { ok: false, error: 'Invalid transcriptionEndpoint' } + } + next.transcriptionEndpoint = update.transcriptionEndpoint + } + if (update.transcriptionModel !== undefined) { + if (typeof update.transcriptionModel !== 'string' || !update.transcriptionModel.trim()) { + return { ok: false, error: 'Invalid transcriptionModel' } + } + next.transcriptionModel = update.transcriptionModel.trim() + } + if (update.language !== undefined) { + if (update.language === null || update.language === '') delete next.language + else if (typeof update.language === 'string') next.language = update.language.trim() + else return { ok: false, error: 'Invalid language' } + } + if (update.insertMode !== undefined) { + if (update.insertMode !== 'append' && update.insertMode !== 'replace') + return { ok: false, error: 'Invalid insertMode' } + next.insertMode = update.insertMode + } + if (Object.prototype.hasOwnProperty.call(update, 'apiKey')) { + if (update.apiKey === null) delete next.apiKey + else if (typeof update.apiKey === 'string' && update.apiKey.trim()) next.apiKey = update.apiKey.trim() + } + + saveLocalSettings({ ...current, stt: next }) + return { ok: true, settings: sanitizeSttSettings(next) } + } + + function getEffectiveTtsSettings(): StoredTtsSettings { + return { + enabled: false, + providerKind: 'openai-compatible', + baseUrl: 'https://api.openai.com/v1', + apiKeyRequired: false, + speechEndpoint: '/audio/speech', + model: 'tts-1', + voice: 'alloy', + responseFormat: 'mp3', + speed: 1, + ...getLocalSettings().tts, + } + } + + function sanitizeTtsSettings(settings: StoredTtsSettings = getEffectiveTtsSettings()): SanitizedTtsSettings { + const effective = { ...getEffectiveTtsSettings(), ...settings } + return { + enabled: effective.enabled === true, + providerKind: effective.providerKind === 'openai' ? 'openai' : 'openai-compatible', + baseUrl: effective.baseUrl || 'https://api.openai.com/v1', + apiKeyRequired: effective.apiKeyRequired === true, + speechEndpoint: effective.speechEndpoint || '/audio/speech', + model: effective.model || 'tts-1', + voice: effective.voice || 'alloy', + responseFormat: isTtsResponseFormat(effective.responseFormat) ? effective.responseFormat : 'mp3', + speed: typeof effective.speed === 'number' ? effective.speed : 1, + apiKeyConfigured: typeof effective.apiKey === 'string' && effective.apiKey.length > 0, + } + } + + function isTtsResponseFormat(value: unknown): value is NonNullable { + return ( + value === 'mp3' || value === 'opus' || value === 'aac' || value === 'flac' || value === 'wav' || value === 'pcm' + ) + } + + function updateTtsSettings(update: any): { ok: true; settings: SanitizedTtsSettings } | { ok: false; error: string } { + const current = getLocalSettings() + const existing = current.tts || {} + const next: StoredTtsSettings = { ...existing } + + if (update.enabled !== undefined) next.enabled = update.enabled === true + if (update.providerKind !== undefined) { + if (update.providerKind !== 'openai' && update.providerKind !== 'openai-compatible') { + return { ok: false, error: 'Invalid providerKind' } + } + next.providerKind = update.providerKind + } + if (update.baseUrl !== undefined) { + if (typeof update.baseUrl !== 'string' || !validateSttBaseUrl(update.baseUrl)) { + return { ok: false, error: 'Invalid baseUrl' } + } + next.baseUrl = update.baseUrl.replace(/\/+$/, '') + } + if (update.apiKeyRequired !== undefined) next.apiKeyRequired = update.apiKeyRequired === true + if (update.speechEndpoint !== undefined) { + if (typeof update.speechEndpoint !== 'string' || !update.speechEndpoint.startsWith('/')) { + return { ok: false, error: 'Invalid speechEndpoint' } + } + next.speechEndpoint = update.speechEndpoint + } + if (update.model !== undefined) { + if (typeof update.model !== 'string' || !update.model.trim()) return { ok: false, error: 'Invalid model' } + next.model = update.model.trim() + } + if (update.voice !== undefined) { + if (typeof update.voice !== 'string' || !update.voice.trim()) return { ok: false, error: 'Invalid voice' } + next.voice = update.voice.trim() + } + if (update.responseFormat !== undefined) { + if (!isTtsResponseFormat(update.responseFormat)) return { ok: false, error: 'Invalid responseFormat' } + next.responseFormat = update.responseFormat + } + if (update.speed !== undefined) { + if (typeof update.speed !== 'number' || update.speed < 0.25 || update.speed > 4) { + return { ok: false, error: 'Invalid speed' } + } + next.speed = update.speed + } + if (Object.prototype.hasOwnProperty.call(update, 'apiKey')) { + if (update.apiKey === null) delete next.apiKey + else if (typeof update.apiKey === 'string' && update.apiKey.trim()) next.apiKey = update.apiKey.trim() + } + + saveLocalSettings({ ...current, tts: next }) + return { ok: true, settings: sanitizeTtsSettings(next) } + } + + async function readRequestBuffer(req: http.IncomingMessage): Promise { + return await new Promise((resolve, reject) => { + const chunks: Buffer[] = [] + req.on('data', chunk => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk))) + req.on('end', () => resolve(Buffer.concat(chunks))) + req.on('error', reject) + }) + } + + function readMultipartFormData(contentType: string | undefined, body: Buffer): FormData { + const boundaryMatch = contentType?.match(/boundary=(?:"([^"]+)"|([^;]+))/) + const boundary = boundaryMatch?.[1] || boundaryMatch?.[2] + if (!boundary) throw new Error('Missing multipart boundary') + + const form = new FormData() + const rawBody = body.toString('latin1') + for (const rawPart of rawBody.split(`--${boundary}`)) { + const part = rawPart.replace(/^\r\n/, '') + if (!part || part === '--\r\n' || part === '--') continue + const headerEnd = part.indexOf('\r\n\r\n') + if (headerEnd === -1) continue + const rawHeaders = part.slice(0, headerEnd) + const rawContent = part + .slice(headerEnd + 4) + .replace(/\r\n--$/, '') + .replace(/\r\n$/, '') + const disposition = rawHeaders.match(/content-disposition:([^\r\n]+)/i)?.[1] || '' + const name = disposition.match(/name="([^"]+)"/)?.[1] + if (!name) continue + const filename = disposition.match(/filename="([^"]*)"/)?.[1] + const mime = rawHeaders.match(/content-type:\s*([^\r\n]+)/i)?.[1]?.trim() || 'application/octet-stream' + if (filename !== undefined) { + form.set(name, new File([Buffer.from(rawContent, 'latin1')], filename || 'audio.webm', { type: mime })) + } else { + form.set(name, rawContent) + } + } + return form + } + + async function transcribeAudio(req: http.IncomingMessage) { + if (!isRequestBodySizeAllowed(req.headers['content-length'], 25 * 1024 * 1024)) { + return { status: 413, body: { error: 'Audio upload too large' } } + } + + const settings = getEffectiveSttSettings() + if (!settings.enabled) return { status: 400, body: { error: 'STT is disabled' } } + if (settings.apiKeyRequired && !settings.apiKey) { + return { status: 400, body: { error: 'STT API key is not configured' } } + } + if (!validateSttBaseUrl(settings.baseUrl)) return { status: 400, body: { error: 'Invalid STT baseUrl' } } + + const startedAt = Date.now() + const requestBody = await readRequestBuffer(req) + const inputForm = readMultipartFormData(req.headers['content-type'], requestBody) + const file = inputForm.get('file') + if (!(file instanceof File)) return { status: 400, body: { error: 'Missing audio file' } } + + const providerForm = new FormData() + providerForm.set('file', file) + providerForm.set('model', settings.transcriptionModel || 'gpt-4o-mini-transcribe') + if (settings.language) providerForm.set('language', settings.language) + + const baseUrl = (settings.baseUrl || 'https://api.openai.com/v1').replace(/\/+$/, '') + const endpoint = settings.transcriptionEndpoint || '/audio/transcriptions' + const headers: Record = {} + if (settings.apiKey) headers.Authorization = `Bearer ${settings.apiKey}` + const providerRes = await fetch(`${baseUrl}${endpoint}`, { + method: 'POST', + headers, + body: providerForm, + }) + const providerText = await providerRes.text() + let providerJson: any = {} + try { + providerJson = providerText ? JSON.parse(providerText) : {} + } catch { + providerJson = {} + } + if (!providerRes.ok) { + return { status: 502, body: { error: providerJson.error?.message || 'STT provider request failed' } } + } + + return { + status: 200, + body: { + text: String(providerJson.text || ''), + durationMs: Date.now() - startedAt, + provider: settings.providerKind || 'openai-compatible', + model: settings.transcriptionModel || 'gpt-4o-mini-transcribe', + }, + } + } + + async function synthesizeSpeech(req: http.IncomingMessage) { + if (!isRequestBodySizeAllowed(req.headers['content-length'], 1024 * 1024)) { + return { + status: 413, + contentType: 'application/json', + body: Buffer.from(JSON.stringify({ error: 'TTS request too large' })), + } + } + + const settings = getEffectiveTtsSettings() + if (!settings.enabled) { + return { + status: 400, + contentType: 'application/json', + body: Buffer.from(JSON.stringify({ error: 'TTS is disabled' })), + } + } + if (settings.apiKeyRequired && !settings.apiKey) { + return { + status: 400, + contentType: 'application/json', + body: Buffer.from(JSON.stringify({ error: 'TTS API key is not configured' })), + } + } + if (!validateSttBaseUrl(settings.baseUrl)) { + return { + status: 400, + contentType: 'application/json', + body: Buffer.from(JSON.stringify({ error: 'Invalid TTS baseUrl' })), + } + } + + const requestBody = await readJsonBody(req) + const input = typeof requestBody.input === 'string' ? requestBody.input.trim() : '' + if (!input) { + return { + status: 400, + contentType: 'application/json', + body: Buffer.from(JSON.stringify({ error: 'Missing input' })), + } + } + + const headers: Record = { 'Content-Type': 'application/json' } + if (settings.apiKey) headers.Authorization = `Bearer ${settings.apiKey}` + const baseUrl = (settings.baseUrl || 'https://api.openai.com/v1').replace(/\/+$/, '') + const endpoint = settings.speechEndpoint || '/audio/speech' + const responseFormat = isTtsResponseFormat(settings.responseFormat) ? settings.responseFormat : 'mp3' + const providerRes = await fetch(`${baseUrl}${endpoint}`, { + method: 'POST', + headers, + body: JSON.stringify({ + model: settings.model || 'tts-1', + input, + voice: settings.voice || 'alloy', + response_format: responseFormat, + speed: typeof settings.speed === 'number' ? settings.speed : 1, + }), + }) + + const body = Buffer.from(await providerRes.arrayBuffer()) + const contentType = providerRes.headers.get('Content-Type') || `audio/${responseFormat}` + return { status: providerRes.status, contentType, body } + } + + function handleStaticFile(req: http.IncomingMessage, res: http.ServerResponse, relativePath: string) { + const staticDir = path.resolve(path.join(__dirname, '..', 'dist')) + const targetFile = relativePath === '/' || relativePath === '' ? 'index.html' : relativePath + + if (!preventPathTraversal(staticDir, targetFile)) { + res.writeHead(403, { 'Content-Type': 'text/plain' }) + res.end('403 Forbidden') + return + } + + const filePath = path.join(staticDir, targetFile) + if (!fs.existsSync(filePath) || fs.statSync(filePath).isDirectory()) { + // For static assets (e.g. .js, .css, .png), do NOT fallback to index.html + const ext = path.extname(targetFile).toLowerCase() + if (ext && ext !== '.html') { + res.writeHead(404, { 'Content-Type': 'text/plain' }) + res.end('404 Not Found') + return + } + + // Fallback to index.html for React Router SPA behavior + const indexPath = path.join(staticDir, 'index.html') + if (fs.existsSync(indexPath)) { + serveIndexHtml(indexPath, req, res) + } else { + res.writeHead(404, { 'Content-Type': 'text/plain' }) + res.end('404 Not Found') + } + return + } + + if (targetFile === 'index.html') { + serveIndexHtml(filePath, req, res) + return + } + + const ext = path.extname(filePath).toLowerCase() + const mime = MIME_TYPES[ext] || 'application/octet-stream' + res.writeHead(200, { 'Content-Type': mime }) + fs.createReadStream(filePath).pipe(res) + } + + function serveIndexHtml(filePath: string, req: http.IncomingMessage, res: http.ServerResponse) { + try { + let content = fs.readFileSync(filePath, 'utf8') + const host = req.headers.host || `127.0.0.1:${localPort}` + const token = isLoopbackHost(host) ? JSON.stringify(localToken) : 'null' + const bootDataScript = ` + +` + // Inject boot script before closing head tag or at the beginning of head + if (content.includes('')) { + content = content.replace('', `${bootDataScript}`) + } else { + content = bootDataScript + content + } + + res.writeHead(200, { + 'Content-Type': 'text/html', + 'Cache-Control': 'no-cache, no-store, must-revalidate', + }) + res.end(content) + } catch { + res.writeHead(500, { 'Content-Type': 'text/plain' }) + res.end('500 Internal Server Error') + } + } + + function checkAuth(req: http.IncomingMessage): boolean { + const authHeader = req.headers.authorization + if (validateBearerToken(authHeader, localToken)) return true + + const host = req.headers.host + const origin = req.headers.origin as string | undefined + const lanAccessEnabled = getLocalSettings().network?.lanAccessEnabled === true + if (!lanAccessEnabled || isLoopbackHost(host)) return false + + return validateHostAndOriginForAccess(host, origin, true) + } + + async function handleApiRequest(req: http.IncomingMessage, res: http.ServerResponse) { + const url = req.url || '' + + if (url === '/global/health') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ status: 'ok', pi: 'ready' })) + return + } + + if (!checkAuth(req)) { + res.writeHead(401, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Unauthorized' })) + return + } + + if (url === '/global/event') { + res.writeHead(200, { + 'Content-Type': 'text/event-stream', + 'Cache-Control': 'no-cache, no-transform', + Connection: 'keep-alive', + 'X-Accel-Buffering': 'no', + }) + const rawEvent = JSON.stringify({ + id: Math.random().toString(36).substring(2), + time: Date.now(), + directory: latestCtx?.cwd || 'global', + payload: { + type: 'server.connected', + properties: { + timestamp: Date.now(), + }, + }, + }) + res.write(`data: ${rawEvent}\n\n`) + + const heartbeat = setInterval(() => { + try { + res.write(`: heartbeat ${Date.now()}\n\n`) + } catch { + clearInterval(heartbeat) + sseClients.delete(res) + } + }, 25000) + + sseClients.add(res) + req.on('close', () => { + clearInterval(heartbeat) + sseClients.delete(res) + }) + return + } + + const parsedUrl = new URL(url, 'http://localhost') + const pathname = parsedUrl.pathname + const method = req.method || 'GET' + const pathParts = pathname.split('/').filter(Boolean) + + if (pathParts[0] === 'api') { + if (pathParts[1] === 'network' && pathParts[2] === 'access') { + if (method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(getNetworkAccessInfo())) + return + } + + if (method === 'POST') { + let body = '' + req.on('data', chunk => { + body += chunk + }) + req.on('end', () => { + try { + const parsed = body.trim() ? JSON.parse(body) : {} + const current = getLocalSettings() + const next: PiAgentUiLocalSettings = { + ...current, + network: { + ...current.network, + lanAccessEnabled: parsed.lanAccessEnabled === true, + }, + } + saveLocalSettings(next) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(getNetworkAccessInfo())) + } catch { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Bad Request' })) + } + }) + return + } + } + + if (pathParts[1] === 'settings' && pathParts[2] === 'stt') { + if (method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(sanitizeSttSettings())) + return + } + + if (method === 'POST') { + try { + const update = await readJsonBody(req) + const result = updateSttSettings(update) + if (!result.ok) { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: result.error })) + return + } + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(result.settings)) + } catch { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Bad Request' })) + } + return + } + } + + if (pathParts[1] === 'settings' && pathParts[2] === 'tts') { + if (method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(sanitizeTtsSettings())) + return + } + + if (method === 'POST') { + try { + const update = await readJsonBody(req) + const result = updateTtsSettings(update) + if (!result.ok) { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: result.error })) + return + } + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(result.settings)) + } catch { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Bad Request' })) + } + return + } + } + + if (pathParts[1] === 'extensions') { + const targetDir = parsedUrl.searchParams.get('directory') || latestCtx?.cwd || process.cwd() + + if (method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(buildExtensionCatalog({ cwd: targetDir }))) + return + } + + if (method === 'POST' && pathParts[2] === 'install') { + try { + const body = await readJsonBody(req) + if (!body || typeof body.command !== 'string') { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Missing install command' })) + return + } + const result = await executeExtensionInstallCommand(body.command, { + cwd: typeof body.directory === 'string' ? body.directory : targetDir, + }) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + source: result.source, + scope: result.scope, + reloadRequired: true, + stdout: result.stdout, + stderr: result.stderr, + }), + ) + } catch (error) { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: error instanceof Error ? error.message : 'Failed to install extension' })) + } + return + } + + if (method === 'DELETE' && pathParts[2] === 'package') { + try { + const body = await readJsonBody(req) + if (!body || typeof body.source !== 'string') { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Missing extension source' })) + return + } + const scope: ExtensionPackageScope = body.scope === 'project' ? 'project' : 'user' + const result = await executeExtensionPackageRemoval( + { source: body.source, scope }, + { cwd: typeof body.directory === 'string' ? body.directory : targetDir }, + ) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ source: body.source, scope, reloadRequired: true, ...result })) + } catch (error) { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: error instanceof Error ? error.message : 'Failed to remove extension' })) + } + return + } + } + + if (pathParts[1] === 'stt' && pathParts[2] === 'transcriptions' && method === 'POST') { + try { + const result = await transcribeAudio(req) + res.writeHead(result.status, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(result.body)) + } catch { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to transcribe audio' })) + } + return + } + + if (pathParts[1] === 'tts' && pathParts[2] === 'speech' && method === 'POST') { + try { + const result = await synthesizeSpeech(req) + res.writeHead(result.status, { 'Content-Type': result.contentType }) + res.end(result.body) + } catch { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to synthesize speech' })) + } + return + } + + if (pathParts[1] === 'skills' && method === 'GET') { + const skills = parseSkillsFromSystemPrompt(latestCtx?.getSystemPrompt?.() ?? '', latestCtx?.cwd) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ skills, groups: countSkillsBySource(skills) })) + return + } + + if (pathParts[1] === 'mcp' && pathParts[2] === 'status' && method === 'GET') { + const status = loadMcpStatus(latestCtx?.cwd) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(status)) + return + } + + if (pathParts[1] === 'models' && method === 'GET') { + const activeModel = latestCtx?.model as any + const registryModels: any[] = + latestCtx?.modelRegistry?.getAvailable() || latestCtx?.modelRegistry?.getAll() || [] + + const mapModel = (m: any) => ({ + id: m.id, + name: m.name || m.id, + provider: m.provider, + family: m.family ?? '', + contextLimit: m.contextLimit ?? m.contextWindow ?? 128000, + outputLimit: m.outputLimit ?? m.maxOutputTokens ?? m.maxTokens ?? 4096, + supportsReasoning: m.supportsReasoning ?? m.reasoning ?? false, + supportsImages: m.supportsImages ?? m.input?.includes('image') ?? false, + supportsPdf: m.supportsPdf ?? false, + supportsAudio: m.supportsAudio ?? false, + supportsVideo: m.supportsVideo ?? false, + supportsToolcall: m.supportsToolcall ?? true, + variants: m.variants ?? [], + }) + + let models = registryModels.map(mapModel) + + if (activeModel) { + const registryActiveModel = registryModels.find( + (m: any) => m.id === activeModel.id && m.provider === activeModel.provider, + ) + const activeMapped = mapModel({ + ...registryActiveModel, + ...activeModel, + contextLimit: activeModel.contextLimit ?? registryActiveModel?.contextLimit, + contextWindow: activeModel.contextWindow ?? registryActiveModel?.contextWindow, + outputLimit: activeModel.outputLimit ?? registryActiveModel?.outputLimit, + maxOutputTokens: activeModel.maxOutputTokens ?? registryActiveModel?.maxOutputTokens, + maxTokens: activeModel.maxTokens ?? registryActiveModel?.maxTokens, + supportsReasoning: activeModel.supportsReasoning ?? registryActiveModel?.supportsReasoning, + reasoning: activeModel.reasoning ?? registryActiveModel?.reasoning, + supportsImages: activeModel.supportsImages ?? registryActiveModel?.supportsImages, + input: activeModel.input ?? registryActiveModel?.input, + }) + + models = models.filter((m: any) => !(m.id === activeModel.id && m.provider === activeModel.provider)) + models.unshift(activeMapped) + } else { + if (models.length === 0) { + models = [ + { + id: 'gemini-2.5-flash', + name: 'Gemini 2.5 Flash', + provider: 'google', + family: '', + contextLimit: 128000, + outputLimit: 4096, + supportsReasoning: true, + supportsImages: true, + supportsPdf: false, + supportsAudio: false, + supportsVideo: false, + supportsToolcall: true, + variants: [], + }, + ] + } + } + + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ models })) + return + } + + if (pathParts[1] === 'sessions') { + // POST /api/sessions/abort + if (pathParts.length === 3 && pathParts[2] === 'abort' && method === 'POST') { + try { + if (latestCtx) { + latestCtx.abort() + } + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ status: 'aborted' })) + } catch (err) { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to abort session' })) + } + return + } + + // POST /api/sessions + if (pathParts.length === 2 && method === 'POST') { + let body = '' + req.on('data', chunk => { + body += chunk + }) + req.on('end', async () => { + try { + const parsed = body.trim() ? JSON.parse(body) : {} + const result = await createAndSwitchToRealSession({ + directory: typeof parsed.directory === 'string' ? parsed.directory : undefined, + title: typeof parsed.title === 'string' ? parsed.title : undefined, + parentID: typeof parsed.parentID === 'string' ? parsed.parentID : undefined, + }) + res.writeHead(result.status, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(result.body)) + } catch (err) { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to create session' })) + } + }) + return + } + + // GET /api/sessions/:sessionId/context + if (pathParts.length === 4 && pathParts[3] === 'context' && method === 'GET') { + const sessionId = pathParts[2] + const activeSessionId = getCurrentSessionId() + + if (!latestCtx) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ available: false, sessionId, reason: 'runtime_unavailable' })) + return + } + + if (sessionId !== 'active-session' && activeSessionId && sessionId !== activeSessionId) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + available: false, + sessionId, + activeSessionId, + reason: 'session_not_active', + }), + ) + return + } + + const currentModel = latestCtx.model as + | { + id?: string + modelID?: string + name?: string + provider?: string + providerID?: string + contextWindow?: number + maxOutputTokens?: number + maxTokens?: number + } + | undefined + const modelContext = { + providerID: currentModel?.providerID ?? currentModel?.provider, + modelID: currentModel?.modelID ?? currentModel?.id, + modelName: currentModel?.name, + contextWindow: currentModel?.contextWindow ?? null, + outputLimit: currentModel?.maxOutputTokens ?? currentModel?.maxTokens ?? null, + } + + const usage = latestCtx.getContextUsage?.() + if (!usage) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + available: false, + sessionId: activeSessionId || sessionId, + activeSessionId, + ...modelContext, + reason: 'context_usage_unavailable', + }), + ) + return + } + + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + available: true, + sessionId: activeSessionId || sessionId, + activeSessionId, + ...modelContext, + tokens: usage.tokens, + contextWindow: usage.contextWindow, + percent: usage.percent, + }), + ) + return + } + + const sessionDir = latestCtx?.sessionManager?.getSessionDir() + if (!sessionDir || !fs.existsSync(sessionDir)) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify(pathParts.length === 4 && pathParts[3] === 'messages' ? { messages: [] } : { sessions: [] }), + ) + return + } + + // GET /api/sessions/:sessionId/messages + if (pathParts.length === 4 && pathParts[3] === 'messages' && method === 'GET') { + const sessionId = pathParts[2] + try { + const files = fs.readdirSync(sessionDir).filter(f => f.endsWith('.jsonl')) + let matchedFile = files.find(f => f.endsWith(`_${sessionId}.jsonl`)) + + if (!matchedFile && sessionId === 'active-session') { + const activeSessionId = getCurrentSessionId() + if (activeSessionId) { + matchedFile = files.find(f => f.endsWith(`_${activeSessionId}.jsonl`)) + } + if (!matchedFile && files.length > 0) { + const filesWithTime = files.map(f => { + const p = path.join(sessionDir, f) + return { name: f, mtime: fs.statSync(p).mtimeMs } + }) + filesWithTime.sort((a, b) => b.mtime - a.mtime) + matchedFile = filesWithTime[0].name + } + } + + if (!matchedFile) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ messages: [] })) + return + } + + const filePath = path.join(sessionDir, matchedFile) + const content = fs.readFileSync(filePath, 'utf8') + const lines = content.trim().split('\n') + + const messageMap = new Map() + const toolCallMessageIds = new Map() + const orderedMessageIds: string[] = [] + let currentModel: { providerID: string; modelID: string } | undefined = undefined + + for (const line of lines) { + if (!line.trim()) continue + try { + const entry = JSON.parse(line) + if (entry.type === 'model_change') { + currentModel = { + providerID: entry.provider, + modelID: entry.modelId, + } + } else if (entry.type === 'message' && entry.message) { + const msgId = entry.id + const role = entry.message.role + + if (isVisibleChatRole(role)) { + if (!messageMap.has(msgId)) { + const timestamp = + entry.message.timestamp || (entry.timestamp ? new Date(entry.timestamp).getTime() : Date.now()) + const msgObj = { + info: { + id: msgId, + sessionID: sessionId, + role: role, + time: { + created: timestamp, + completed: entry.timestamp ? new Date(entry.timestamp).getTime() : timestamp, + }, + text: '', + model: currentModel, + }, + parts: [] as any[], + } + messageMap.set(msgId, msgObj) + orderedMessageIds.push(msgId) + } + + const msgObj = messageMap.get(msgId)! + + if (Array.isArray(entry.message.content)) { + for (const block of entry.message.content) { + if (block.type === 'text') { + msgObj.parts.push({ + id: msgId + '-text-' + msgObj.parts.length, + sessionID: sessionId, + messageID: msgId, + type: 'text', + text: block.text || '', + }) + } else if (block.type === 'thinking') { + msgObj.parts.push({ + id: msgId + '-reasoning-' + msgObj.parts.length, + sessionID: sessionId, + messageID: msgId, + type: 'reasoning', + text: block.thinking || '', + }) + } else if (block.type === 'toolCall') { + if (block.id) toolCallMessageIds.set(block.id, msgId) + msgObj.parts.push({ + id: block.id, + callID: block.id, + sessionID: sessionId, + messageID: msgId, + type: 'tool', + tool: block.name, + state: { + status: 'running', + input: block.arguments, + }, + }) + } + } + } + } else if (role === 'toolResult') { + const toolCallId = entry.message.toolCallId + const parentMsgId = + (toolCallId && toolCallMessageIds.get(toolCallId)) || + (entry.parentId && messageMap.has(entry.parentId) ? entry.parentId : undefined) + if (parentMsgId && messageMap.has(parentMsgId)) { + const parentMsg = messageMap.get(parentMsgId)! + const toolPart = parentMsg.parts.find( + (p: any) => p.type === 'tool' && p.id === entry.message.toolCallId, + ) + + let outputText = '' + if (Array.isArray(entry.message.content)) { + outputText = entry.message.content + .filter((c: any) => c && c.type === 'text') + .map((c: any) => c.text) + .join('') + } else if (typeof entry.message.content === 'string') { + outputText = entry.message.content + } + + if (toolPart) { + toolPart.state.status = entry.message.isError ? 'error' : 'completed' + toolPart.state.output = outputText + if (entry.message.isError) { + toolPart.state.error = outputText || 'Tool execution failed' + } + } else { + const callId = entry.message.toolCallId || 'tool-' + Math.random().toString(36).substring(2) + parentMsg.parts.push({ + id: callId, + callID: callId, + sessionID: sessionId, + messageID: parentMsgId, + type: 'tool', + tool: entry.message.toolName || 'tool', + state: { + status: entry.message.isError ? 'error' : 'completed', + output: outputText, + error: entry.message.isError ? outputText || 'Tool execution failed' : undefined, + }, + }) + } + } + } + } + } catch { + // ignore malformed line + } + } + + const messages = orderedMessageIds.map(msgId => { + const msgObj = messageMap.get(msgId)! + msgObj.info.text = msgObj.parts + .filter((p: any) => p.type === 'text') + .map((p: any) => p.text) + .join('') + return msgObj + }) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ messages })) + } catch (err) { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to parse session messages' })) + } + return + } + + // GET /api/sessions + if (pathParts.length === 2 && method === 'GET') { + try { + const files = fs.readdirSync(sessionDir).filter(f => f.endsWith('.jsonl')) + const sessions = [] + for (const file of files) { + const metadata = readSessionMetadata(path.join(sessionDir, file)) + if (metadata) { + sessions.push({ + ...metadata, + status: { type: 'idle' }, + }) + } + } + + sessions.sort((a, b) => b.time.updated - a.time.updated) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ sessions })) + } catch (err) { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to list sessions' })) + } + return + } + } + + if (pathParts[1] === 'messages' && pathParts[2] === 'send' && method === 'POST') { + let body = '' + req.on('data', chunk => { + body += chunk + }) + req.on('end', async () => { + try { + const parsed = JSON.parse(body) + const result = await enqueueSessionSend(() => sendUserMessageToRequestedSession(parsed)) + res.writeHead(result.status, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + messageID: 'msg-' + Math.random().toString(36).substring(2) + '-' + Date.now(), + ...result.body, + }), + ) + } catch { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Bad Request' })) + } + }) + return + } + + // GET /api/agents + if (pathParts[1] === 'agents' && method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end( + JSON.stringify({ + agents: [ + { id: 'build', name: 'Build', description: 'Main coder agent', hidden: false, mode: 'chat' }, + { id: 'research', name: 'Research', description: 'Code researcher', hidden: false, mode: 'chat' }, + ], + }), + ) + return + } + + // GET /api/permissions/list + if (pathParts[1] === 'permissions' && pathParts[2] === 'list' && method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ permissions: [] })) + return + } + + // GET /api/questions/list + if (pathParts[1] === 'questions' && pathParts[2] === 'list' && method === 'GET') { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ questions: [] })) + return + } + + // GET /api/commands/list + if (pathParts[1] === 'commands' && pathParts[2] === 'list' && method === 'GET') { + const commands = getAvailableCommands(pi) + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ commands, groups: countCommandsBySource(commands) })) + return + } + + if (pathParts[1] === 'vcs') { + const targetDir = parsedUrl.searchParams.get('directory') || latestCtx?.cwd || process.cwd() + + async function sendGitAction(action: () => Promise) { + try { + const body = await action() + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify(body)) + } catch (error) { + res.writeHead(400, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: error instanceof Error ? error.message : 'Git operation failed' })) + } + } + + // GET /api/vcs/info + if (pathParts[2] === 'info' && method === 'GET') { + await sendGitAction(async () => { + const status = await getGitStatus(targetDir) + return { + branch: status.branch || 'main', + dirty: status.dirty, + default_branch: 'main', + } + }) + return + } + + // GET /api/vcs/status + if (pathParts[2] === 'status' && method === 'GET') { + await sendGitAction(() => getGitStatus(targetDir)) + return + } + + // GET /api/vcs/branches + if (pathParts[2] === 'branches' && method === 'GET') { + await sendGitAction(() => listGitBranches(targetDir)) + return + } + + if (pathParts[2] === 'checkout' && method === 'POST') { + await sendGitAction(async () => checkoutGitBranch(targetDir, await readJsonBody(req))) + return + } + + if (pathParts[2] === 'branch' && method === 'POST') { + await sendGitAction(async () => createGitBranch(targetDir, await readJsonBody(req))) + return + } + + if (pathParts[2] === 'stage' && method === 'POST') { + await sendGitAction(async () => stageGitPaths(targetDir, await readJsonBody(req))) + return + } + + if (pathParts[2] === 'unstage' && method === 'POST') { + await sendGitAction(async () => unstageGitPaths(targetDir, await readJsonBody(req))) + return + } + + if (pathParts[2] === 'commit' && method === 'POST') { + await sendGitAction(async () => commitGitChanges(targetDir, await readJsonBody(req))) + return + } + + if (pathParts[2] === 'pull' && method === 'POST') { + await sendGitAction(() => pullGitBranch(targetDir)) + return + } + + if (pathParts[2] === 'push' && method === 'POST') { + await sendGitAction(() => pushGitBranch(targetDir)) + return + } + } + + // GET /api/files/list + if (pathParts[1] === 'files' && pathParts[2] === 'list' && method === 'GET') { + try { + const targetDir = parsedUrl.searchParams.get('directory') || latestCtx?.cwd || process.cwd() + const subPath = parsedUrl.searchParams.get('path') || '.' + + if (!preventPathTraversal(targetDir, subPath)) { + res.writeHead(403, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Forbidden' })) + return + } + + const resolvedPath = path.resolve(path.join(targetDir, subPath)) + if (!fs.existsSync(resolvedPath)) { + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ files: [] })) + return + } + + const entries = fs.readdirSync(resolvedPath, { withFileTypes: true }) + const files = entries.map(entry => { + const fullEntryPath = path.join(resolvedPath, entry.name) + const relPath = path.relative(targetDir, fullEntryPath).replace(/\\/g, '/') + let size: number | undefined + try { + if (entry.isFile()) { + size = fs.statSync(fullEntryPath).size + } + } catch { + // ignore + } + return { + name: entry.name, + path: relPath, + type: entry.isDirectory() ? 'directory' : 'file', + size, + } + }) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ files })) + } catch (err) { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Failed to list files' })) + } + return + } + } + + // Default error/unsupported response for other endpoints + res.writeHead(501, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Feature Not Implemented in Pi MVP' })) + } + + function listenOnAvailablePort(srv: http.Server, basePort: number, host: string): Promise { + function canReserveLoopbackPort(port: number): Promise { + return new Promise(resolve => { + const probe = http.createServer() + probe.once('error', () => resolve(false)) + probe.once('listening', () => { + probe.close(() => resolve(true)) + }) + probe.listen(port, '127.0.0.1') + }) + } + + return new Promise((resolve, reject) => { + let currentPort = basePort + + async function tryListen() { + if (host === '0.0.0.0' && !(await canReserveLoopbackPort(currentPort))) { + currentPort++ + tryListen() + return + } + + const onError = (err: any) => { + srv.removeListener('listening', onListening) + if (err.code === 'EADDRINUSE') { + currentPort++ + tryListen() + } else { + reject(err) + } + } + + const onListening = () => { + srv.removeListener('error', onError) + resolve(currentPort) + } + + srv.once('error', onError) + srv.once('listening', onListening) + srv.listen(currentPort, host) + } + + tryListen() + }) + } + + function setWebLinkWidget(ctx: ExtensionContext) { + if (!localPort) return + + try { + ctx.ui.setWidget( + 'piagentui-link', + ['\x1b[1;36mPiAgentUI Web:\x1b[0m \x1b[4;36mhttp://127.0.0.1:' + localPort + '\x1b[0m'], + { placement: 'belowEditor' }, + ) + } catch (e) { + console.error('[PiAgentUi] Failed to set widget:', e) + } + } + + function startServer(ctx: ExtensionContext) { + latestCtx = ctx + if (server) { + setWebLinkWidget(ctx) + return + } + + localToken = generateBearerToken() + + server = http.createServer((req, res) => { + const host = req.headers.host + const origin = req.headers.origin as string | undefined + + if (!validateHostAndOriginForAccess(host, origin, getLocalSettings().network?.lanAccessEnabled === true)) { + res.writeHead(403, { 'Content-Type': 'text/plain' }) + res.end('403 Forbidden - Loopback Access Only') + return + } + + if (!isRequestBodySizeAllowed(req.headers['content-length'])) { + res.writeHead(413, { 'Content-Type': 'text/plain' }) + res.end('413 Payload Too Large') + return + } + + const urlPath = req.url || '' + if (urlPath.startsWith('/api/') || urlPath.startsWith('/global/')) { + handleApiRequest(req, res).catch(() => { + res.writeHead(500, { 'Content-Type': 'application/json' }) + res.end(JSON.stringify({ error: 'Internal Server Error' })) + }) + } else { + handleStaticFile(req, res, urlPath) + } + }) + + wss = new WebSocketServer({ noServer: true }) + + server.on('upgrade', (request, socket, head) => { + const host = request.headers.host + if (!validateHostAndOriginForAccess(host, undefined, getLocalSettings().network?.lanAccessEnabled === true)) { + socket.write('HTTP/1.1 403 Forbidden\r\n\r\n') + socket.destroy() + return + } + + // Upgrade WS safely + wss!.handleUpgrade(request, socket, head, (ws: WebSocket) => { + wss!.emit('connection', ws, request) + }) + }) + + wss.on('connection', (ws: WebSocket) => { + clients.add(ws) + ws.send(JSON.stringify({ type: 'server.connected', properties: {} })) + + ws.on('close', () => { + clients.delete(ws) + }) + ws.on('error', () => { + clients.delete(ws) + }) + }) + + // Listen on all interfaces so LAN access can be enabled dynamically; request validation remains closed by default. + const DEFAULT_PORT = 58785 + listenOnAvailablePort(server, DEFAULT_PORT, '0.0.0.0') + .then(port => { + localPort = port + console.log(`[PiAgentUi] Server listening at http://127.0.0.1:${localPort}`) + + // Expose dynamic web access URL below the editor/chat input in Pi Agent TUI + setWebLinkWidget(ctx) + + // Write connection details to discovery file + const homeDir = process.env.USERPROFILE || process.env.HOME || '' + const piAgentDir = path.join(homeDir, '.pi', 'agent') + const discoveryPath = path.join(piAgentDir, 'piagentui-port.json') + try { + if (!fs.existsSync(piAgentDir)) { + fs.mkdirSync(piAgentDir, { recursive: true }) + } + fs.writeFileSync(discoveryPath, JSON.stringify({ port: localPort, token: localToken }, null, 2), 'utf8') + console.log(`[PiAgentUi] Wrote connection info to: ${discoveryPath}`) + } catch (err) { + console.error('[PiAgentUi] Failed to write discovery file:', err) + } + }) + .catch(err => { + console.error('[PiAgentUi] Failed to listen on available port:', err) + }) + } + + function stopServer() { + if (latestCtx) { + try { + latestCtx.ui.setWidget('piagentui-link', undefined) + } catch (e) { + // ignore + } + } + // Delete discovery file + const homeDir = process.env.USERPROFILE || process.env.HOME || '' + const discoveryPath = path.join(homeDir, '.pi', 'agent', 'piagentui-port.json') + try { + if (fs.existsSync(discoveryPath)) { + fs.unlinkSync(discoveryPath) + } + } catch { + // ignore + } + + // End all SSE clients + for (const res of sseClients) { + try { + res.end() + } catch { + /* ignore */ + } + } + sseClients.clear() + createdParts.clear() + + if (wss) { + for (const client of clients) { + try { + client.close() + } catch { + /* ignore */ + } + } + clients.clear() + wss.close() + wss = null + } + if (server) { + server.close() + server = null + } + } + + pi.on('session_start', async (_event, ctx) => { + latestCtx = ctx + startServer(ctx) + + const sessionId = ctx.sessionManager?.getSessionId() + if (sessionId) { + const sessionInfo = getSessionInfo(sessionId) + broadcastSSE('session.created', { info: sessionInfo }) + } + }) + + pi.on('session_shutdown', async event => { + if (preserveServerForSessionSwitch && event?.reason === 'resume') { + return + } + stopServer() + }) + + // Event translation for global SSE subscription + pi.on('agent_start', () => { + const sessionID = getCurrentSessionId() + broadcastSSE('session.status', { sessionID, status: { type: 'working' } }) + broadcastSessionUpdated(sessionID) + }) + + pi.on('agent_end', () => { + const sessionID = getCurrentSessionId() + broadcastSSE('session.status', { sessionID, status: { type: 'idle' } }) + broadcastSessionUpdated(sessionID) + }) + + pi.on('turn_end', () => { + const sessionID = getCurrentSessionId() + broadcastSSE('session.idle', { sessionID }) + broadcastSessionUpdated(sessionID) + }) + + pi.on('message_start', event => { + const sessionID = getCurrentSessionId() + const { message } = event + const messageID = getMessageId(message) + if (message.role === 'assistant') { + lastAssistantMessageId = messageID + } + createdParts.clear() + + broadcastSSE('message.updated', { + id: messageID, + sessionID, + role: message.role, + time: { + created: Date.now(), + }, + text: '', + }) + }) + + pi.on('message_update', event => { + const sessionID = getCurrentSessionId() + const { assistantMessageEvent, message } = event + const messageID = getMessageId(message) + + if (assistantMessageEvent.type === 'text_delta') { + const partID = messageID + '-text' + if (!createdParts.has(partID)) { + broadcastSSE('message.part.updated', { + id: partID, + sessionID, + messageID: messageID, + type: 'text', + text: '', + }) + createdParts.add(partID) + } + broadcastSSE('message.part.delta', { + sessionID, + messageID: messageID, + partID, + field: 'text', + delta: assistantMessageEvent.delta, + }) + } else if (assistantMessageEvent.type === 'thinking_delta') { + const partID = messageID + '-reasoning' + if (!createdParts.has(partID)) { + broadcastSSE('message.part.updated', { + id: partID, + sessionID, + messageID: messageID, + type: 'reasoning', + text: '', + }) + createdParts.add(partID) + } + broadcastSSE('message.part.delta', { + sessionID, + messageID: messageID, + partID, + field: 'reasoning', + delta: assistantMessageEvent.delta, + }) + } + }) + + pi.on('message_end', event => { + const sessionID = getCurrentSessionId() + const { message } = event + if (!isVisibleChatRole(message?.role)) return + broadcastSSE('message.updated', { + id: getMessageId(message), + sessionID, + role: message.role, + time: { + created: (message as any).timestamp || Date.now(), + completed: Date.now(), + }, + text: getMessageText(message), + }) + broadcastSessionUpdated(sessionID) + }) + + pi.on('tool_execution_start', event => { + const sessionID = getCurrentSessionId() + const messageID = lastAssistantMessageId || 'assistant-msg-id' + broadcastSSE('message.part.updated', { + id: event.toolCallId, + callID: event.toolCallId, + sessionID, + messageID, + type: 'tool', + tool: event.toolName, + state: { + status: 'running', + input: event.args, + }, + }) + }) + + pi.on('tool_execution_end', event => { + const sessionID = getCurrentSessionId() + const messageID = lastAssistantMessageId || 'assistant-msg-id' + broadcastSSE('message.part.updated', { + id: event.toolCallId, + callID: event.toolCallId, + sessionID, + messageID, + type: 'tool', + tool: event.toolName, + state: { + status: event.isError ? 'error' : 'completed', + output: event.result, + error: event.isError ? String(event.result) : undefined, + }, + }) + }) +} diff --git a/extensions/piagentui-settings-store.test.ts b/extensions/piagentui-settings-store.test.ts new file mode 100644 index 0000000..120d13b --- /dev/null +++ b/extensions/piagentui-settings-store.test.ts @@ -0,0 +1,99 @@ +import * as fs from 'node:fs' +import * as os from 'node:os' +import * as path from 'node:path' +import { afterEach, describe, expect, it } from 'vitest' +import { createPiAgentUiSettingsStore, resolvePiAgentUiSettingsPaths } from './piagentui-settings-store.js' + +const tempDirs: string[] = [] + +function makeTempHome(): string { + const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'piagentui-settings-store-')) + tempDirs.push(dir) + return dir +} + +afterEach(() => { + for (const dir of tempDirs.splice(0)) { + fs.rmSync(dir, { recursive: true, force: true }) + } +}) + +describe('PiAgentUI SQLite settings store', () => { + it('persists namespaced settings in a SQLite database independent of browser origin', () => { + const homeDir = makeTempHome() + const paths = resolvePiAgentUiSettingsPaths(homeDir) + const first = createPiAgentUiSettingsStore(paths) + + first.saveSettings({ + network: { lanAccessEnabled: true }, + stt: { + enabled: true, + providerKind: 'openai-compatible', + baseUrl: 'http://127.0.0.1:8022/v1', + transcriptionModel: 'deepdml/faster-whisper-large-v3-turbo-ct2', + apiKeyRequired: false, + }, + tts: { + enabled: true, + baseUrl: 'http://127.0.0.1:8022/v1', + model: 'speaches-ai/Kokoro-82M-v1.0-ONNX', + voice: 'pf_dora', + responseFormat: 'wav', + apiKeyRequired: false, + }, + }) + first.close() + + const second = createPiAgentUiSettingsStore(paths) + expect(fs.existsSync(paths.databasePath)).toBe(true) + expect(second.getSettings()).toMatchObject({ + network: { lanAccessEnabled: true }, + stt: { + enabled: true, + baseUrl: 'http://127.0.0.1:8022/v1', + transcriptionModel: 'deepdml/faster-whisper-large-v3-turbo-ct2', + apiKeyRequired: false, + }, + tts: { + enabled: true, + model: 'speaches-ai/Kokoro-82M-v1.0-ONNX', + voice: 'pf_dora', + responseFormat: 'wav', + apiKeyRequired: false, + }, + }) + second.close() + }) + + it('imports the legacy JSON settings file once into SQLite', () => { + const homeDir = makeTempHome() + const paths = resolvePiAgentUiSettingsPaths(homeDir) + fs.mkdirSync(path.dirname(paths.legacyJsonPath), { recursive: true }) + fs.writeFileSync( + paths.legacyJsonPath, + JSON.stringify({ + network: { lanAccessEnabled: true }, + stt: { + enabled: true, + baseUrl: 'http://127.0.0.1:8022/v1', + apiKey: 'legacy-secret', + apiKeyRequired: false, + }, + }), + 'utf8', + ) + + const store = createPiAgentUiSettingsStore(paths) + expect(store.getSettings()).toMatchObject({ + network: { lanAccessEnabled: true }, + stt: { + enabled: true, + baseUrl: 'http://127.0.0.1:8022/v1', + apiKey: 'legacy-secret', + apiKeyRequired: false, + }, + }) + expect(store.getMeta('legacy_json_imported_at')).toEqual(expect.any(String)) + store.close() + }) +}) diff --git a/extensions/piagentui-settings-store.ts b/extensions/piagentui-settings-store.ts new file mode 100644 index 0000000..178ea9d --- /dev/null +++ b/extensions/piagentui-settings-store.ts @@ -0,0 +1,214 @@ +import * as fs from 'node:fs' +import * as path from 'node:path' +import { createRequire } from 'node:module' + +const nodeRequire = createRequire(import.meta.url) +const { DatabaseSync } = nodeRequire('node:sqlite') as typeof import('node:sqlite') +type DatabaseSyncInstance = InstanceType + +export type SttProviderKind = 'openai' | 'openai-compatible' +export type SttMode = 'file' | 'realtime' +export type SttInsertMode = 'append' | 'replace' +export type TtsResponseFormat = 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm' + +export type StoredSttSettings = { + enabled?: boolean + providerKind?: SttProviderKind + mode?: SttMode + baseUrl?: string + apiKey?: string + apiKeyRequired?: boolean + transcriptionEndpoint?: string + transcriptionModel?: string + language?: string + insertMode?: SttInsertMode +} + +export type StoredTtsSettings = { + enabled?: boolean + providerKind?: SttProviderKind + baseUrl?: string + apiKey?: string + apiKeyRequired?: boolean + speechEndpoint?: string + model?: string + voice?: string + responseFormat?: TtsResponseFormat + speed?: number +} + +export type PiAgentUiLocalSettings = { + schemaVersion?: number + network?: { + lanAccessEnabled?: boolean + } + stt?: StoredSttSettings + tts?: StoredTtsSettings +} + +export interface PiAgentUiSettingsPaths { + databasePath: string + legacyJsonPath: string +} + +type SettingsNamespace = 'network' | 'stt' | 'tts' + +const SETTINGS_SCHEMA_VERSION = 1 +const SETTINGS_KEYS: Record = { + network: 'access', + stt: 'settings', + tts: 'settings', +} + +export function resolvePiAgentUiSettingsPaths( + homeDir = process.env.USERPROFILE || process.env.HOME || '', +): PiAgentUiSettingsPaths { + const settingsDir = path.join(homeDir, '.pi', 'agent') + return { + databasePath: path.join(settingsDir, 'piagentui.db'), + legacyJsonPath: path.join(settingsDir, 'piagentui-settings.json'), + } +} + +function isObject(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value) +} + +function parseJsonObject(value: string | undefined): Record | undefined { + if (!value) return undefined + try { + const parsed = JSON.parse(value) + return isObject(parsed) ? parsed : undefined + } catch { + return undefined + } +} + +function normalizeSettings(raw: unknown): PiAgentUiLocalSettings { + if (!isObject(raw)) return {} + const next: PiAgentUiLocalSettings = { schemaVersion: SETTINGS_SCHEMA_VERSION } + + if (isObject(raw.network)) { + next.network = { lanAccessEnabled: raw.network.lanAccessEnabled === true } + } + if (isObject(raw.stt)) { + next.stt = raw.stt as StoredSttSettings + } + if (isObject(raw.tts)) { + next.tts = raw.tts as StoredTtsSettings + } + + return next +} + +function readLegacyJsonSettings(legacyJsonPath: string): PiAgentUiLocalSettings | null { + try { + if (!fs.existsSync(legacyJsonPath)) return null + return normalizeSettings(JSON.parse(fs.readFileSync(legacyJsonPath, 'utf8'))) + } catch { + return null + } +} + +export class PiAgentUiSettingsStore { + private readonly db: DatabaseSyncInstance + + constructor(private readonly paths: PiAgentUiSettingsPaths) { + fs.mkdirSync(path.dirname(paths.databasePath), { recursive: true }) + this.db = new DatabaseSync(paths.databasePath) + this.initialize() + this.importLegacyJsonOnce() + } + + close(): void { + this.db.close() + } + + getMeta(key: string): string | null { + const row = this.db.prepare('SELECT value FROM app_meta WHERE key = ?').get(key) as { value?: string } | undefined + return typeof row?.value === 'string' ? row.value : null + } + + setMeta(key: string, value: string): void { + this.db + .prepare( + `INSERT INTO app_meta (key, value, updated_at) + VALUES (?, ?, ?) + ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`, + ) + .run(key, value, Date.now()) + } + + getSettings(): PiAgentUiLocalSettings { + return { + schemaVersion: SETTINGS_SCHEMA_VERSION, + network: this.getNamespace('network') as PiAgentUiLocalSettings['network'], + stt: this.getNamespace('stt') as StoredSttSettings | undefined, + tts: this.getNamespace('tts') as StoredTtsSettings | undefined, + } + } + + saveSettings(settings: PiAgentUiLocalSettings): void { + const normalized = normalizeSettings(settings) + this.db.exec('BEGIN') + try { + if (normalized.network) this.setNamespace('network', normalized.network) + if (normalized.stt) this.setNamespace('stt', normalized.stt) + if (normalized.tts) this.setNamespace('tts', normalized.tts) + this.setMeta('schema_version', String(SETTINGS_SCHEMA_VERSION)) + this.db.exec('COMMIT') + } catch (error) { + this.db.exec('ROLLBACK') + throw error + } + } + + private initialize(): void { + this.db.exec('PRAGMA journal_mode = WAL') + this.db.exec('PRAGMA foreign_keys = ON') + this.db.exec(` + CREATE TABLE IF NOT EXISTS app_meta ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL, + updated_at INTEGER NOT NULL + ); + CREATE TABLE IF NOT EXISTS settings ( + namespace TEXT NOT NULL, + key TEXT NOT NULL, + value_json TEXT NOT NULL, + updated_at INTEGER NOT NULL, + PRIMARY KEY (namespace, key) + ); + `) + this.setMeta('schema_version', String(SETTINGS_SCHEMA_VERSION)) + } + + private importLegacyJsonOnce(): void { + if (this.getMeta('legacy_json_imported_at')) return + const legacy = readLegacyJsonSettings(this.paths.legacyJsonPath) + if (!legacy) return + this.saveSettings(legacy) + this.setMeta('legacy_json_imported_at', new Date().toISOString()) + } + + private getNamespace(namespace: SettingsNamespace): Record | undefined { + const row = this.db + .prepare('SELECT value_json FROM settings WHERE namespace = ? AND key = ?') + .get(namespace, SETTINGS_KEYS[namespace]) as { value_json?: string } | undefined + return parseJsonObject(row?.value_json) + } + + private setNamespace(namespace: SettingsNamespace, value: unknown): void { + this.db + .prepare( + `INSERT INTO settings (namespace, key, value_json, updated_at) + VALUES (?, ?, ?, ?) + ON CONFLICT(namespace, key) DO UPDATE SET value_json = excluded.value_json, updated_at = excluded.updated_at`, + ) + .run(namespace, SETTINGS_KEYS[namespace], JSON.stringify(value), Date.now()) + } +} + +export function createPiAgentUiSettingsStore(paths = resolvePiAgentUiSettingsPaths()): PiAgentUiSettingsStore { + return new PiAgentUiSettingsStore(paths) +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..7950b12 --- /dev/null +++ b/index.html @@ -0,0 +1,27 @@ + + + + + + + Pi Agent + + + + + + + + + + + + + +
+ + + diff --git a/openapi_doc.json b/openapi_doc.json new file mode 100644 index 0000000..091c0f7 --- /dev/null +++ b/openapi_doc.json @@ -0,0 +1,5378 @@ +{ + "openapi": "3.1.1", + "info": { "title": "opencode", "description": "opencode api", "version": "0.0.3" }, + "paths": { + "/global/health": { + "get": { + "operationId": "global.health", + "summary": "Get health", + "description": "Get health information about the OpenCode server.", + "responses": { + "200": { + "description": "Health information", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "healthy": { "type": "boolean", "const": true }, "version": { "type": "string" } }, + "required": ["healthy", "version"] + } + } + } + } + } + } + }, + "/global/event": { + "get": { + "operationId": "global.event", + "summary": "Get global events", + "description": "Subscribe to global events from the OpenCode system using server-sent events.", + "responses": { + "200": { + "description": "Event stream", + "content": { "text/event-stream": { "schema": { "$ref": "#/components/schemas/GlobalEvent" } } } + } + } + } + }, + "/global/config": { + "get": { + "operationId": "global.config.get", + "summary": "Get global configuration", + "description": "Retrieve the current global OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Get global config info", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } + } + } + }, + "patch": { + "operationId": "global.config.update", + "summary": "Update global configuration", + "description": "Update global OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Successfully updated global config", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } } + } + }, + "/global/dispose": { + "post": { + "operationId": "global.dispose", + "summary": "Dispose instance", + "description": "Clean up and dispose all OpenCode instances, releasing all resources.", + "responses": { + "200": { + "description": "Global disposed", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/auth/{providerID}": { + "put": { + "operationId": "auth.set", + "summary": "Set auth credentials", + "description": "Set authentication credentials", + "responses": { + "200": { + "description": "Successfully set authentication credentials", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "parameters": [{ "in": "path", "name": "providerID", "schema": { "type": "string" }, "required": true }], + "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Auth" } } } } + }, + "delete": { + "operationId": "auth.remove", + "summary": "Remove auth credentials", + "description": "Remove authentication credentials", + "responses": { + "200": { + "description": "Successfully removed authentication credentials", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "parameters": [{ "in": "path", "name": "providerID", "schema": { "type": "string" }, "required": true }] + } + }, + "/project": { + "get": { + "operationId": "project.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List all projects", + "description": "Get a list of projects that have been opened with OpenCode.", + "responses": { + "200": { + "description": "List of projects", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Project" } } } + } + } + } + } + }, + "/project/current": { + "get": { + "operationId": "project.current", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get current project", + "description": "Retrieve the currently active project that OpenCode is working with.", + "responses": { + "200": { + "description": "Current project information", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project" } } } + } + } + } + }, + "/project/{projectID}": { + "patch": { + "operationId": "project.update", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "projectID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Update project", + "description": "Update project properties such as name, icon, and commands.", + "responses": { + "200": { + "description": "Updated project information", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "icon": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "override": { "type": "string" }, + "color": { "type": "string" } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/pty": { + "get": { + "operationId": "pty.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List PTY sessions", + "description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pty" } } } + } + } + } + }, + "post": { + "operationId": "pty.create", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Create PTY session", + "description": "Create a new pseudo-terminal (PTY) session for running shell commands and processes.", + "responses": { + "200": { + "description": "Created session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pty" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command": { "type": "string" }, + "args": { "type": "array", "items": { "type": "string" } }, + "cwd": { "type": "string" }, + "title": { "type": "string" }, + "env": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + } + } + } + } + } + } + } + }, + "/pty/{ptyID}": { + "get": { + "operationId": "pty.get", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "ptyID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Get PTY session", + "description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session info", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pty" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "put": { + "operationId": "pty.update", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "ptyID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Update PTY session", + "description": "Update properties of an existing pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Updated session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pty" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "size": { + "type": "object", + "properties": { "rows": { "type": "number" }, "cols": { "type": "number" } }, + "required": ["rows", "cols"] + } + } + } + } + } + } + }, + "delete": { + "operationId": "pty.remove", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "ptyID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Remove PTY session", + "description": "Remove and terminate a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session removed", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/pty/{ptyID}/connect": { + "get": { + "operationId": "pty.connect", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "ptyID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Connect to PTY session", + "description": "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.", + "responses": { + "200": { + "description": "Connected session", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/config": { + "get": { + "operationId": "config.get", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get configuration", + "description": "Retrieve the current OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Get config info", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } + } + } + }, + "patch": { + "operationId": "config.update", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Update configuration", + "description": "Update OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Successfully updated config", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } } + } + }, + "/config/providers": { + "get": { + "operationId": "config.providers", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List config providers", + "description": "Get a list of all configured AI providers and their default models.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providers": { "type": "array", "items": { "$ref": "#/components/schemas/Provider" } }, + "default": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + } + }, + "required": ["providers", "default"] + } + } + } + } + } + } + }, + "/experimental/tool/ids": { + "get": { + "operationId": "tool.ids", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List tool IDs", + "description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.", + "responses": { + "200": { + "description": "Tool IDs", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ToolIDs" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + } + } + }, + "/experimental/tool": { + "get": { + "operationId": "tool.list", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "provider", "schema": { "type": "string" }, "required": true }, + { "in": "query", "name": "model", "schema": { "type": "string" }, "required": true } + ], + "summary": "List tools", + "description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.", + "responses": { + "200": { + "description": "Tools", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ToolList" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + } + } + }, + "/experimental/worktree": { + "post": { + "operationId": "worktree.create", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Create worktree", + "description": "Create a new git worktree for the current project and run any configured startup scripts.", + "responses": { + "200": { + "description": "Worktree created", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Worktree" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorktreeCreateInput" } } } + } + }, + "get": { + "operationId": "worktree.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List worktrees", + "description": "List all sandbox worktrees for the current project.", + "responses": { + "200": { + "description": "List of worktree directories", + "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } + } + } + }, + "delete": { + "operationId": "worktree.remove", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Remove worktree", + "description": "Remove a git worktree and delete its branch.", + "responses": { + "200": { + "description": "Worktree removed", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorktreeRemoveInput" } } } + } + } + }, + "/experimental/worktree/reset": { + "post": { + "operationId": "worktree.reset", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Reset worktree", + "description": "Reset a worktree branch to the primary default branch.", + "responses": { + "200": { + "description": "Worktree reset", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorktreeResetInput" } } } + } + } + }, + "/experimental/resource": { + "get": { + "operationId": "experimental.resource.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get MCP resources", + "description": "Get all available MCP resources from connected servers. Optionally filter by name.", + "responses": { + "200": { + "description": "MCP resources", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/McpResource" } + } + } + } + } + } + } + }, + "/session": { + "get": { + "operationId": "session.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { "type": "string" }, + "description": "Filter sessions by project directory" + }, + { + "in": "query", + "name": "roots", + "schema": { "type": "boolean" }, + "description": "Only return root sessions (no parentID)" + }, + { + "in": "query", + "name": "start", + "schema": { "type": "number" }, + "description": "Filter sessions updated on or after this timestamp (milliseconds since epoch)" + }, + { + "in": "query", + "name": "search", + "schema": { "type": "string" }, + "description": "Filter sessions by title (case-insensitive)" + }, + { + "in": "query", + "name": "limit", + "schema": { "type": "number" }, + "description": "Maximum number of sessions to return" + } + ], + "summary": "List sessions", + "description": "Get a list of all OpenCode sessions, sorted by most recently updated.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Session" } } } + } + } + } + }, + "post": { + "operationId": "session.create", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Create session", + "description": "Create a new OpenCode session for interacting with AI assistants and managing conversations.", + "responses": { + "200": { + "description": "Successfully created session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "parentID": { "type": "string", "pattern": "^ses.*" }, + "title": { "type": "string" }, + "permission": { "$ref": "#/components/schemas/PermissionRuleset" } + } + } + } + } + } + } + }, + "/session/status": { + "get": { + "operationId": "session.status", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get session status", + "description": "Retrieve the current status of all sessions, including active, idle, and completed states.", + "responses": { + "200": { + "description": "Get session status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/SessionStatus" } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + } + } + }, + "/session/{sessionID}": { + "get": { + "operationId": "session.get", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true } + ], + "summary": "Get session", + "description": "Retrieve detailed information about a specific OpenCode session.", + "tags": ["Session"], + "responses": { + "200": { + "description": "Get session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "delete": { + "operationId": "session.delete", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true } + ], + "summary": "Delete session", + "description": "Delete a session and permanently remove all associated data, including messages and history.", + "responses": { + "200": { + "description": "Successfully deleted session", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "patch": { + "operationId": "session.update", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Update session", + "description": "Update properties of an existing session, such as title or other metadata.", + "responses": { + "200": { + "description": "Successfully updated session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "time": { "type": "object", "properties": { "archived": { "type": "number" } } } + } + } + } + } + } + } + }, + "/session/{sessionID}/children": { + "get": { + "operationId": "session.children", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true } + ], + "summary": "Get session children", + "tags": ["Session"], + "description": "Retrieve all child sessions that were forked from the specified parent session.", + "responses": { + "200": { + "description": "List of children", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Session" } } } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/todo": { + "get": { + "operationId": "session.todo", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Get session todos", + "description": "Retrieve the todo list associated with a specific session, showing tasks and action items.", + "responses": { + "200": { + "description": "Todo list", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Todo" } } } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/init": { + "post": { + "operationId": "session.init", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Initialize session", + "description": "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.", + "responses": { + "200": { "description": "200", "content": { "application/json": { "schema": { "type": "boolean" } } } }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "modelID": { "type": "string" }, + "providerID": { "type": "string" }, + "messageID": { "type": "string", "pattern": "^msg.*" } + }, + "required": ["modelID", "providerID", "messageID"] + } + } + } + } + } + }, + "/session/{sessionID}/fork": { + "post": { + "operationId": "session.fork", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true } + ], + "summary": "Fork session", + "description": "Create a new session by forking an existing session at a specific message point.", + "responses": { + "200": { + "description": "200", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { "type": "object", "properties": { "messageID": { "type": "string", "pattern": "^msg.*" } } } + } + } + } + } + }, + "/session/{sessionID}/abort": { + "post": { + "operationId": "session.abort", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Abort session", + "description": "Abort an active session and stop any ongoing AI processing or command execution.", + "responses": { + "200": { + "description": "Aborted session", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/share": { + "post": { + "operationId": "session.share", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Share session", + "description": "Create a shareable link for a session, allowing others to view the conversation.", + "responses": { + "200": { + "description": "Successfully shared session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "delete": { + "operationId": "session.unshare", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true } + ], + "summary": "Unshare session", + "description": "Remove the shareable link for a session, making it private again.", + "responses": { + "200": { + "description": "Successfully unshared session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/diff": { + "get": { + "operationId": "session.diff", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string", "pattern": "^ses.*" }, "required": true }, + { "in": "query", "name": "messageID", "schema": { "type": "string", "pattern": "^msg.*" } } + ], + "summary": "Get message diff", + "description": "Get the file changes (diff) that resulted from a specific user message in the session.", + "responses": { + "200": { + "description": "Successfully retrieved diff", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FileDiff" } } + } + } + } + } + } + }, + "/session/{sessionID}/summarize": { + "post": { + "operationId": "session.summarize", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Summarize session", + "description": "Generate a concise summary of the session using AI compaction to preserve key information.", + "responses": { + "200": { + "description": "Summarized session", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providerID": { "type": "string" }, + "modelID": { "type": "string" }, + "auto": { "default": false, "type": "boolean" } + }, + "required": ["providerID", "modelID"] + } + } + } + } + } + }, + "/session/{sessionID}/message": { + "get": { + "operationId": "session.messages", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + }, + { "in": "query", "name": "limit", "schema": { "type": "number" } } + ], + "summary": "Get session messages", + "description": "Retrieve all messages in a session, including user prompts and AI responses.", + "responses": { + "200": { + "description": "List of messages", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "info": { "$ref": "#/components/schemas/Message" }, + "parts": { "type": "array", "items": { "$ref": "#/components/schemas/Part" } } + }, + "required": ["info", "parts"] + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "post": { + "operationId": "session.prompt", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send message", + "description": "Create and send a new message to a session, streaming the AI response.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { "$ref": "#/components/schemas/AssistantMessage" }, + "parts": { "type": "array", "items": { "$ref": "#/components/schemas/Part" } } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { "type": "string", "pattern": "^msg.*" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "agent": { "type": "string" }, + "noReply": { "type": "boolean" }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "boolean" } + }, + "system": { "type": "string" }, + "variant": { "type": "string" }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { "$ref": "#/components/schemas/TextPartInput" }, + { "$ref": "#/components/schemas/FilePartInput" }, + { "$ref": "#/components/schemas/AgentPartInput" }, + { "$ref": "#/components/schemas/SubtaskPartInput" } + ] + } + } + }, + "required": ["parts"] + } + } + } + } + } + }, + "/session/{sessionID}/message/{messageID}": { + "get": { + "operationId": "session.message", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { "type": "string" }, + "required": true, + "description": "Message ID" + } + ], + "summary": "Get message", + "description": "Retrieve a specific message from a session by its message ID.", + "responses": { + "200": { + "description": "Message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { "$ref": "#/components/schemas/Message" }, + "parts": { "type": "array", "items": { "$ref": "#/components/schemas/Part" } } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/message/{messageID}/part/{partID}": { + "delete": { + "operationId": "part.delete", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { "type": "string" }, + "required": true, + "description": "Message ID" + }, + { "in": "path", "name": "partID", "schema": { "type": "string" }, "required": true, "description": "Part ID" } + ], + "description": "Delete a part from a message", + "responses": { + "200": { + "description": "Successfully deleted part", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "patch": { + "operationId": "part.update", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { "type": "string" }, + "required": true, + "description": "Message ID" + }, + { "in": "path", "name": "partID", "schema": { "type": "string" }, "required": true, "description": "Part ID" } + ], + "description": "Update a part in a message", + "responses": { + "200": { + "description": "Successfully updated part", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Part" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Part" } } } } + } + }, + "/session/{sessionID}/prompt_async": { + "post": { + "operationId": "session.prompt_async", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send async message", + "description": "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.", + "responses": { + "204": { "description": "Prompt accepted" }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { "type": "string", "pattern": "^msg.*" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "agent": { "type": "string" }, + "noReply": { "type": "boolean" }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "boolean" } + }, + "system": { "type": "string" }, + "variant": { "type": "string" }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { "$ref": "#/components/schemas/TextPartInput" }, + { "$ref": "#/components/schemas/FilePartInput" }, + { "$ref": "#/components/schemas/AgentPartInput" }, + { "$ref": "#/components/schemas/SubtaskPartInput" } + ] + } + } + }, + "required": ["parts"] + } + } + } + } + } + }, + "/session/{sessionID}/command": { + "post": { + "operationId": "session.command", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send command", + "description": "Send a new command to a session for execution by the AI assistant.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { "$ref": "#/components/schemas/AssistantMessage" }, + "parts": { "type": "array", "items": { "$ref": "#/components/schemas/Part" } } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { "type": "string", "pattern": "^msg.*" }, + "agent": { "type": "string" }, + "model": { "type": "string" }, + "arguments": { "type": "string" }, + "command": { "type": "string" }, + "variant": { "type": "string" }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "const": "file" }, + "mime": { "type": "string" }, + "filename": { "type": "string" }, + "url": { "type": "string" }, + "source": { "$ref": "#/components/schemas/FilePartSource" } + }, + "required": ["type", "mime", "url"] + } + ] + } + } + }, + "required": ["arguments", "command"] + } + } + } + } + } + }, + "/session/{sessionID}/shell": { + "post": { + "operationId": "session.shell", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "sessionID", + "schema": { "type": "string" }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Run shell command", + "description": "Execute a shell command within the session context and return the AI's response.", + "responses": { + "200": { + "description": "Created message", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssistantMessage" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "agent": { "type": "string" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "command": { "type": "string" } + }, + "required": ["agent", "command"] + } + } + } + } + } + }, + "/session/{sessionID}/revert": { + "post": { + "operationId": "session.revert", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Revert message", + "description": "Revert a specific message in a session, undoing its effects and restoring the previous state.", + "responses": { + "200": { + "description": "Updated session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { "type": "string", "pattern": "^msg.*" }, + "partID": { "type": "string", "pattern": "^prt.*" } + }, + "required": ["messageID"] + } + } + } + } + } + }, + "/session/{sessionID}/unrevert": { + "post": { + "operationId": "session.unrevert", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Restore reverted messages", + "description": "Restore all previously reverted messages in a session.", + "responses": { + "200": { + "description": "Updated session", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/session/{sessionID}/permissions/{permissionID}": { + "post": { + "operationId": "permission.respond", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "sessionID", "schema": { "type": "string" }, "required": true }, + { "in": "path", "name": "permissionID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Respond to permission", + "deprecated": true, + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "response": { "type": "string", "enum": ["once", "always", "reject"] } }, + "required": ["response"] + } + } + } + } + } + }, + "/permission/{requestID}/reply": { + "post": { + "operationId": "permission.reply", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "requestID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Respond to permission request", + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reply": { "type": "string", "enum": ["once", "always", "reject"] }, + "message": { "type": "string" } + }, + "required": ["reply"] + } + } + } + } + } + }, + "/permission": { + "get": { + "operationId": "permission.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List pending permissions", + "description": "Get all pending permission requests across all sessions.", + "responses": { + "200": { + "description": "List of pending permissions", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionRequest" } } + } + } + } + } + } + }, + "/question": { + "get": { + "operationId": "question.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List pending questions", + "description": "Get all pending question requests across all sessions.", + "responses": { + "200": { + "description": "List of pending questions", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionRequest" } } + } + } + } + } + } + }, + "/question/{requestID}/reply": { + "post": { + "operationId": "question.reply", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "requestID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Reply to question request", + "description": "Provide answers to a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question answered successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "answers": { + "description": "User answers in order of questions (each answer is an array of selected labels)", + "type": "array", + "items": { "$ref": "#/components/schemas/QuestionAnswer" } + } + }, + "required": ["answers"] + } + } + } + } + } + }, + "/question/{requestID}/reject": { + "post": { + "operationId": "question.reject", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "requestID", "schema": { "type": "string" }, "required": true } + ], + "summary": "Reject question request", + "description": "Reject a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question rejected successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/provider": { + "get": { + "operationId": "provider.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List providers", + "description": "Get a list of all available AI providers, including both available and connected ones.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "all": { + "type": "array", + "items": { + "type": "object", + "properties": { + "api": { "type": "string" }, + "name": { "type": "string" }, + "env": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "npm": { "type": "string" }, + "models": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "family": { "type": "string" }, + "release_date": { "type": "string" }, + "attachment": { "type": "boolean" }, + "reasoning": { "type": "boolean" }, + "temperature": { "type": "boolean" }, + "tool_call": { "type": "boolean" }, + "interleaved": { + "anyOf": [ + { "type": "boolean", "const": true }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": ["reasoning_content", "reasoning_details"] + } + }, + "required": ["field"], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache_read": { "type": "number" }, + "cache_write": { "type": "number" }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache_read": { "type": "number" }, + "cache_write": { "type": "number" } + }, + "required": ["input", "output"] + } + }, + "required": ["input", "output"] + }, + "limit": { + "type": "object", + "properties": { + "context": { "type": "number" }, + "input": { "type": "number" }, + "output": { "type": "number" } + }, + "required": ["context", "output"] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { "type": "string", "enum": ["text", "audio", "image", "video", "pdf"] } + }, + "output": { + "type": "array", + "items": { "type": "string", "enum": ["text", "audio", "image", "video", "pdf"] } + } + }, + "required": ["input", "output"] + }, + "experimental": { "type": "boolean" }, + "status": { "type": "string", "enum": ["alpha", "beta", "deprecated"] }, + "options": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "provider": { + "type": "object", + "properties": { "npm": { "type": "string" } }, + "required": ["npm"] + }, + "variants": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "name", + "release_date", + "attachment", + "reasoning", + "temperature", + "tool_call", + "limit", + "options" + ] + } + } + }, + "required": ["name", "env", "id", "models"] + } + }, + "default": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "connected": { "type": "array", "items": { "type": "string" } } + }, + "required": ["all", "default", "connected"] + } + } + } + } + } + } + }, + "/provider/auth": { + "get": { + "operationId": "provider.auth", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get provider auth methods", + "description": "Retrieve available authentication methods for all AI providers.", + "responses": { + "200": { + "description": "Provider auth methods", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "array", + "items": { "$ref": "#/components/schemas/ProviderAuthMethod" } + } + } + } + } + } + } + } + }, + "/provider/{providerID}/oauth/authorize": { + "post": { + "operationId": "provider.oauth.authorize", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "providerID", + "schema": { "type": "string" }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth authorize", + "description": "Initiate OAuth authorization for a specific AI provider to get an authorization URL.", + "responses": { + "200": { + "description": "Authorization URL and method", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ProviderAuthAuthorization" } } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "method": { "description": "Auth method index", "type": "number" } }, + "required": ["method"] + } + } + } + } + } + }, + "/provider/{providerID}/oauth/callback": { + "post": { + "operationId": "provider.oauth.callback", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { + "in": "path", + "name": "providerID", + "schema": { "type": "string" }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth callback", + "description": "Handle the OAuth callback from a provider after user authorization.", + "responses": { + "200": { + "description": "OAuth callback processed successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "method": { "description": "Auth method index", "type": "number" }, + "code": { "description": "OAuth authorization code", "type": "string" } + }, + "required": ["method"] + } + } + } + } + } + }, + "/find": { + "get": { + "operationId": "find.text", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "pattern", "schema": { "type": "string" }, "required": true } + ], + "summary": "Find text", + "description": "Search for text patterns across files in the project using ripgrep.", + "responses": { + "200": { + "description": "Matches", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "object", + "properties": { "text": { "type": "string" } }, + "required": ["text"] + }, + "lines": { + "type": "object", + "properties": { "text": { "type": "string" } }, + "required": ["text"] + }, + "line_number": { "type": "number" }, + "absolute_offset": { "type": "number" }, + "submatches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "match": { + "type": "object", + "properties": { "text": { "type": "string" } }, + "required": ["text"] + }, + "start": { "type": "number" }, + "end": { "type": "number" } + }, + "required": ["match", "start", "end"] + } + } + }, + "required": ["path", "lines", "line_number", "absolute_offset", "submatches"] + } + } + } + } + } + } + } + }, + "/find/file": { + "get": { + "operationId": "find.files", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "query", "schema": { "type": "string" }, "required": true }, + { "in": "query", "name": "dirs", "schema": { "type": "string", "enum": ["true", "false"] } }, + { "in": "query", "name": "type", "schema": { "type": "string", "enum": ["file", "directory"] } }, + { "in": "query", "name": "limit", "schema": { "type": "integer", "minimum": 1, "maximum": 200 } } + ], + "summary": "Find files", + "description": "Search for files or directories by name or pattern in the project directory.", + "responses": { + "200": { + "description": "File paths", + "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } + } + } + } + }, + "/find/symbol": { + "get": { + "operationId": "find.symbols", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "query", "schema": { "type": "string" }, "required": true } + ], + "summary": "Find symbols", + "description": "Search for workspace symbols like functions, classes, and variables using LSP.", + "responses": { + "200": { + "description": "Symbols", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Symbol" } } } + } + } + } + } + }, + "/file": { + "get": { + "operationId": "file.list", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "path", "schema": { "type": "string" }, "required": true } + ], + "summary": "List files", + "description": "List files and directories in a specified path.", + "responses": { + "200": { + "description": "Files and directories", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FileNode" } } + } + } + } + } + } + }, + "/file/content": { + "get": { + "operationId": "file.read", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "query", "name": "path", "schema": { "type": "string" }, "required": true } + ], + "summary": "Read file", + "description": "Read the content of a specified file.", + "responses": { + "200": { + "description": "File content", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileContent" } } } + } + } + } + }, + "/file/status": { + "get": { + "operationId": "file.status", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get file status", + "description": "Get the git status of all files in the project.", + "responses": { + "200": { + "description": "File status", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/File" } } } + } + } + } + } + }, + "/mcp": { + "get": { + "operationId": "mcp.status", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get MCP status", + "description": "Get the status of all Model Context Protocol (MCP) servers.", + "responses": { + "200": { + "description": "MCP server status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/MCPStatus" } + } + } + } + } + } + }, + "post": { + "operationId": "mcp.add", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Add MCP server", + "description": "Dynamically add a new Model Context Protocol (MCP) server to the system.", + "responses": { + "200": { + "description": "MCP server added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/MCPStatus" } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "config": { + "anyOf": [ + { "$ref": "#/components/schemas/McpLocalConfig" }, + { "$ref": "#/components/schemas/McpRemoteConfig" } + ] + } + }, + "required": ["name", "config"] + } + } + } + } + } + }, + "/mcp/{name}/auth": { + "post": { + "operationId": "mcp.auth.start", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "schema": { "type": "string" }, "in": "path", "name": "name", "required": true } + ], + "summary": "Start MCP OAuth", + "description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.", + "responses": { + "200": { + "description": "OAuth flow started", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "authorizationUrl": { "description": "URL to open in browser for authorization", "type": "string" } + }, + "required": ["authorizationUrl"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + }, + "delete": { + "operationId": "mcp.auth.remove", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "schema": { "type": "string" }, "in": "path", "name": "name", "required": true } + ], + "summary": "Remove MCP OAuth", + "description": "Remove OAuth credentials for an MCP server", + "responses": { + "200": { + "description": "OAuth credentials removed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "success": { "type": "boolean", "const": true } }, + "required": ["success"] + } + } + } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/mcp/{name}/auth/callback": { + "post": { + "operationId": "mcp.auth.callback", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "schema": { "type": "string" }, "in": "path", "name": "name", "required": true } + ], + "summary": "Complete MCP OAuth", + "description": "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPStatus" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "code": { "description": "Authorization code from OAuth callback", "type": "string" } }, + "required": ["code"] + } + } + } + } + } + }, + "/mcp/{name}/auth/authenticate": { + "post": { + "operationId": "mcp.auth.authenticate", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "schema": { "type": "string" }, "in": "path", "name": "name", "required": true } + ], + "summary": "Authenticate MCP OAuth", + "description": "Start OAuth flow and wait for callback (opens browser)", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MCPStatus" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + } + } + }, + "/mcp/{name}/connect": { + "post": { + "operationId": "mcp.connect", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "name", "schema": { "type": "string" }, "required": true } + ], + "description": "Connect an MCP server", + "responses": { + "200": { + "description": "MCP server connected successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/mcp/{name}/disconnect": { + "post": { + "operationId": "mcp.disconnect", + "parameters": [ + { "in": "query", "name": "directory", "schema": { "type": "string" } }, + { "in": "path", "name": "name", "schema": { "type": "string" }, "required": true } + ], + "description": "Disconnect an MCP server", + "responses": { + "200": { + "description": "MCP server disconnected successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/append-prompt": { + "post": { + "operationId": "tui.appendPrompt", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Append TUI prompt", + "description": "Append prompt to the TUI", + "responses": { + "200": { + "description": "Prompt processed successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { "type": "object", "properties": { "text": { "type": "string" } }, "required": ["text"] } + } + } + } + } + }, + "/tui/open-help": { + "post": { + "operationId": "tui.openHelp", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Open help dialog", + "description": "Open the help dialog in the TUI to display user assistance information.", + "responses": { + "200": { + "description": "Help dialog opened successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/open-sessions": { + "post": { + "operationId": "tui.openSessions", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Open sessions dialog", + "description": "Open the session dialog", + "responses": { + "200": { + "description": "Session dialog opened successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/open-themes": { + "post": { + "operationId": "tui.openThemes", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Open themes dialog", + "description": "Open the theme dialog", + "responses": { + "200": { + "description": "Theme dialog opened successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/open-models": { + "post": { + "operationId": "tui.openModels", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Open models dialog", + "description": "Open the model dialog", + "responses": { + "200": { + "description": "Model dialog opened successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/submit-prompt": { + "post": { + "operationId": "tui.submitPrompt", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Submit TUI prompt", + "description": "Submit the prompt", + "responses": { + "200": { + "description": "Prompt submitted successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/clear-prompt": { + "post": { + "operationId": "tui.clearPrompt", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Clear TUI prompt", + "description": "Clear the prompt", + "responses": { + "200": { + "description": "Prompt cleared successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/tui/execute-command": { + "post": { + "operationId": "tui.executeCommand", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Execute TUI command", + "description": "Execute a TUI command (e.g. agent_cycle)", + "responses": { + "200": { + "description": "Command executed successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { "type": "object", "properties": { "command": { "type": "string" } }, "required": ["command"] } + } + } + } + } + }, + "/tui/show-toast": { + "post": { + "operationId": "tui.showToast", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Show TUI toast", + "description": "Show a toast notification in the TUI", + "responses": { + "200": { + "description": "Toast notification shown successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "message": { "type": "string" }, + "variant": { "type": "string", "enum": ["info", "success", "warning", "error"] }, + "duration": { "description": "Duration in milliseconds", "default": 5000, "type": "number" } + }, + "required": ["message", "variant"] + } + } + } + } + } + }, + "/tui/publish": { + "post": { + "operationId": "tui.publish", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Publish TUI event", + "description": "Publish a TUI event", + "responses": { + "200": { + "description": "Event published successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { "$ref": "#/components/schemas/Event.tui.prompt.append" }, + { "$ref": "#/components/schemas/Event.tui.command.execute" }, + { "$ref": "#/components/schemas/Event.tui.toast.show" }, + { "$ref": "#/components/schemas/Event.tui.session.select" } + ] + } + } + } + } + } + }, + "/tui/select-session": { + "post": { + "operationId": "tui.selectSession", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Select session", + "description": "Navigate the TUI to display the specified session.", + "responses": { + "200": { + "description": "Session selected successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + }, + "404": { + "description": "Not found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "sessionID": { "description": "Session ID to navigate to", "type": "string", "pattern": "^ses" } + }, + "required": ["sessionID"] + } + } + } + } + } + }, + "/tui/control/next": { + "get": { + "operationId": "tui.control.next", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get next TUI request", + "description": "Retrieve the next TUI (Terminal User Interface) request from the queue for processing.", + "responses": { + "200": { + "description": "Next TUI request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "path": { "type": "string" }, "body": {} }, + "required": ["path", "body"] + } + } + } + } + } + } + }, + "/tui/control/response": { + "post": { + "operationId": "tui.control.response", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Submit TUI response", + "description": "Submit a response to the TUI request queue to complete a pending request.", + "responses": { + "200": { + "description": "Response submitted successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + }, + "requestBody": { "content": { "application/json": { "schema": {} } } } + } + }, + "/instance/dispose": { + "post": { + "operationId": "instance.dispose", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Dispose instance", + "description": "Clean up and dispose the current OpenCode instance, releasing all resources.", + "responses": { + "200": { + "description": "Instance disposed", + "content": { "application/json": { "schema": { "type": "boolean" } } } + } + } + } + }, + "/path": { + "get": { + "operationId": "path.get", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get paths", + "description": "Retrieve the current working directory and related path information for the OpenCode instance.", + "responses": { + "200": { + "description": "Path", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Path" } } } + } + } + } + }, + "/vcs": { + "get": { + "operationId": "vcs.get", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get VCS info", + "description": "Retrieve version control system (VCS) information for the current project, such as git branch.", + "responses": { + "200": { + "description": "VCS info", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VcsInfo" } } } + } + } + } + }, + "/command": { + "get": { + "operationId": "command.list", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List commands", + "description": "Get a list of all available commands in the OpenCode system.", + "responses": { + "200": { + "description": "List of commands", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Command" } } } + } + } + } + } + }, + "/log": { + "post": { + "operationId": "app.log", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Write log", + "description": "Write a log entry to the server logs with specified level and metadata.", + "responses": { + "200": { + "description": "Log entry written successfully", + "content": { "application/json": { "schema": { "type": "boolean" } } } + }, + "400": { + "description": "Bad request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "service": { "description": "Service name for the log entry", "type": "string" }, + "level": { "description": "Log level", "type": "string", "enum": ["debug", "info", "error", "warn"] }, + "message": { "description": "Log message", "type": "string" }, + "extra": { + "description": "Additional metadata for the log entry", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": {} + } + }, + "required": ["service", "level", "message"] + } + } + } + } + } + }, + "/agent": { + "get": { + "operationId": "app.agents", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List agents", + "description": "Get a list of all available AI agents in the OpenCode system.", + "responses": { + "200": { + "description": "List of agents", + "content": { + "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agent" } } } + } + } + } + } + }, + "/skill": { + "get": { + "operationId": "app.skills", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "List skills", + "description": "Get a list of all available skills in the OpenCode system.", + "responses": { + "200": { + "description": "List of skills", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "location": { "type": "string" }, + "content": { "type": "string" } + }, + "required": ["name", "description", "location", "content"] + } + } + } + } + } + } + } + }, + "/lsp": { + "get": { + "operationId": "lsp.status", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get LSP status", + "description": "Get LSP server status", + "responses": { + "200": { + "description": "LSP server status", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/LSPStatus" } } + } + } + } + } + } + }, + "/formatter": { + "get": { + "operationId": "formatter.status", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Get formatter status", + "description": "Get formatter status", + "responses": { + "200": { + "description": "Formatter status", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FormatterStatus" } } + } + } + } + } + } + }, + "/event": { + "get": { + "operationId": "event.subscribe", + "parameters": [{ "in": "query", "name": "directory", "schema": { "type": "string" } }], + "summary": "Subscribe to events", + "description": "Get events", + "responses": { + "200": { + "description": "Event stream", + "content": { "text/event-stream": { "schema": { "$ref": "#/components/schemas/Event" } } } + } + } + } + } + }, + "components": { + "schemas": { + "Event.server.connected": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "server.connected" }, + "properties": { "type": "object", "properties": {} } + }, + "required": ["type", "properties"] + }, + "Event.global.disposed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "global.disposed" }, + "properties": { "type": "object", "properties": {} } + }, + "required": ["type", "properties"] + }, + "Event.tui.prompt.append": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "tui.prompt.append" }, + "properties": { "type": "object", "properties": { "text": { "type": "string" } }, "required": ["text"] } + }, + "required": ["type", "properties"] + }, + "Event.tui.command.execute": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "tui.command.execute" }, + "properties": { + "type": "object", + "properties": { + "command": { + "anyOf": [ + { + "type": "string", + "enum": [ + "session.list", + "session.new", + "session.share", + "session.interrupt", + "session.compact", + "session.page.up", + "session.page.down", + "session.line.up", + "session.line.down", + "session.half.page.up", + "session.half.page.down", + "session.first", + "session.last", + "prompt.clear", + "prompt.submit", + "agent.cycle" + ] + }, + { "type": "string" } + ] + } + }, + "required": ["command"] + } + }, + "required": ["type", "properties"] + }, + "Event.tui.toast.show": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "tui.toast.show" }, + "properties": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "message": { "type": "string" }, + "variant": { "type": "string", "enum": ["info", "success", "warning", "error"] }, + "duration": { "description": "Duration in milliseconds", "default": 5000, "type": "number" } + }, + "required": ["message", "variant"] + } + }, + "required": ["type", "properties"] + }, + "Event.tui.session.select": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "tui.session.select" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "description": "Session ID to navigate to", "type": "string", "pattern": "^ses" } + }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "Event.installation.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "installation.updated" }, + "properties": { "type": "object", "properties": { "version": { "type": "string" } }, "required": ["version"] } + }, + "required": ["type", "properties"] + }, + "Event.installation.update-available": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "installation.update-available" }, + "properties": { "type": "object", "properties": { "version": { "type": "string" } }, "required": ["version"] } + }, + "required": ["type", "properties"] + }, + "Project": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "worktree": { "type": "string" }, + "vcs": { "type": "string", "const": "git" }, + "name": { "type": "string" }, + "icon": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "override": { "type": "string" }, + "color": { "type": "string" } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + }, + "time": { + "type": "object", + "properties": { + "created": { "type": "number" }, + "updated": { "type": "number" }, + "initialized": { "type": "number" } + }, + "required": ["created", "updated"] + }, + "sandboxes": { "type": "array", "items": { "type": "string" } } + }, + "required": ["id", "worktree", "time", "sandboxes"] + }, + "Event.project.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "project.updated" }, + "properties": { "$ref": "#/components/schemas/Project" } + }, + "required": ["type", "properties"] + }, + "Event.server.instance.disposed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "server.instance.disposed" }, + "properties": { + "type": "object", + "properties": { "directory": { "type": "string" } }, + "required": ["directory"] + } + }, + "required": ["type", "properties"] + }, + "Event.file.edited": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "file.edited" }, + "properties": { "type": "object", "properties": { "file": { "type": "string" } }, "required": ["file"] } + }, + "required": ["type", "properties"] + }, + "Event.worktree.ready": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "worktree.ready" }, + "properties": { + "type": "object", + "properties": { "name": { "type": "string" }, "branch": { "type": "string" } }, + "required": ["name", "branch"] + } + }, + "required": ["type", "properties"] + }, + "Event.worktree.failed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "worktree.failed" }, + "properties": { "type": "object", "properties": { "message": { "type": "string" } }, "required": ["message"] } + }, + "required": ["type", "properties"] + }, + "Event.lsp.client.diagnostics": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "lsp.client.diagnostics" }, + "properties": { + "type": "object", + "properties": { "serverID": { "type": "string" }, "path": { "type": "string" } }, + "required": ["serverID", "path"] + } + }, + "required": ["type", "properties"] + }, + "PermissionRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "pattern": "^per.*" }, + "sessionID": { "type": "string", "pattern": "^ses.*" }, + "permission": { "type": "string" }, + "patterns": { "type": "array", "items": { "type": "string" } }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "always": { "type": "array", "items": { "type": "string" } }, + "tool": { + "type": "object", + "properties": { "messageID": { "type": "string" }, "callID": { "type": "string" } }, + "required": ["messageID", "callID"] + } + }, + "required": ["id", "sessionID", "permission", "patterns", "metadata", "always"] + }, + "Event.permission.asked": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "permission.asked" }, + "properties": { "$ref": "#/components/schemas/PermissionRequest" } + }, + "required": ["type", "properties"] + }, + "Event.permission.replied": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "permission.replied" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "requestID": { "type": "string" }, + "reply": { "type": "string", "enum": ["once", "always", "reject"] } + }, + "required": ["sessionID", "requestID", "reply"] + } + }, + "required": ["type", "properties"] + }, + "SessionStatus": { + "anyOf": [ + { "type": "object", "properties": { "type": { "type": "string", "const": "idle" } }, "required": ["type"] }, + { + "type": "object", + "properties": { + "type": { "type": "string", "const": "retry" }, + "attempt": { "type": "number" }, + "message": { "type": "string" }, + "next": { "type": "number" } + }, + "required": ["type", "attempt", "message", "next"] + }, + { "type": "object", "properties": { "type": { "type": "string", "const": "busy" } }, "required": ["type"] } + ] + }, + "Event.session.status": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.status" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "status": { "$ref": "#/components/schemas/SessionStatus" } + }, + "required": ["sessionID", "status"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.idle": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.idle" }, + "properties": { + "type": "object", + "properties": { "sessionID": { "type": "string" } }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "QuestionOption": { + "type": "object", + "properties": { + "label": { "description": "Display text (1-5 words, concise)", "type": "string" }, + "description": { "description": "Explanation of choice", "type": "string" } + }, + "required": ["label", "description"] + }, + "QuestionInfo": { + "type": "object", + "properties": { + "question": { "description": "Complete question", "type": "string" }, + "header": { "description": "Very short label (max 30 chars)", "type": "string" }, + "options": { + "description": "Available choices", + "type": "array", + "items": { "$ref": "#/components/schemas/QuestionOption" } + }, + "multiple": { "description": "Allow selecting multiple choices", "type": "boolean" }, + "custom": { "description": "Allow typing a custom answer (default: true)", "type": "boolean" } + }, + "required": ["question", "header", "options"] + }, + "QuestionRequest": { + "type": "object", + "properties": { + "id": { "type": "string", "pattern": "^que.*" }, + "sessionID": { "type": "string", "pattern": "^ses.*" }, + "questions": { + "description": "Questions to ask", + "type": "array", + "items": { "$ref": "#/components/schemas/QuestionInfo" } + }, + "tool": { + "type": "object", + "properties": { "messageID": { "type": "string" }, "callID": { "type": "string" } }, + "required": ["messageID", "callID"] + } + }, + "required": ["id", "sessionID", "questions"] + }, + "Event.question.asked": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "question.asked" }, + "properties": { "$ref": "#/components/schemas/QuestionRequest" } + }, + "required": ["type", "properties"] + }, + "QuestionAnswer": { "type": "array", "items": { "type": "string" } }, + "Event.question.replied": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "question.replied" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "requestID": { "type": "string" }, + "answers": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionAnswer" } } + }, + "required": ["sessionID", "requestID", "answers"] + } + }, + "required": ["type", "properties"] + }, + "Event.question.rejected": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "question.rejected" }, + "properties": { + "type": "object", + "properties": { "sessionID": { "type": "string" }, "requestID": { "type": "string" } }, + "required": ["sessionID", "requestID"] + } + }, + "required": ["type", "properties"] + }, + "Todo": { + "type": "object", + "properties": { + "content": { "description": "Brief description of the task", "type": "string" }, + "status": { + "description": "Current status of the task: pending, in_progress, completed, cancelled", + "type": "string" + }, + "priority": { "description": "Priority level of the task: high, medium, low", "type": "string" }, + "id": { "description": "Unique identifier for the todo item", "type": "string" } + }, + "required": ["content", "status", "priority", "id"] + }, + "Event.todo.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "todo.updated" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "todos": { "type": "array", "items": { "$ref": "#/components/schemas/Todo" } } + }, + "required": ["sessionID", "todos"] + } + }, + "required": ["type", "properties"] + }, + "Pty": { + "type": "object", + "properties": { + "id": { "type": "string", "pattern": "^pty.*" }, + "title": { "type": "string" }, + "command": { "type": "string" }, + "args": { "type": "array", "items": { "type": "string" } }, + "cwd": { "type": "string" }, + "status": { "type": "string", "enum": ["running", "exited"] }, + "pid": { "type": "number" } + }, + "required": ["id", "title", "command", "args", "cwd", "status", "pid"] + }, + "Event.pty.created": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "pty.created" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Pty" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "pty.updated" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Pty" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.exited": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "pty.exited" }, + "properties": { + "type": "object", + "properties": { "id": { "type": "string", "pattern": "^pty.*" }, "exitCode": { "type": "number" } }, + "required": ["id", "exitCode"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.deleted": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "pty.deleted" }, + "properties": { + "type": "object", + "properties": { "id": { "type": "string", "pattern": "^pty.*" } }, + "required": ["id"] + } + }, + "required": ["type", "properties"] + }, + "Event.file.watcher.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "file.watcher.updated" }, + "properties": { + "type": "object", + "properties": { + "file": { "type": "string" }, + "event": { + "anyOf": [ + { "type": "string", "const": "add" }, + { "type": "string", "const": "change" }, + { "type": "string", "const": "unlink" } + ] + } + }, + "required": ["file", "event"] + } + }, + "required": ["type", "properties"] + }, + "Event.mcp.tools.changed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "mcp.tools.changed" }, + "properties": { "type": "object", "properties": { "server": { "type": "string" } }, "required": ["server"] } + }, + "required": ["type", "properties"] + }, + "Event.mcp.browser.open.failed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "mcp.browser.open.failed" }, + "properties": { + "type": "object", + "properties": { "mcpName": { "type": "string" }, "url": { "type": "string" } }, + "required": ["mcpName", "url"] + } + }, + "required": ["type", "properties"] + }, + "Event.lsp.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "lsp.updated" }, + "properties": { "type": "object", "properties": {} } + }, + "required": ["type", "properties"] + }, + "Event.vcs.branch.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "vcs.branch.updated" }, + "properties": { "type": "object", "properties": { "branch": { "type": "string" } } } + }, + "required": ["type", "properties"] + }, + "Event.command.executed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "command.executed" }, + "properties": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "sessionID": { "type": "string", "pattern": "^ses.*" }, + "arguments": { "type": "string" }, + "messageID": { "type": "string", "pattern": "^msg.*" } + }, + "required": ["name", "sessionID", "arguments", "messageID"] + } + }, + "required": ["type", "properties"] + }, + "FileDiff": { + "type": "object", + "properties": { + "file": { "type": "string" }, + "before": { "type": "string" }, + "after": { "type": "string" }, + "additions": { "type": "number" }, + "deletions": { "type": "number" } + }, + "required": ["file", "before", "after", "additions", "deletions"] + }, + "UserMessage": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "role": { "type": "string", "const": "user" }, + "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": ["created"] }, + "summary": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "body": { "type": "string" }, + "diffs": { "type": "array", "items": { "$ref": "#/components/schemas/FileDiff" } } + }, + "required": ["diffs"] + }, + "agent": { "type": "string" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "system": { "type": "string" }, + "tools": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "boolean" } + }, + "variant": { "type": "string" } + }, + "required": ["id", "sessionID", "role", "time", "agent", "model"] + }, + "ProviderAuthError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "ProviderAuthError" }, + "data": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "message": { "type": "string" } }, + "required": ["providerID", "message"] + } + }, + "required": ["name", "data"] + }, + "UnknownError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "UnknownError" }, + "data": { "type": "object", "properties": { "message": { "type": "string" } }, "required": ["message"] } + }, + "required": ["name", "data"] + }, + "MessageOutputLengthError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "MessageOutputLengthError" }, + "data": { "type": "object", "properties": {} } + }, + "required": ["name", "data"] + }, + "MessageAbortedError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "MessageAbortedError" }, + "data": { "type": "object", "properties": { "message": { "type": "string" } }, "required": ["message"] } + }, + "required": ["name", "data"] + }, + "APIError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "APIError" }, + "data": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "statusCode": { "type": "number" }, + "isRetryable": { "type": "boolean" }, + "responseHeaders": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "responseBody": { "type": "string" }, + "metadata": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + } + }, + "required": ["message", "isRetryable"] + } + }, + "required": ["name", "data"] + }, + "AssistantMessage": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "role": { "type": "string", "const": "assistant" }, + "time": { + "type": "object", + "properties": { "created": { "type": "number" }, "completed": { "type": "number" } }, + "required": ["created"] + }, + "error": { + "anyOf": [ + { "$ref": "#/components/schemas/ProviderAuthError" }, + { "$ref": "#/components/schemas/UnknownError" }, + { "$ref": "#/components/schemas/MessageOutputLengthError" }, + { "$ref": "#/components/schemas/MessageAbortedError" }, + { "$ref": "#/components/schemas/APIError" } + ] + }, + "parentID": { "type": "string" }, + "modelID": { "type": "string" }, + "providerID": { "type": "string" }, + "mode": { "type": "string" }, + "agent": { "type": "string" }, + "path": { + "type": "object", + "properties": { "cwd": { "type": "string" }, "root": { "type": "string" } }, + "required": ["cwd", "root"] + }, + "summary": { "type": "boolean" }, + "cost": { "type": "number" }, + "tokens": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "reasoning": { "type": "number" }, + "cache": { + "type": "object", + "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "reasoning", "cache"] + }, + "finish": { "type": "string" } + }, + "required": [ + "id", + "sessionID", + "role", + "time", + "parentID", + "modelID", + "providerID", + "mode", + "agent", + "path", + "cost", + "tokens" + ] + }, + "Message": { + "anyOf": [{ "$ref": "#/components/schemas/UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage" }] + }, + "Event.message.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "message.updated" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Message" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.message.removed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "message.removed" }, + "properties": { + "type": "object", + "properties": { "sessionID": { "type": "string" }, "messageID": { "type": "string" } }, + "required": ["sessionID", "messageID"] + } + }, + "required": ["type", "properties"] + }, + "TextPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "text" }, + "text": { "type": "string" }, + "synthetic": { "type": "boolean" }, + "ignored": { "type": "boolean" }, + "time": { + "type": "object", + "properties": { "start": { "type": "number" }, "end": { "type": "number" } }, + "required": ["start"] + }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } + }, + "required": ["id", "sessionID", "messageID", "type", "text"] + }, + "SubtaskPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "subtask" }, + "prompt": { "type": "string" }, + "description": { "type": "string" }, + "agent": { "type": "string" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "command": { "type": "string" } + }, + "required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"] + }, + "ReasoningPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "reasoning" }, + "text": { "type": "string" }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "time": { + "type": "object", + "properties": { "start": { "type": "number" }, "end": { "type": "number" } }, + "required": ["start"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "text", "time"] + }, + "FilePartSourceText": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "start": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "end": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } + }, + "required": ["value", "start", "end"] + }, + "FileSource": { + "type": "object", + "properties": { + "text": { "$ref": "#/components/schemas/FilePartSourceText" }, + "type": { "type": "string", "const": "file" }, + "path": { "type": "string" } + }, + "required": ["text", "type", "path"] + }, + "Range": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { "line": { "type": "number" }, "character": { "type": "number" } }, + "required": ["line", "character"] + }, + "end": { + "type": "object", + "properties": { "line": { "type": "number" }, "character": { "type": "number" } }, + "required": ["line", "character"] + } + }, + "required": ["start", "end"] + }, + "SymbolSource": { + "type": "object", + "properties": { + "text": { "$ref": "#/components/schemas/FilePartSourceText" }, + "type": { "type": "string", "const": "symbol" }, + "path": { "type": "string" }, + "range": { "$ref": "#/components/schemas/Range" }, + "name": { "type": "string" }, + "kind": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } + }, + "required": ["text", "type", "path", "range", "name", "kind"] + }, + "ResourceSource": { + "type": "object", + "properties": { + "text": { "$ref": "#/components/schemas/FilePartSourceText" }, + "type": { "type": "string", "const": "resource" }, + "clientName": { "type": "string" }, + "uri": { "type": "string" } + }, + "required": ["text", "type", "clientName", "uri"] + }, + "FilePartSource": { + "anyOf": [ + { "$ref": "#/components/schemas/FileSource" }, + { "$ref": "#/components/schemas/SymbolSource" }, + { "$ref": "#/components/schemas/ResourceSource" } + ] + }, + "FilePart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "file" }, + "mime": { "type": "string" }, + "filename": { "type": "string" }, + "url": { "type": "string" }, + "source": { "$ref": "#/components/schemas/FilePartSource" } + }, + "required": ["id", "sessionID", "messageID", "type", "mime", "url"] + }, + "ToolStatePending": { + "type": "object", + "properties": { + "status": { "type": "string", "const": "pending" }, + "input": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "raw": { "type": "string" } + }, + "required": ["status", "input", "raw"] + }, + "ToolStateRunning": { + "type": "object", + "properties": { + "status": { "type": "string", "const": "running" }, + "input": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "title": { "type": "string" }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "time": { "type": "object", "properties": { "start": { "type": "number" } }, "required": ["start"] } + }, + "required": ["status", "input", "time"] + }, + "ToolStateCompleted": { + "type": "object", + "properties": { + "status": { "type": "string", "const": "completed" }, + "input": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "output": { "type": "string" }, + "title": { "type": "string" }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "time": { + "type": "object", + "properties": { + "start": { "type": "number" }, + "end": { "type": "number" }, + "compacted": { "type": "number" } + }, + "required": ["start", "end"] + }, + "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/FilePart" } } + }, + "required": ["status", "input", "output", "title", "metadata", "time"] + }, + "ToolStateError": { + "type": "object", + "properties": { + "status": { "type": "string", "const": "error" }, + "input": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "error": { "type": "string" }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "time": { + "type": "object", + "properties": { "start": { "type": "number" }, "end": { "type": "number" } }, + "required": ["start", "end"] + } + }, + "required": ["status", "input", "error", "time"] + }, + "ToolState": { + "anyOf": [ + { "$ref": "#/components/schemas/ToolStatePending" }, + { "$ref": "#/components/schemas/ToolStateRunning" }, + { "$ref": "#/components/schemas/ToolStateCompleted" }, + { "$ref": "#/components/schemas/ToolStateError" } + ] + }, + "ToolPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "tool" }, + "callID": { "type": "string" }, + "tool": { "type": "string" }, + "state": { "$ref": "#/components/schemas/ToolState" }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } + }, + "required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"] + }, + "StepStartPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "step-start" }, + "snapshot": { "type": "string" } + }, + "required": ["id", "sessionID", "messageID", "type"] + }, + "StepFinishPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "step-finish" }, + "reason": { "type": "string" }, + "snapshot": { "type": "string" }, + "cost": { "type": "number" }, + "tokens": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "reasoning": { "type": "number" }, + "cache": { + "type": "object", + "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "reasoning", "cache"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"] + }, + "SnapshotPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "snapshot" }, + "snapshot": { "type": "string" } + }, + "required": ["id", "sessionID", "messageID", "type", "snapshot"] + }, + "PatchPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "patch" }, + "hash": { "type": "string" }, + "files": { "type": "array", "items": { "type": "string" } } + }, + "required": ["id", "sessionID", "messageID", "type", "hash", "files"] + }, + "AgentPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "agent" }, + "name": { "type": "string" }, + "source": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "start": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "end": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } + }, + "required": ["value", "start", "end"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "name"] + }, + "RetryPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "retry" }, + "attempt": { "type": "number" }, + "error": { "$ref": "#/components/schemas/APIError" }, + "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": ["created"] } + }, + "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"] + }, + "CompactionPart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "type": { "type": "string", "const": "compaction" }, + "auto": { "type": "boolean" } + }, + "required": ["id", "sessionID", "messageID", "type", "auto"] + }, + "Part": { + "anyOf": [ + { "$ref": "#/components/schemas/TextPart" }, + { "$ref": "#/components/schemas/SubtaskPart" }, + { "$ref": "#/components/schemas/ReasoningPart" }, + { "$ref": "#/components/schemas/FilePart" }, + { "$ref": "#/components/schemas/ToolPart" }, + { "$ref": "#/components/schemas/StepStartPart" }, + { "$ref": "#/components/schemas/StepFinishPart" }, + { "$ref": "#/components/schemas/SnapshotPart" }, + { "$ref": "#/components/schemas/PatchPart" }, + { "$ref": "#/components/schemas/AgentPart" }, + { "$ref": "#/components/schemas/RetryPart" }, + { "$ref": "#/components/schemas/CompactionPart" } + ] + }, + "Event.message.part.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "message.part.updated" }, + "properties": { + "type": "object", + "properties": { "part": { "$ref": "#/components/schemas/Part" }, "delta": { "type": "string" } }, + "required": ["part"] + } + }, + "required": ["type", "properties"] + }, + "Event.message.part.removed": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "message.part.removed" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "messageID": { "type": "string" }, + "partID": { "type": "string" } + }, + "required": ["sessionID", "messageID", "partID"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.compacted": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.compacted" }, + "properties": { + "type": "object", + "properties": { "sessionID": { "type": "string" } }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "PermissionAction": { "type": "string", "enum": ["allow", "deny", "ask"] }, + "PermissionRule": { + "type": "object", + "properties": { + "permission": { "type": "string" }, + "pattern": { "type": "string" }, + "action": { "$ref": "#/components/schemas/PermissionAction" } + }, + "required": ["permission", "pattern", "action"] + }, + "PermissionRuleset": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionRule" } }, + "Session": { + "type": "object", + "properties": { + "id": { "type": "string", "pattern": "^ses.*" }, + "slug": { "type": "string" }, + "projectID": { "type": "string" }, + "directory": { "type": "string" }, + "parentID": { "type": "string", "pattern": "^ses.*" }, + "summary": { + "type": "object", + "properties": { + "additions": { "type": "number" }, + "deletions": { "type": "number" }, + "files": { "type": "number" }, + "diffs": { "type": "array", "items": { "$ref": "#/components/schemas/FileDiff" } } + }, + "required": ["additions", "deletions", "files"] + }, + "share": { "type": "object", "properties": { "url": { "type": "string" } }, "required": ["url"] }, + "title": { "type": "string" }, + "version": { "type": "string" }, + "time": { + "type": "object", + "properties": { + "created": { "type": "number" }, + "updated": { "type": "number" }, + "compacting": { "type": "number" }, + "archived": { "type": "number" } + }, + "required": ["created", "updated"] + }, + "permission": { "$ref": "#/components/schemas/PermissionRuleset" }, + "revert": { + "type": "object", + "properties": { + "messageID": { "type": "string" }, + "partID": { "type": "string" }, + "snapshot": { "type": "string" }, + "diff": { "type": "string" } + }, + "required": ["messageID"] + } + }, + "required": ["id", "slug", "projectID", "directory", "title", "version", "time"] + }, + "Event.session.created": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.created" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Session" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.updated": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.updated" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Session" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.deleted": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.deleted" }, + "properties": { + "type": "object", + "properties": { "info": { "$ref": "#/components/schemas/Session" } }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.diff": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.diff" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "diff": { "type": "array", "items": { "$ref": "#/components/schemas/FileDiff" } } + }, + "required": ["sessionID", "diff"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.error": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "session.error" }, + "properties": { + "type": "object", + "properties": { + "sessionID": { "type": "string" }, + "error": { + "anyOf": [ + { "$ref": "#/components/schemas/ProviderAuthError" }, + { "$ref": "#/components/schemas/UnknownError" }, + { "$ref": "#/components/schemas/MessageOutputLengthError" }, + { "$ref": "#/components/schemas/MessageAbortedError" }, + { "$ref": "#/components/schemas/APIError" } + ] + } + } + } + }, + "required": ["type", "properties"] + }, + "Event": { + "anyOf": [ + { "$ref": "#/components/schemas/Event.server.connected" }, + { "$ref": "#/components/schemas/Event.global.disposed" }, + { "$ref": "#/components/schemas/Event.tui.prompt.append" }, + { "$ref": "#/components/schemas/Event.tui.command.execute" }, + { "$ref": "#/components/schemas/Event.tui.toast.show" }, + { "$ref": "#/components/schemas/Event.tui.session.select" }, + { "$ref": "#/components/schemas/Event.installation.updated" }, + { "$ref": "#/components/schemas/Event.installation.update-available" }, + { "$ref": "#/components/schemas/Event.project.updated" }, + { "$ref": "#/components/schemas/Event.server.instance.disposed" }, + { "$ref": "#/components/schemas/Event.file.edited" }, + { "$ref": "#/components/schemas/Event.worktree.ready" }, + { "$ref": "#/components/schemas/Event.worktree.failed" }, + { "$ref": "#/components/schemas/Event.lsp.client.diagnostics" }, + { "$ref": "#/components/schemas/Event.permission.asked" }, + { "$ref": "#/components/schemas/Event.permission.replied" }, + { "$ref": "#/components/schemas/Event.session.status" }, + { "$ref": "#/components/schemas/Event.session.idle" }, + { "$ref": "#/components/schemas/Event.question.asked" }, + { "$ref": "#/components/schemas/Event.question.replied" }, + { "$ref": "#/components/schemas/Event.question.rejected" }, + { "$ref": "#/components/schemas/Event.todo.updated" }, + { "$ref": "#/components/schemas/Event.pty.created" }, + { "$ref": "#/components/schemas/Event.pty.updated" }, + { "$ref": "#/components/schemas/Event.pty.exited" }, + { "$ref": "#/components/schemas/Event.pty.deleted" }, + { "$ref": "#/components/schemas/Event.file.watcher.updated" }, + { "$ref": "#/components/schemas/Event.mcp.tools.changed" }, + { "$ref": "#/components/schemas/Event.mcp.browser.open.failed" }, + { "$ref": "#/components/schemas/Event.lsp.updated" }, + { "$ref": "#/components/schemas/Event.vcs.branch.updated" }, + { "$ref": "#/components/schemas/Event.command.executed" }, + { "$ref": "#/components/schemas/Event.message.updated" }, + { "$ref": "#/components/schemas/Event.message.removed" }, + { "$ref": "#/components/schemas/Event.message.part.updated" }, + { "$ref": "#/components/schemas/Event.message.part.removed" }, + { "$ref": "#/components/schemas/Event.session.compacted" }, + { "$ref": "#/components/schemas/Event.session.created" }, + { "$ref": "#/components/schemas/Event.session.updated" }, + { "$ref": "#/components/schemas/Event.session.deleted" }, + { "$ref": "#/components/schemas/Event.session.diff" }, + { "$ref": "#/components/schemas/Event.session.error" } + ] + }, + "GlobalEvent": { + "type": "object", + "properties": { "directory": { "type": "string" }, "payload": { "$ref": "#/components/schemas/Event" } }, + "required": ["directory", "payload"] + }, + "KeybindsConfig": { + "description": "Custom keybind configurations", + "type": "object", + "properties": { + "leader": { "description": "Leader key for keybind combinations", "default": "ctrl+x", "type": "string" }, + "app_exit": { "description": "Exit the application", "default": "ctrl+c,ctrl+d,q", "type": "string" }, + "editor_open": { "description": "Open external editor", "default": "e", "type": "string" }, + "theme_list": { "description": "List available themes", "default": "t", "type": "string" }, + "sidebar_toggle": { "description": "Toggle sidebar", "default": "b", "type": "string" }, + "scrollbar_toggle": { "description": "Toggle session scrollbar", "default": "none", "type": "string" }, + "username_toggle": { "description": "Toggle username visibility", "default": "none", "type": "string" }, + "status_view": { "description": "View status", "default": "s", "type": "string" }, + "session_export": { "description": "Export session to editor", "default": "x", "type": "string" }, + "session_new": { "description": "Create a new session", "default": "n", "type": "string" }, + "session_list": { "description": "List all sessions", "default": "l", "type": "string" }, + "session_timeline": { "description": "Show session timeline", "default": "g", "type": "string" }, + "session_fork": { "description": "Fork session from message", "default": "none", "type": "string" }, + "session_rename": { "description": "Rename session", "default": "ctrl+r", "type": "string" }, + "session_delete": { "description": "Delete session", "default": "ctrl+d", "type": "string" }, + "stash_delete": { "description": "Delete stash entry", "default": "ctrl+d", "type": "string" }, + "model_provider_list": { + "description": "Open provider list from model dialog", + "default": "ctrl+a", + "type": "string" + }, + "model_favorite_toggle": { + "description": "Toggle model favorite status", + "default": "ctrl+f", + "type": "string" + }, + "session_share": { "description": "Share current session", "default": "none", "type": "string" }, + "session_unshare": { "description": "Unshare current session", "default": "none", "type": "string" }, + "session_interrupt": { "description": "Interrupt current session", "default": "escape", "type": "string" }, + "session_compact": { "description": "Compact the session", "default": "c", "type": "string" }, + "messages_page_up": { + "description": "Scroll messages up by one page", + "default": "pageup,ctrl+alt+b", + "type": "string" + }, + "messages_page_down": { + "description": "Scroll messages down by one page", + "default": "pagedown,ctrl+alt+f", + "type": "string" + }, + "messages_line_up": { + "description": "Scroll messages up by one line", + "default": "ctrl+alt+y", + "type": "string" + }, + "messages_line_down": { + "description": "Scroll messages down by one line", + "default": "ctrl+alt+e", + "type": "string" + }, + "messages_half_page_up": { + "description": "Scroll messages up by half page", + "default": "ctrl+alt+u", + "type": "string" + }, + "messages_half_page_down": { + "description": "Scroll messages down by half page", + "default": "ctrl+alt+d", + "type": "string" + }, + "messages_first": { "description": "Navigate to first message", "default": "ctrl+g,home", "type": "string" }, + "messages_last": { "description": "Navigate to last message", "default": "ctrl+alt+g,end", "type": "string" }, + "messages_next": { "description": "Navigate to next message", "default": "none", "type": "string" }, + "messages_previous": { "description": "Navigate to previous message", "default": "none", "type": "string" }, + "messages_last_user": { "description": "Navigate to last user message", "default": "none", "type": "string" }, + "messages_copy": { "description": "Copy message", "default": "y", "type": "string" }, + "messages_undo": { "description": "Undo message", "default": "u", "type": "string" }, + "messages_redo": { "description": "Redo message", "default": "r", "type": "string" }, + "messages_toggle_conceal": { + "description": "Toggle code block concealment in messages", + "default": "h", + "type": "string" + }, + "tool_details": { "description": "Toggle tool details visibility", "default": "none", "type": "string" }, + "model_list": { "description": "List available models", "default": "m", "type": "string" }, + "model_cycle_recent": { "description": "Next recently used model", "default": "f2", "type": "string" }, + "model_cycle_recent_reverse": { + "description": "Previous recently used model", + "default": "shift+f2", + "type": "string" + }, + "model_cycle_favorite": { "description": "Next favorite model", "default": "none", "type": "string" }, + "model_cycle_favorite_reverse": { + "description": "Previous favorite model", + "default": "none", + "type": "string" + }, + "command_list": { "description": "List available commands", "default": "ctrl+p", "type": "string" }, + "agent_list": { "description": "List agents", "default": "a", "type": "string" }, + "agent_cycle": { "description": "Next agent", "default": "tab", "type": "string" }, + "agent_cycle_reverse": { "description": "Previous agent", "default": "shift+tab", "type": "string" }, + "variant_cycle": { "description": "Cycle model variants", "default": "ctrl+t", "type": "string" }, + "input_clear": { "description": "Clear input field", "default": "ctrl+c", "type": "string" }, + "input_paste": { "description": "Paste from clipboard", "default": "ctrl+v", "type": "string" }, + "input_submit": { "description": "Submit input", "default": "return", "type": "string" }, + "input_newline": { + "description": "Insert newline in input", + "default": "shift+return,ctrl+return,alt+return,ctrl+j", + "type": "string" + }, + "input_move_left": { "description": "Move cursor left in input", "default": "left,ctrl+b", "type": "string" }, + "input_move_right": { + "description": "Move cursor right in input", + "default": "right,ctrl+f", + "type": "string" + }, + "input_move_up": { "description": "Move cursor up in input", "default": "up", "type": "string" }, + "input_move_down": { "description": "Move cursor down in input", "default": "down", "type": "string" }, + "input_select_left": { "description": "Select left in input", "default": "shift+left", "type": "string" }, + "input_select_right": { "description": "Select right in input", "default": "shift+right", "type": "string" }, + "input_select_up": { "description": "Select up in input", "default": "shift+up", "type": "string" }, + "input_select_down": { "description": "Select down in input", "default": "shift+down", "type": "string" }, + "input_line_home": { "description": "Move to start of line in input", "default": "ctrl+a", "type": "string" }, + "input_line_end": { "description": "Move to end of line in input", "default": "ctrl+e", "type": "string" }, + "input_select_line_home": { + "description": "Select to start of line in input", + "default": "ctrl+shift+a", + "type": "string" + }, + "input_select_line_end": { + "description": "Select to end of line in input", + "default": "ctrl+shift+e", + "type": "string" + }, + "input_visual_line_home": { + "description": "Move to start of visual line in input", + "default": "alt+a", + "type": "string" + }, + "input_visual_line_end": { + "description": "Move to end of visual line in input", + "default": "alt+e", + "type": "string" + }, + "input_select_visual_line_home": { + "description": "Select to start of visual line in input", + "default": "alt+shift+a", + "type": "string" + }, + "input_select_visual_line_end": { + "description": "Select to end of visual line in input", + "default": "alt+shift+e", + "type": "string" + }, + "input_buffer_home": { + "description": "Move to start of buffer in input", + "default": "home", + "type": "string" + }, + "input_buffer_end": { "description": "Move to end of buffer in input", "default": "end", "type": "string" }, + "input_select_buffer_home": { + "description": "Select to start of buffer in input", + "default": "shift+home", + "type": "string" + }, + "input_select_buffer_end": { + "description": "Select to end of buffer in input", + "default": "shift+end", + "type": "string" + }, + "input_delete_line": { "description": "Delete line in input", "default": "ctrl+shift+d", "type": "string" }, + "input_delete_to_line_end": { + "description": "Delete to end of line in input", + "default": "ctrl+k", + "type": "string" + }, + "input_delete_to_line_start": { + "description": "Delete to start of line in input", + "default": "ctrl+u", + "type": "string" + }, + "input_backspace": { + "description": "Backspace in input", + "default": "backspace,shift+backspace", + "type": "string" + }, + "input_delete": { + "description": "Delete character in input", + "default": "ctrl+d,delete,shift+delete", + "type": "string" + }, + "input_undo": { "description": "Undo in input", "default": "ctrl+-,super+z", "type": "string" }, + "input_redo": { "description": "Redo in input", "default": "ctrl+.,super+shift+z", "type": "string" }, + "input_word_forward": { + "description": "Move word forward in input", + "default": "alt+f,alt+right,ctrl+right", + "type": "string" + }, + "input_word_backward": { + "description": "Move word backward in input", + "default": "alt+b,alt+left,ctrl+left", + "type": "string" + }, + "input_select_word_forward": { + "description": "Select word forward in input", + "default": "alt+shift+f,alt+shift+right", + "type": "string" + }, + "input_select_word_backward": { + "description": "Select word backward in input", + "default": "alt+shift+b,alt+shift+left", + "type": "string" + }, + "input_delete_word_forward": { + "description": "Delete word forward in input", + "default": "alt+d,alt+delete,ctrl+delete", + "type": "string" + }, + "input_delete_word_backward": { + "description": "Delete word backward in input", + "default": "ctrl+w,ctrl+backspace,alt+backspace", + "type": "string" + }, + "history_previous": { "description": "Previous history item", "default": "up", "type": "string" }, + "history_next": { "description": "Next history item", "default": "down", "type": "string" }, + "session_child_cycle": { "description": "Next child session", "default": "right", "type": "string" }, + "session_child_cycle_reverse": { + "description": "Previous child session", + "default": "left", + "type": "string" + }, + "session_parent": { "description": "Go to parent session", "default": "up", "type": "string" }, + "terminal_suspend": { "description": "Suspend terminal", "default": "ctrl+z", "type": "string" }, + "terminal_title_toggle": { "description": "Toggle terminal title", "default": "none", "type": "string" }, + "tips_toggle": { "description": "Toggle tips on home screen", "default": "h", "type": "string" } + }, + "additionalProperties": false + }, + "LogLevel": { "description": "Log level", "type": "string", "enum": ["DEBUG", "INFO", "WARN", "ERROR"] }, + "ServerConfig": { + "description": "Server configuration for opencode serve and web commands", + "type": "object", + "properties": { + "port": { + "description": "Port to listen on", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hostname": { "description": "Hostname to listen on", "type": "string" }, + "mdns": { "description": "Enable mDNS service discovery", "type": "boolean" }, + "cors": { + "description": "Additional domains to allow for CORS", + "type": "array", + "items": { "type": "string" } + } + }, + "additionalProperties": false + }, + "PermissionActionConfig": { "type": "string", "enum": ["ask", "allow", "deny"] }, + "PermissionObjectConfig": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/PermissionActionConfig" } + }, + "PermissionRuleConfig": { + "anyOf": [ + { "$ref": "#/components/schemas/PermissionActionConfig" }, + { "$ref": "#/components/schemas/PermissionObjectConfig" } + ] + }, + "PermissionConfig": { + "anyOf": [ + { + "type": "object", + "properties": { + "__originalKeys": { "type": "array", "items": { "type": "string" } }, + "read": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "edit": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "glob": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "grep": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "list": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "bash": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "task": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "external_directory": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "todowrite": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "todoread": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "question": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "webfetch": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "websearch": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "codesearch": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "lsp": { "$ref": "#/components/schemas/PermissionRuleConfig" }, + "doom_loop": { "$ref": "#/components/schemas/PermissionActionConfig" }, + "skill": { "$ref": "#/components/schemas/PermissionRuleConfig" } + }, + "additionalProperties": { "$ref": "#/components/schemas/PermissionRuleConfig" } + }, + { "$ref": "#/components/schemas/PermissionActionConfig" } + ] + }, + "AgentConfig": { + "type": "object", + "properties": { + "model": { "type": "string" }, + "temperature": { "type": "number" }, + "top_p": { "type": "number" }, + "prompt": { "type": "string" }, + "tools": { + "description": "@deprecated Use 'permission' field instead", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "boolean" } + }, + "disable": { "type": "boolean" }, + "description": { "description": "Description of when to use the agent", "type": "string" }, + "mode": { "type": "string", "enum": ["subagent", "primary", "all"] }, + "hidden": { + "description": "Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)", + "type": "boolean" + }, + "options": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "color": { + "description": "Hex color code for the agent (e.g., #FF5733)", + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "steps": { + "description": "Maximum number of agentic iterations before forcing text-only response", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "maxSteps": { + "description": "@deprecated Use 'steps' field instead.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "permission": { "$ref": "#/components/schemas/PermissionConfig" } + }, + "additionalProperties": {} + }, + "ProviderConfig": { + "type": "object", + "properties": { + "api": { "type": "string" }, + "name": { "type": "string" }, + "env": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "npm": { "type": "string" }, + "models": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "family": { "type": "string" }, + "release_date": { "type": "string" }, + "attachment": { "type": "boolean" }, + "reasoning": { "type": "boolean" }, + "temperature": { "type": "boolean" }, + "tool_call": { "type": "boolean" }, + "interleaved": { + "anyOf": [ + { "type": "boolean", "const": true }, + { + "type": "object", + "properties": { + "field": { "type": "string", "enum": ["reasoning_content", "reasoning_details"] } + }, + "required": ["field"], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache_read": { "type": "number" }, + "cache_write": { "type": "number" }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache_read": { "type": "number" }, + "cache_write": { "type": "number" } + }, + "required": ["input", "output"] + } + }, + "required": ["input", "output"] + }, + "limit": { + "type": "object", + "properties": { + "context": { "type": "number" }, + "input": { "type": "number" }, + "output": { "type": "number" } + }, + "required": ["context", "output"] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { "type": "string", "enum": ["text", "audio", "image", "video", "pdf"] } + }, + "output": { + "type": "array", + "items": { "type": "string", "enum": ["text", "audio", "image", "video", "pdf"] } + } + }, + "required": ["input", "output"] + }, + "experimental": { "type": "boolean" }, + "status": { "type": "string", "enum": ["alpha", "beta", "deprecated"] }, + "options": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "headers": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "provider": { "type": "object", "properties": { "npm": { "type": "string" } }, "required": ["npm"] }, + "variants": { + "description": "Variant-specific configuration", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { "description": "Disable this variant for the model", "type": "boolean" } + }, + "additionalProperties": {} + } + } + } + } + }, + "whitelist": { "type": "array", "items": { "type": "string" } }, + "blacklist": { "type": "array", "items": { "type": "string" } }, + "options": { + "type": "object", + "properties": { + "apiKey": { "type": "string" }, + "baseURL": { "type": "string" }, + "enterpriseUrl": { "description": "GitHub Enterprise URL for copilot authentication", "type": "string" }, + "setCacheKey": { + "description": "Enable promptCacheKey for this provider (default false)", + "type": "boolean" + }, + "timeout": { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "anyOf": [ + { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + { "description": "Disable timeout for this provider entirely.", "type": "boolean", "const": false } + ] + } + }, + "additionalProperties": {} + } + }, + "additionalProperties": false + }, + "McpLocalConfig": { + "type": "object", + "properties": { + "type": { "description": "Type of MCP server connection", "type": "string", "const": "local" }, + "command": { + "description": "Command and arguments to run the MCP server", + "type": "array", + "items": { "type": "string" } + }, + "environment": { + "description": "Environment variables to set when running the MCP server", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "enabled": { "description": "Enable or disable the MCP server on startup", "type": "boolean" }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": ["type", "command"], + "additionalProperties": false + }, + "McpOAuthConfig": { + "type": "object", + "properties": { + "clientId": { + "description": "OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth client secret (if required by the authorization server)", + "type": "string" + }, + "scope": { "description": "OAuth scopes to request during authorization", "type": "string" } + }, + "additionalProperties": false + }, + "McpRemoteConfig": { + "type": "object", + "properties": { + "type": { "description": "Type of MCP server connection", "type": "string", "const": "remote" }, + "url": { "description": "URL of the remote MCP server", "type": "string" }, + "enabled": { "description": "Enable or disable the MCP server on startup", "type": "boolean" }, + "headers": { + "description": "Headers to send with the request", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "oauth": { + "description": "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.", + "anyOf": [{ "$ref": "#/components/schemas/McpOAuthConfig" }, { "type": "boolean", "const": false }] + }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": ["type", "url"], + "additionalProperties": false + }, + "LayoutConfig": { + "description": "@deprecated Always uses stretch layout.", + "type": "string", + "enum": ["auto", "stretch"] + }, + "Config": { + "type": "object", + "properties": { + "$schema": { "description": "JSON schema reference for configuration validation", "type": "string" }, + "theme": { "description": "Theme name to use for the interface", "type": "string" }, + "keybinds": { "$ref": "#/components/schemas/KeybindsConfig" }, + "logLevel": { "$ref": "#/components/schemas/LogLevel" }, + "tui": { + "description": "TUI specific settings", + "type": "object", + "properties": { + "scroll_speed": { "description": "TUI scroll speed", "type": "number", "minimum": 0.001 }, + "scroll_acceleration": { + "description": "Scroll acceleration settings", + "type": "object", + "properties": { "enabled": { "description": "Enable scroll acceleration", "type": "boolean" } }, + "required": ["enabled"] + }, + "diff_style": { + "description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column", + "type": "string", + "enum": ["auto", "stacked"] + } + } + }, + "server": { "$ref": "#/components/schemas/ServerConfig" }, + "command": { + "description": "Command configuration, see https://opencode.ai/docs/commands", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "properties": { + "template": { "type": "string" }, + "description": { "type": "string" }, + "agent": { "type": "string" }, + "model": { "type": "string" }, + "subtask": { "type": "boolean" } + }, + "required": ["template"] + } + }, + "skills": { + "description": "Additional skill folder paths", + "type": "object", + "properties": { + "paths": { + "description": "Additional paths to skill folders", + "type": "array", + "items": { "type": "string" } + } + } + }, + "watcher": { + "type": "object", + "properties": { "ignore": { "type": "array", "items": { "type": "string" } } } + }, + "plugin": { "type": "array", "items": { "type": "string" } }, + "snapshot": { "type": "boolean" }, + "share": { + "description": "Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing", + "type": "string", + "enum": ["manual", "auto", "disabled"] + }, + "autoshare": { + "description": "@deprecated Use 'share' field instead. Share newly created sessions automatically", + "type": "boolean" + }, + "autoupdate": { + "description": "Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications", + "anyOf": [{ "type": "boolean" }, { "type": "string", "const": "notify" }] + }, + "disabled_providers": { + "description": "Disable providers that are loaded automatically", + "type": "array", + "items": { "type": "string" } + }, + "enabled_providers": { + "description": "When set, ONLY these providers will be enabled. All other providers will be ignored", + "type": "array", + "items": { "type": "string" } + }, + "model": { + "description": "Model to use in the format of provider/model, eg anthropic/claude-2", + "type": "string" + }, + "small_model": { + "description": "Small model to use for tasks like title generation in the format of provider/model", + "type": "string" + }, + "default_agent": { + "description": "Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid.", + "type": "string" + }, + "username": { + "description": "Custom username to display in conversations instead of system username", + "type": "string" + }, + "mode": { + "description": "@deprecated Use `agent` field instead.", + "type": "object", + "properties": { + "build": { "$ref": "#/components/schemas/AgentConfig" }, + "plan": { "$ref": "#/components/schemas/AgentConfig" } + }, + "additionalProperties": { "$ref": "#/components/schemas/AgentConfig" } + }, + "agent": { + "description": "Agent configuration, see https://opencode.ai/docs/agents", + "type": "object", + "properties": { + "plan": { "$ref": "#/components/schemas/AgentConfig" }, + "build": { "$ref": "#/components/schemas/AgentConfig" }, + "general": { "$ref": "#/components/schemas/AgentConfig" }, + "explore": { "$ref": "#/components/schemas/AgentConfig" }, + "title": { "$ref": "#/components/schemas/AgentConfig" }, + "summary": { "$ref": "#/components/schemas/AgentConfig" }, + "compaction": { "$ref": "#/components/schemas/AgentConfig" } + }, + "additionalProperties": { "$ref": "#/components/schemas/AgentConfig" } + }, + "provider": { + "description": "Custom provider configurations and model overrides", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/ProviderConfig" } + }, + "mcp": { + "description": "MCP (Model Context Protocol) server configurations", + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { "$ref": "#/components/schemas/McpLocalConfig" }, + { "$ref": "#/components/schemas/McpRemoteConfig" } + ] + }, + { + "type": "object", + "properties": { "enabled": { "type": "boolean" } }, + "required": ["enabled"], + "additionalProperties": false + } + ] + } + }, + "formatter": { + "anyOf": [ + { "type": "boolean", "const": false }, + { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { "type": "boolean" }, + "command": { "type": "array", "items": { "type": "string" } }, + "environment": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "extensions": { "type": "array", "items": { "type": "string" } } + } + } + } + ] + }, + "lsp": { + "anyOf": [ + { "type": "boolean", "const": false }, + { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { "disabled": { "type": "boolean", "const": true } }, + "required": ["disabled"] + }, + { + "type": "object", + "properties": { + "command": { "type": "array", "items": { "type": "string" } }, + "extensions": { "type": "array", "items": { "type": "string" } }, + "disabled": { "type": "boolean" }, + "env": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "initialization": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": {} + } + }, + "required": ["command"] + } + ] + } + } + ] + }, + "instructions": { + "description": "Additional instruction files or patterns to include", + "type": "array", + "items": { "type": "string" } + }, + "layout": { "$ref": "#/components/schemas/LayoutConfig" }, + "permission": { "$ref": "#/components/schemas/PermissionConfig" }, + "tools": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "boolean" } + }, + "enterprise": { + "type": "object", + "properties": { "url": { "description": "Enterprise URL", "type": "string" } } + }, + "compaction": { + "type": "object", + "properties": { + "auto": { + "description": "Enable automatic compaction when context is full (default: true)", + "type": "boolean" + }, + "prune": { "description": "Enable pruning of old tool outputs (default: true)", "type": "boolean" } + } + }, + "experimental": { + "type": "object", + "properties": { + "disable_paste_summary": { "type": "boolean" }, + "batch_tool": { "description": "Enable the batch tool", "type": "boolean" }, + "openTelemetry": { + "description": "Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)", + "type": "boolean" + }, + "primary_tools": { + "description": "Tools that should only be available to primary agents.", + "type": "array", + "items": { "type": "string" } + }, + "continue_loop_on_deny": { + "description": "Continue the agent loop when a tool call is denied", + "type": "boolean" + }, + "mcp_timeout": { + "description": "Timeout in milliseconds for model context protocol (MCP) requests", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + } + } + }, + "additionalProperties": false + }, + "BadRequestError": { + "type": "object", + "properties": { + "data": {}, + "errors": { + "type": "array", + "items": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } + }, + "success": { "type": "boolean", "const": false } + }, + "required": ["data", "errors", "success"] + }, + "OAuth": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "oauth" }, + "refresh": { "type": "string" }, + "access": { "type": "string" }, + "expires": { "type": "number" }, + "accountId": { "type": "string" }, + "enterpriseUrl": { "type": "string" } + }, + "required": ["type", "refresh", "access", "expires"] + }, + "ApiAuth": { + "type": "object", + "properties": { "type": { "type": "string", "const": "api" }, "key": { "type": "string" } }, + "required": ["type", "key"] + }, + "WellKnownAuth": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "wellknown" }, + "key": { "type": "string" }, + "token": { "type": "string" } + }, + "required": ["type", "key", "token"] + }, + "Auth": { + "anyOf": [ + { "$ref": "#/components/schemas/OAuth" }, + { "$ref": "#/components/schemas/ApiAuth" }, + { "$ref": "#/components/schemas/WellKnownAuth" } + ] + }, + "NotFoundError": { + "type": "object", + "properties": { + "name": { "type": "string", "const": "NotFoundError" }, + "data": { "type": "object", "properties": { "message": { "type": "string" } }, "required": ["message"] } + }, + "required": ["name", "data"] + }, + "Model": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "providerID": { "type": "string" }, + "api": { + "type": "object", + "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "npm": { "type": "string" } }, + "required": ["id", "url", "npm"] + }, + "name": { "type": "string" }, + "family": { "type": "string" }, + "capabilities": { + "type": "object", + "properties": { + "temperature": { "type": "boolean" }, + "reasoning": { "type": "boolean" }, + "attachment": { "type": "boolean" }, + "toolcall": { "type": "boolean" }, + "input": { + "type": "object", + "properties": { + "text": { "type": "boolean" }, + "audio": { "type": "boolean" }, + "image": { "type": "boolean" }, + "video": { "type": "boolean" }, + "pdf": { "type": "boolean" } + }, + "required": ["text", "audio", "image", "video", "pdf"] + }, + "output": { + "type": "object", + "properties": { + "text": { "type": "boolean" }, + "audio": { "type": "boolean" }, + "image": { "type": "boolean" }, + "video": { "type": "boolean" }, + "pdf": { "type": "boolean" } + }, + "required": ["text", "audio", "image", "video", "pdf"] + }, + "interleaved": { + "anyOf": [ + { "type": "boolean" }, + { + "type": "object", + "properties": { "field": { "type": "string", "enum": ["reasoning_content", "reasoning_details"] } }, + "required": ["field"] + } + ] + } + }, + "required": ["temperature", "reasoning", "attachment", "toolcall", "input", "output", "interleaved"] + }, + "cost": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache": { + "type": "object", + "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, + "required": ["read", "write"] + }, + "experimentalOver200K": { + "type": "object", + "properties": { + "input": { "type": "number" }, + "output": { "type": "number" }, + "cache": { + "type": "object", + "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "cache"] + } + }, + "required": ["input", "output", "cache"] + }, + "limit": { + "type": "object", + "properties": { + "context": { "type": "number" }, + "input": { "type": "number" }, + "output": { "type": "number" } + }, + "required": ["context", "output"] + }, + "status": { "type": "string", "enum": ["alpha", "beta", "deprecated", "active"] }, + "options": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "headers": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "type": "string" } + }, + "release_date": { "type": "string" }, + "variants": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "providerID", + "api", + "name", + "capabilities", + "cost", + "limit", + "status", + "options", + "headers", + "release_date" + ] + }, + "Provider": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "source": { "type": "string", "enum": ["env", "config", "custom", "api"] }, + "env": { "type": "array", "items": { "type": "string" } }, + "key": { "type": "string" }, + "options": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "models": { + "type": "object", + "propertyNames": { "type": "string" }, + "additionalProperties": { "$ref": "#/components/schemas/Model" } + } + }, + "required": ["id", "name", "source", "env", "options", "models"] + }, + "ToolIDs": { "type": "array", "items": { "type": "string" } }, + "ToolListItem": { + "type": "object", + "properties": { "id": { "type": "string" }, "description": { "type": "string" }, "parameters": {} }, + "required": ["id", "description", "parameters"] + }, + "ToolList": { "type": "array", "items": { "$ref": "#/components/schemas/ToolListItem" } }, + "Worktree": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "branch": { "type": "string" }, + "directory": { "type": "string" } + }, + "required": ["name", "branch", "directory"] + }, + "WorktreeCreateInput": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "startCommand": { + "description": "Additional startup script to run after the project's start command", + "type": "string" + } + } + }, + "WorktreeRemoveInput": { + "type": "object", + "properties": { "directory": { "type": "string" } }, + "required": ["directory"] + }, + "WorktreeResetInput": { + "type": "object", + "properties": { "directory": { "type": "string" } }, + "required": ["directory"] + }, + "McpResource": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "uri": { "type": "string" }, + "description": { "type": "string" }, + "mimeType": { "type": "string" }, + "client": { "type": "string" } + }, + "required": ["name", "uri", "client"] + }, + "TextPartInput": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "const": "text" }, + "text": { "type": "string" }, + "synthetic": { "type": "boolean" }, + "ignored": { "type": "boolean" }, + "time": { + "type": "object", + "properties": { "start": { "type": "number" }, "end": { "type": "number" } }, + "required": ["start"] + }, + "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } + }, + "required": ["type", "text"] + }, + "FilePartInput": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "const": "file" }, + "mime": { "type": "string" }, + "filename": { "type": "string" }, + "url": { "type": "string" }, + "source": { "$ref": "#/components/schemas/FilePartSource" } + }, + "required": ["type", "mime", "url"] + }, + "AgentPartInput": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "const": "agent" }, + "name": { "type": "string" }, + "source": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "start": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "end": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } + }, + "required": ["value", "start", "end"] + } + }, + "required": ["type", "name"] + }, + "SubtaskPartInput": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "const": "subtask" }, + "prompt": { "type": "string" }, + "description": { "type": "string" }, + "agent": { "type": "string" }, + "model": { + "type": "object", + "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, + "required": ["providerID", "modelID"] + }, + "command": { "type": "string" } + }, + "required": ["type", "prompt", "description", "agent"] + }, + "ProviderAuthMethod": { + "type": "object", + "properties": { + "type": { + "anyOf": [ + { "type": "string", "const": "oauth" }, + { "type": "string", "const": "api" } + ] + }, + "label": { "type": "string" } + }, + "required": ["type", "label"] + }, + "ProviderAuthAuthorization": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "method": { + "anyOf": [ + { "type": "string", "const": "auto" }, + { "type": "string", "const": "code" } + ] + }, + "instructions": { "type": "string" } + }, + "required": ["url", "method", "instructions"] + }, + "Symbol": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "kind": { "type": "number" }, + "location": { + "type": "object", + "properties": { "uri": { "type": "string" }, "range": { "$ref": "#/components/schemas/Range" } }, + "required": ["uri", "range"] + } + }, + "required": ["name", "kind", "location"] + }, + "FileNode": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "path": { "type": "string" }, + "absolute": { "type": "string" }, + "type": { "type": "string", "enum": ["file", "directory"] }, + "ignored": { "type": "boolean" } + }, + "required": ["name", "path", "absolute", "type", "ignored"] + }, + "FileContent": { + "type": "object", + "properties": { + "type": { "type": "string", "const": "text" }, + "content": { "type": "string" }, + "diff": { "type": "string" }, + "patch": { + "type": "object", + "properties": { + "oldFileName": { "type": "string" }, + "newFileName": { "type": "string" }, + "oldHeader": { "type": "string" }, + "newHeader": { "type": "string" }, + "hunks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oldStart": { "type": "number" }, + "oldLines": { "type": "number" }, + "newStart": { "type": "number" }, + "newLines": { "type": "number" }, + "lines": { "type": "array", "items": { "type": "string" } } + }, + "required": ["oldStart", "oldLines", "newStart", "newLines", "lines"] + } + }, + "index": { "type": "string" } + }, + "required": ["oldFileName", "newFileName", "hunks"] + }, + "encoding": { "type": "string", "const": "base64" }, + "mimeType": { "type": "string" } + }, + "required": ["type", "content"] + }, + "File": { + "type": "object", + "properties": { + "path": { "type": "string" }, + "added": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "removed": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "status": { "type": "string", "enum": ["added", "deleted", "modified"] } + }, + "required": ["path", "added", "removed", "status"] + }, + "MCPStatusConnected": { + "type": "object", + "properties": { "status": { "type": "string", "const": "connected" } }, + "required": ["status"] + }, + "MCPStatusDisabled": { + "type": "object", + "properties": { "status": { "type": "string", "const": "disabled" } }, + "required": ["status"] + }, + "MCPStatusFailed": { + "type": "object", + "properties": { "status": { "type": "string", "const": "failed" }, "error": { "type": "string" } }, + "required": ["status", "error"] + }, + "MCPStatusNeedsAuth": { + "type": "object", + "properties": { "status": { "type": "string", "const": "needs_auth" } }, + "required": ["status"] + }, + "MCPStatusNeedsClientRegistration": { + "type": "object", + "properties": { + "status": { "type": "string", "const": "needs_client_registration" }, + "error": { "type": "string" } + }, + "required": ["status", "error"] + }, + "MCPStatus": { + "anyOf": [ + { "$ref": "#/components/schemas/MCPStatusConnected" }, + { "$ref": "#/components/schemas/MCPStatusDisabled" }, + { "$ref": "#/components/schemas/MCPStatusFailed" }, + { "$ref": "#/components/schemas/MCPStatusNeedsAuth" }, + { "$ref": "#/components/schemas/MCPStatusNeedsClientRegistration" } + ] + }, + "Path": { + "type": "object", + "properties": { + "home": { "type": "string" }, + "state": { "type": "string" }, + "config": { "type": "string" }, + "worktree": { "type": "string" }, + "directory": { "type": "string" } + }, + "required": ["home", "state", "config", "worktree", "directory"] + }, + "VcsInfo": { "type": "object", "properties": { "branch": { "type": "string" } }, "required": ["branch"] }, + "Command": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "agent": { "type": "string" }, + "model": { "type": "string" }, + "source": { "type": "string", "enum": ["command", "mcp", "skill"] }, + "template": { "anyOf": [{ "type": "string" }, { "type": "string" }] }, + "subtask": { "type": "boolean" }, + "hints": { "type": "array", "items": { "type": "string" } } + }, + "required": ["name", "template", "hints"] + }, + "Agent": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "mode": { "type": "string", "enum": ["subagent", "primary", "all"] }, + "native": { "type": "boolean" }, + "hidden": { "type": "boolean" }, + "topP": { "type": "number" }, + "temperature": { "type": "number" }, + "color": { "type": "string" }, + "permission": { "$ref": "#/components/schemas/PermissionRuleset" }, + "model": { + "type": "object", + "properties": { "modelID": { "type": "string" }, "providerID": { "type": "string" } }, + "required": ["modelID", "providerID"] + }, + "prompt": { "type": "string" }, + "options": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, + "steps": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } + }, + "required": ["name", "mode", "permission", "options"] + }, + "LSPStatus": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "root": { "type": "string" }, + "status": { + "anyOf": [ + { "type": "string", "const": "connected" }, + { "type": "string", "const": "error" } + ] + } + }, + "required": ["id", "name", "root", "status"] + }, + "FormatterStatus": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "extensions": { "type": "array", "items": { "type": "string" } }, + "enabled": { "type": "boolean" } + }, + "required": ["name", "extensions", "enabled"] + } + } + } +} diff --git a/openapi_formatted.json b/openapi_formatted.json new file mode 100644 index 0000000..80bba78 --- /dev/null +++ b/openapi_formatted.json @@ -0,0 +1,10277 @@ +{ + "openapi": "3.1.1", + "info": { + "title": "opencode", + "description": "opencode api", + "version": "0.0.3" + }, + "paths": { + "/global/health": { + "get": { + "operationId": "global.health", + "summary": "Get health", + "description": "Get health information about the OpenCode server.", + "responses": { + "200": { + "description": "Health information", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "const": true + }, + "version": { + "type": "string" + } + }, + "required": ["healthy", "version"] + } + } + } + } + } + } + }, + "/global/event": { + "get": { + "operationId": "global.event", + "summary": "Get global events", + "description": "Subscribe to global events from the OpenCode system using server-sent events.", + "responses": { + "200": { + "description": "Event stream", + "content": { + "text/event-stream": { + "schema": { + "$ref": "#/components/schemas/GlobalEvent" + } + } + } + } + } + } + }, + "/global/dispose": { + "post": { + "operationId": "global.dispose", + "summary": "Dispose instance", + "description": "Clean up and dispose all OpenCode instances, releasing all resources.", + "responses": { + "200": { + "description": "Global disposed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/project": { + "get": { + "operationId": "project.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List all projects", + "description": "Get a list of projects that have been opened with OpenCode.", + "responses": { + "200": { + "description": "List of projects", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Project" + } + } + } + } + } + } + } + }, + "/project/current": { + "get": { + "operationId": "project.current", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get current project", + "description": "Retrieve the currently active project that OpenCode is working with.", + "responses": { + "200": { + "description": "Current project information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + } + } + } + } + }, + "/project/{projectID}": { + "patch": { + "operationId": "project.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update project", + "description": "Update project properties such as name, icon, and commands.", + "responses": { + "200": { + "description": "Updated project information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "override": { + "type": "string" + }, + "color": { + "type": "string" + } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/pty": { + "get": { + "operationId": "pty.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List PTY sessions", + "description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Pty" + } + } + } + } + } + } + }, + "post": { + "operationId": "pty.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create PTY session", + "description": "Create a new pseudo-terminal (PTY) session for running shell commands and processes.", + "responses": { + "200": { + "description": "Created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command": { + "type": "string" + }, + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "cwd": { + "type": "string" + }, + "title": { + "type": "string" + }, + "env": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/pty/{ptyID}": { + "get": { + "operationId": "pty.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Get PTY session", + "description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "put": { + "operationId": "pty.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update PTY session", + "description": "Update properties of an existing pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pty" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "size": { + "type": "object", + "properties": { + "rows": { + "type": "number" + }, + "cols": { + "type": "number" + } + }, + "required": ["rows", "cols"] + } + } + } + } + } + } + }, + "delete": { + "operationId": "pty.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Remove PTY session", + "description": "Remove and terminate a specific pseudo-terminal (PTY) session.", + "responses": { + "200": { + "description": "Session removed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/pty/{ptyID}/connect": { + "get": { + "operationId": "pty.connect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "ptyID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Connect to PTY session", + "description": "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.", + "responses": { + "200": { + "description": "Connected session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/config": { + "get": { + "operationId": "config.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get configuration", + "description": "Retrieve the current OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Get config info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + } + } + }, + "patch": { + "operationId": "config.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Update configuration", + "description": "Update OpenCode configuration settings and preferences.", + "responses": { + "200": { + "description": "Successfully updated config", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Config" + } + } + } + } + } + }, + "/config/providers": { + "get": { + "operationId": "config.providers", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List config providers", + "description": "Get a list of all configured AI providers and their default models.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Provider" + } + }, + "default": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": ["providers", "default"] + } + } + } + } + } + } + }, + "/experimental/tool/ids": { + "get": { + "operationId": "tool.ids", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List tool IDs", + "description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.", + "responses": { + "200": { + "description": "Tool IDs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToolIDs" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + } + } + }, + "/experimental/tool": { + "get": { + "operationId": "tool.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "provider", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "model", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "List tools", + "description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.", + "responses": { + "200": { + "description": "Tools", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToolList" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + } + } + }, + "/experimental/worktree": { + "post": { + "operationId": "worktree.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create worktree", + "description": "Create a new git worktree for the current project and run any configured startup scripts.", + "responses": { + "200": { + "description": "Worktree created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Worktree" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeCreateInput" + } + } + } + } + }, + "get": { + "operationId": "worktree.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List worktrees", + "description": "List all sandbox worktrees for the current project.", + "responses": { + "200": { + "description": "List of worktree directories", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "delete": { + "operationId": "worktree.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Remove worktree", + "description": "Remove a git worktree and delete its branch.", + "responses": { + "200": { + "description": "Worktree removed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeRemoveInput" + } + } + } + } + } + }, + "/experimental/worktree/reset": { + "post": { + "operationId": "worktree.reset", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Reset worktree", + "description": "Reset a worktree branch to the primary default branch.", + "responses": { + "200": { + "description": "Worktree reset", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorktreeResetInput" + } + } + } + } + } + }, + "/experimental/resource": { + "get": { + "operationId": "experimental.resource.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get MCP resources", + "description": "Get all available MCP resources from connected servers. Optionally filter by name.", + "responses": { + "200": { + "description": "MCP resources", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/McpResource" + } + } + } + } + } + } + } + }, + "/session": { + "get": { + "operationId": "session.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + }, + "description": "Filter sessions by project directory" + }, + { + "in": "query", + "name": "roots", + "schema": { + "type": "boolean" + }, + "description": "Only return root sessions (no parentID)" + }, + { + "in": "query", + "name": "start", + "schema": { + "type": "number" + }, + "description": "Filter sessions updated on or after this timestamp (milliseconds since epoch)" + }, + { + "in": "query", + "name": "search", + "schema": { + "type": "string" + }, + "description": "Filter sessions by title (case-insensitive)" + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "number" + }, + "description": "Maximum number of sessions to return" + } + ], + "summary": "List sessions", + "description": "Get a list of all OpenCode sessions, sorted by most recently updated.", + "responses": { + "200": { + "description": "List of sessions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session" + } + } + } + } + } + } + }, + "post": { + "operationId": "session.create", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Create session", + "description": "Create a new OpenCode session for interacting with AI assistants and managing conversations.", + "responses": { + "200": { + "description": "Successfully created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "parentID": { + "type": "string", + "pattern": "^ses.*" + }, + "title": { + "type": "string" + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + } + } + } + } + } + } + } + }, + "/session/status": { + "get": { + "operationId": "session.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get session status", + "description": "Retrieve the current status of all sessions, including active, idle, and completed states.", + "responses": { + "200": { + "description": "Get session status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/SessionStatus" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + } + } + }, + "/session/{sessionID}": { + "get": { + "operationId": "session.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Get session", + "description": "Retrieve detailed information about a specific OpenCode session.", + "tags": ["Session"], + "responses": { + "200": { + "description": "Get session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "delete": { + "operationId": "session.delete", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Delete session", + "description": "Delete a session and permanently remove all associated data, including messages and history.", + "responses": { + "200": { + "description": "Successfully deleted session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "patch": { + "operationId": "session.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Update session", + "description": "Update properties of an existing session, such as title or other metadata.", + "responses": { + "200": { + "description": "Successfully updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "time": { + "type": "object", + "properties": { + "archived": { + "type": "number" + } + } + } + } + } + } + } + } + } + }, + "/session/{sessionID}/children": { + "get": { + "operationId": "session.children", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Get session children", + "tags": ["Session"], + "description": "Retrieve all child sessions that were forked from the specified parent session.", + "responses": { + "200": { + "description": "List of children", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/todo": { + "get": { + "operationId": "session.todo", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Get session todos", + "description": "Retrieve the todo list associated with a specific session, showing tasks and action items.", + "responses": { + "200": { + "description": "Todo list", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Todo" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/init": { + "post": { + "operationId": "session.init", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Initialize session", + "description": "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.", + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + }, + "required": ["modelID", "providerID", "messageID"] + } + } + } + } + } + }, + "/session/{sessionID}/fork": { + "post": { + "operationId": "session.fork", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Fork session", + "description": "Create a new session by forking an existing session at a specific message point.", + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + } + } + } + } + } + } + }, + "/session/{sessionID}/abort": { + "post": { + "operationId": "session.abort", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Abort session", + "description": "Abort an active session and stop any ongoing AI processing or command execution.", + "responses": { + "200": { + "description": "Aborted session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/share": { + "post": { + "operationId": "session.share", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Share session", + "description": "Create a shareable link for a session, allowing others to view the conversation.", + "responses": { + "200": { + "description": "Successfully shared session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "delete": { + "operationId": "session.unshare", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + } + ], + "summary": "Unshare session", + "description": "Remove the shareable link for a session, making it private again.", + "responses": { + "200": { + "description": "Successfully unshared session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/diff": { + "get": { + "operationId": "session.diff", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string", + "pattern": "^ses.*" + }, + "required": true + }, + { + "in": "query", + "name": "messageID", + "schema": { + "type": "string", + "pattern": "^msg.*" + } + } + ], + "summary": "Get message diff", + "description": "Get the file changes (diff) that resulted from a specific user message in the session.", + "responses": { + "200": { + "description": "Successfully retrieved diff", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + } + } + } + } + } + }, + "/session/{sessionID}/summarize": { + "post": { + "operationId": "session.summarize", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Summarize session", + "description": "Generate a concise summary of the session using AI compaction to preserve key information.", + "responses": { + "200": { + "description": "Summarized session", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + }, + "auto": { + "default": false, + "type": "boolean" + } + }, + "required": ["providerID", "modelID"] + } + } + } + } + } + }, + "/session/{sessionID}/message": { + "get": { + "operationId": "session.messages", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "number" + } + } + ], + "summary": "Get session messages", + "description": "Retrieve all messages in a session, including user prompts and AI responses.", + "responses": { + "200": { + "description": "List of messages", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": ["info", "parts"] + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "post": { + "operationId": "session.prompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send message", + "description": "Create and send a new message to a session, streaming the AI response.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/AssistantMessage" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "agent": { + "type": "string" + }, + "noReply": { + "type": "boolean" + }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "system": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPartInput" + }, + { + "$ref": "#/components/schemas/FilePartInput" + }, + { + "$ref": "#/components/schemas/AgentPartInput" + }, + { + "$ref": "#/components/schemas/SubtaskPartInput" + } + ] + } + } + }, + "required": ["parts"] + } + } + } + } + } + }, + "/session/{sessionID}/message/{messageID}": { + "get": { + "operationId": "session.message", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + } + ], + "summary": "Get message", + "description": "Retrieve a specific message from a session by its message ID.", + "responses": { + "200": { + "description": "Message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/message/{messageID}/part/{partID}": { + "delete": { + "operationId": "part.delete", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + }, + { + "in": "path", + "name": "partID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Part ID" + } + ], + "description": "Delete a part from a message", + "responses": { + "200": { + "description": "Successfully deleted part", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "patch": { + "operationId": "part.update", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + }, + { + "in": "path", + "name": "messageID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Message ID" + }, + { + "in": "path", + "name": "partID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Part ID" + } + ], + "description": "Update a part in a message", + "responses": { + "200": { + "description": "Successfully updated part", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Part" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Part" + } + } + } + } + } + }, + "/session/{sessionID}/prompt_async": { + "post": { + "operationId": "session.prompt_async", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send async message", + "description": "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.", + "responses": { + "204": { + "description": "Prompt accepted" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "agent": { + "type": "string" + }, + "noReply": { + "type": "boolean" + }, + "tools": { + "description": "@deprecated tools and permissions have been merged, you can set permissions on the session itself now", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "system": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPartInput" + }, + { + "$ref": "#/components/schemas/FilePartInput" + }, + { + "$ref": "#/components/schemas/AgentPartInput" + }, + { + "$ref": "#/components/schemas/SubtaskPartInput" + } + ] + } + } + }, + "required": ["parts"] + } + } + } + } + } + }, + "/session/{sessionID}/command": { + "post": { + "operationId": "session.command", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Send command", + "description": "Send a new command to a session for execution by the AI assistant.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/AssistantMessage" + }, + "parts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Part" + } + } + }, + "required": ["info", "parts"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "arguments": { + "type": "string" + }, + "command": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "parts": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": ["type", "mime", "url"] + } + ] + } + } + }, + "required": ["arguments", "command"] + } + } + } + } + } + }, + "/session/{sessionID}/shell": { + "post": { + "operationId": "session.shell", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Session ID" + } + ], + "summary": "Run shell command", + "description": "Execute a shell command within the session context and return the AI's response.", + "responses": { + "200": { + "description": "Created message", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssistantMessage" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "command": { + "type": "string" + } + }, + "required": ["agent", "command"] + } + } + } + } + } + }, + "/session/{sessionID}/revert": { + "post": { + "operationId": "session.revert", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Revert message", + "description": "Revert a specific message in a session, undoing its effects and restoring the previous state.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "messageID": { + "type": "string", + "pattern": "^msg.*" + }, + "partID": { + "type": "string", + "pattern": "^prt.*" + } + }, + "required": ["messageID"] + } + } + } + } + } + }, + "/session/{sessionID}/unrevert": { + "post": { + "operationId": "session.unrevert", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Restore reverted messages", + "description": "Restore all previously reverted messages in a session.", + "responses": { + "200": { + "description": "Updated session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/session/{sessionID}/permissions/{permissionID}": { + "post": { + "operationId": "permission.respond", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sessionID", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "path", + "name": "permissionID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Respond to permission", + "deprecated": true, + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "response": { + "type": "string", + "enum": ["once", "always", "reject"] + } + }, + "required": ["response"] + } + } + } + } + } + }, + "/permission/{requestID}/reply": { + "post": { + "operationId": "permission.reply", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Respond to permission request", + "description": "Approve or deny a permission request from the AI assistant.", + "responses": { + "200": { + "description": "Permission processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reply": { + "type": "string", + "enum": ["once", "always", "reject"] + }, + "message": { + "type": "string" + } + }, + "required": ["reply"] + } + } + } + } + } + }, + "/permission": { + "get": { + "operationId": "permission.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List pending permissions", + "description": "Get all pending permission requests across all sessions.", + "responses": { + "200": { + "description": "List of pending permissions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionRequest" + } + } + } + } + } + } + } + }, + "/question": { + "get": { + "operationId": "question.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List pending questions", + "description": "Get all pending question requests across all sessions.", + "responses": { + "200": { + "description": "List of pending questions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionRequest" + } + } + } + } + } + } + } + }, + "/question/{requestID}/reply": { + "post": { + "operationId": "question.reply", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Reply to question request", + "description": "Provide answers to a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question answered successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "answers": { + "description": "User answers in order of questions (each answer is an array of selected labels)", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionAnswer" + } + } + }, + "required": ["answers"] + } + } + } + } + } + }, + "/question/{requestID}/reject": { + "post": { + "operationId": "question.reject", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "requestID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Reject question request", + "description": "Reject a question request from the AI assistant.", + "responses": { + "200": { + "description": "Question rejected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/provider": { + "get": { + "operationId": "provider.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List providers", + "description": "Get a list of all available AI providers, including both available and connected ones.", + "responses": { + "200": { + "description": "List of providers", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "all": { + "type": "array", + "items": { + "type": "object", + "properties": { + "api": { + "type": "string" + }, + "name": { + "type": "string" + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "npm": { + "type": "string" + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "release_date": { + "type": "string" + }, + "attachment": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "temperature": { + "type": "boolean" + }, + "tool_call": { + "type": "boolean" + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean", + "const": true + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": ["reasoning_content", "reasoning_details"] + } + }, + "required": ["field"], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + } + }, + "required": ["input", "output"] + } + }, + "required": ["input", "output"] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": ["context", "output"] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { + "type": "string", + "enum": ["text", "audio", "image", "video", "pdf"] + } + }, + "output": { + "type": "array", + "items": { + "type": "string", + "enum": ["text", "audio", "image", "video", "pdf"] + } + } + }, + "required": ["input", "output"] + }, + "experimental": { + "type": "boolean" + }, + "status": { + "type": "string", + "enum": ["alpha", "beta", "deprecated"] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "provider": { + "type": "object", + "properties": { + "npm": { + "type": "string" + } + }, + "required": ["npm"] + }, + "variants": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "name", + "release_date", + "attachment", + "reasoning", + "temperature", + "tool_call", + "limit", + "options" + ] + } + } + }, + "required": ["name", "env", "id", "models"] + } + }, + "default": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "connected": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["all", "default", "connected"] + } + } + } + } + } + } + }, + "/provider/auth": { + "get": { + "operationId": "provider.auth", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get provider auth methods", + "description": "Retrieve available authentication methods for all AI providers.", + "responses": { + "200": { + "description": "Provider auth methods", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderAuthMethod" + } + } + } + } + } + } + } + } + }, + "/provider/{providerID}/oauth/authorize": { + "post": { + "operationId": "provider.oauth.authorize", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth authorize", + "description": "Initiate OAuth authorization for a specific AI provider to get an authorization URL.", + "responses": { + "200": { + "description": "Authorization URL and method", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderAuthAuthorization" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "method": { + "description": "Auth method index", + "type": "number" + } + }, + "required": ["method"] + } + } + } + } + } + }, + "/provider/{providerID}/oauth/callback": { + "post": { + "operationId": "provider.oauth.callback", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true, + "description": "Provider ID" + } + ], + "summary": "OAuth callback", + "description": "Handle the OAuth callback from a provider after user authorization.", + "responses": { + "200": { + "description": "OAuth callback processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "method": { + "description": "Auth method index", + "type": "number" + }, + "code": { + "description": "OAuth authorization code", + "type": "string" + } + }, + "required": ["method"] + } + } + } + } + } + }, + "/find": { + "get": { + "operationId": "find.text", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "pattern", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Find text", + "description": "Search for text patterns across files in the project using ripgrep.", + "responses": { + "200": { + "description": "Matches", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": ["text"] + }, + "lines": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": ["text"] + }, + "line_number": { + "type": "number" + }, + "absolute_offset": { + "type": "number" + }, + "submatches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "match": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": ["text"] + }, + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": ["match", "start", "end"] + } + } + }, + "required": ["path", "lines", "line_number", "absolute_offset", "submatches"] + } + } + } + } + } + } + } + }, + "/find/file": { + "get": { + "operationId": "find.files", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "query", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "dirs", + "schema": { + "type": "string", + "enum": ["true", "false"] + } + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string", + "enum": ["file", "directory"] + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 200 + } + } + ], + "summary": "Find files", + "description": "Search for files or directories by name or pattern in the project directory.", + "responses": { + "200": { + "description": "File paths", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/find/symbol": { + "get": { + "operationId": "find.symbols", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "query", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Find symbols", + "description": "Search for workspace symbols like functions, classes, and variables using LSP.", + "responses": { + "200": { + "description": "Symbols", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Symbol" + } + } + } + } + } + } + } + }, + "/file": { + "get": { + "operationId": "file.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "List files", + "description": "List files and directories in a specified path.", + "responses": { + "200": { + "description": "Files and directories", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileNode" + } + } + } + } + } + } + } + }, + "/file/content": { + "get": { + "operationId": "file.read", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Read file", + "description": "Read the content of a specified file.", + "responses": { + "200": { + "description": "File content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileContent" + } + } + } + } + } + } + }, + "/file/status": { + "get": { + "operationId": "file.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get file status", + "description": "Get the git status of all files in the project.", + "responses": { + "200": { + "description": "File status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File" + } + } + } + } + } + } + } + }, + "/mcp": { + "get": { + "operationId": "mcp.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get MCP status", + "description": "Get the status of all Model Context Protocol (MCP) servers.", + "responses": { + "200": { + "description": "MCP server status", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + } + } + } + }, + "post": { + "operationId": "mcp.add", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Add MCP server", + "description": "Dynamically add a new Model Context Protocol (MCP) server to the system.", + "responses": { + "200": { + "description": "MCP server added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "config": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpLocalConfig" + }, + { + "$ref": "#/components/schemas/McpRemoteConfig" + } + ] + } + }, + "required": ["name", "config"] + } + } + } + } + } + }, + "/mcp/{name}/auth": { + "post": { + "operationId": "mcp.auth.start", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Start MCP OAuth", + "description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.", + "responses": { + "200": { + "description": "OAuth flow started", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "authorizationUrl": { + "description": "URL to open in browser for authorization", + "type": "string" + } + }, + "required": ["authorizationUrl"] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + }, + "delete": { + "operationId": "mcp.auth.remove", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Remove MCP OAuth", + "description": "Remove OAuth credentials for an MCP server", + "responses": { + "200": { + "description": "OAuth credentials removed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "const": true + } + }, + "required": ["success"] + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/mcp/{name}/auth/callback": { + "post": { + "operationId": "mcp.auth.callback", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Complete MCP OAuth", + "description": "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "description": "Authorization code from OAuth callback", + "type": "string" + } + }, + "required": ["code"] + } + } + } + } + } + }, + "/mcp/{name}/auth/authenticate": { + "post": { + "operationId": "mcp.auth.authenticate", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "schema": { + "type": "string" + }, + "in": "path", + "name": "name", + "required": true + } + ], + "summary": "Authenticate MCP OAuth", + "description": "Start OAuth flow and wait for callback (opens browser)", + "responses": { + "200": { + "description": "OAuth authentication completed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPStatus" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/mcp/{name}/connect": { + "post": { + "operationId": "mcp.connect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "name", + "schema": { + "type": "string" + }, + "required": true + } + ], + "description": "Connect an MCP server", + "responses": { + "200": { + "description": "MCP server connected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/mcp/{name}/disconnect": { + "post": { + "operationId": "mcp.disconnect", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "name", + "schema": { + "type": "string" + }, + "required": true + } + ], + "description": "Disconnect an MCP server", + "responses": { + "200": { + "description": "MCP server disconnected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/append-prompt": { + "post": { + "operationId": "tui.appendPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Append TUI prompt", + "description": "Append prompt to the TUI", + "responses": { + "200": { + "description": "Prompt processed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": ["text"] + } + } + } + } + } + }, + "/tui/open-help": { + "post": { + "operationId": "tui.openHelp", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open help dialog", + "description": "Open the help dialog in the TUI to display user assistance information.", + "responses": { + "200": { + "description": "Help dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/open-sessions": { + "post": { + "operationId": "tui.openSessions", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open sessions dialog", + "description": "Open the session dialog", + "responses": { + "200": { + "description": "Session dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/open-themes": { + "post": { + "operationId": "tui.openThemes", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open themes dialog", + "description": "Open the theme dialog", + "responses": { + "200": { + "description": "Theme dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/open-models": { + "post": { + "operationId": "tui.openModels", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Open models dialog", + "description": "Open the model dialog", + "responses": { + "200": { + "description": "Model dialog opened successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/submit-prompt": { + "post": { + "operationId": "tui.submitPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Submit TUI prompt", + "description": "Submit the prompt", + "responses": { + "200": { + "description": "Prompt submitted successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/clear-prompt": { + "post": { + "operationId": "tui.clearPrompt", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Clear TUI prompt", + "description": "Clear the prompt", + "responses": { + "200": { + "description": "Prompt cleared successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/tui/execute-command": { + "post": { + "operationId": "tui.executeCommand", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Execute TUI command", + "description": "Execute a TUI command (e.g. agent_cycle)", + "responses": { + "200": { + "description": "Command executed successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command": { + "type": "string" + } + }, + "required": ["command"] + } + } + } + } + } + }, + "/tui/show-toast": { + "post": { + "operationId": "tui.showToast", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Show TUI toast", + "description": "Show a toast notification in the TUI", + "responses": { + "200": { + "description": "Toast notification shown successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "message": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": ["info", "success", "warning", "error"] + }, + "duration": { + "description": "Duration in milliseconds", + "default": 5000, + "type": "number" + } + }, + "required": ["message", "variant"] + } + } + } + } + } + }, + "/tui/publish": { + "post": { + "operationId": "tui.publish", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Publish TUI event", + "description": "Publish a TUI event", + "responses": { + "200": { + "description": "Event published successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Event.tui.prompt.append" + }, + { + "$ref": "#/components/schemas/Event.tui.command.execute" + }, + { + "$ref": "#/components/schemas/Event.tui.toast.show" + }, + { + "$ref": "#/components/schemas/Event.tui.session.select" + } + ] + } + } + } + } + } + }, + "/tui/select-session": { + "post": { + "operationId": "tui.selectSession", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Select session", + "description": "Navigate the TUI to display the specified session.", + "responses": { + "200": { + "description": "Session selected successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "sessionID": { + "description": "Session ID to navigate to", + "type": "string", + "pattern": "^ses" + } + }, + "required": ["sessionID"] + } + } + } + } + } + }, + "/tui/control/next": { + "get": { + "operationId": "tui.control.next", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get next TUI request", + "description": "Retrieve the next TUI (Terminal User Interface) request from the queue for processing.", + "responses": { + "200": { + "description": "Next TUI request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "body": {} + }, + "required": ["path", "body"] + } + } + } + } + } + } + }, + "/tui/control/response": { + "post": { + "operationId": "tui.control.response", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Submit TUI response", + "description": "Submit a response to the TUI request queue to complete a pending request.", + "responses": { + "200": { + "description": "Response submitted successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": {} + } + } + } + } + }, + "/instance/dispose": { + "post": { + "operationId": "instance.dispose", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Dispose instance", + "description": "Clean up and dispose the current OpenCode instance, releasing all resources.", + "responses": { + "200": { + "description": "Instance disposed", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/path": { + "get": { + "operationId": "path.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get paths", + "description": "Retrieve the current working directory and related path information for the OpenCode instance.", + "responses": { + "200": { + "description": "Path", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Path" + } + } + } + } + } + } + }, + "/vcs": { + "get": { + "operationId": "vcs.get", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get VCS info", + "description": "Retrieve version control system (VCS) information for the current project, such as git branch.", + "responses": { + "200": { + "description": "VCS info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VcsInfo" + } + } + } + } + } + } + }, + "/command": { + "get": { + "operationId": "command.list", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List commands", + "description": "Get a list of all available commands in the OpenCode system.", + "responses": { + "200": { + "description": "List of commands", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Command" + } + } + } + } + } + } + } + }, + "/log": { + "post": { + "operationId": "app.log", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Write log", + "description": "Write a log entry to the server logs with specified level and metadata.", + "responses": { + "200": { + "description": "Log entry written successfully", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "service": { + "description": "Service name for the log entry", + "type": "string" + }, + "level": { + "description": "Log level", + "type": "string", + "enum": ["debug", "info", "error", "warn"] + }, + "message": { + "description": "Log message", + "type": "string" + }, + "extra": { + "description": "Additional metadata for the log entry", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": ["service", "level", "message"] + } + } + } + } + } + }, + "/agent": { + "get": { + "operationId": "app.agents", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List agents", + "description": "Get a list of all available AI agents in the OpenCode system.", + "responses": { + "200": { + "description": "List of agents", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Agent" + } + } + } + } + } + } + } + }, + "/skill": { + "get": { + "operationId": "app.skills", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "List skills", + "description": "Get a list of all available skills in the OpenCode system.", + "responses": { + "200": { + "description": "List of skills", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "required": ["name", "description", "location"] + } + } + } + } + } + } + } + }, + "/lsp": { + "get": { + "operationId": "lsp.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get LSP status", + "description": "Get LSP server status", + "responses": { + "200": { + "description": "LSP server status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LSPStatus" + } + } + } + } + } + } + } + }, + "/formatter": { + "get": { + "operationId": "formatter.status", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Get formatter status", + "description": "Get formatter status", + "responses": { + "200": { + "description": "Formatter status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormatterStatus" + } + } + } + } + } + } + } + }, + "/auth/{providerID}": { + "put": { + "operationId": "auth.set", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "providerID", + "schema": { + "type": "string" + }, + "required": true + } + ], + "summary": "Set auth credentials", + "description": "Set authentication credentials", + "responses": { + "200": { + "description": "Successfully set authentication credentials", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BadRequestError" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Auth" + } + } + } + } + } + }, + "/event": { + "get": { + "operationId": "event.subscribe", + "parameters": [ + { + "in": "query", + "name": "directory", + "schema": { + "type": "string" + } + } + ], + "summary": "Subscribe to events", + "description": "Get events", + "responses": { + "200": { + "description": "Event stream", + "content": { + "text/event-stream": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "Event.server.connected": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "server.connected" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": ["type", "properties"] + }, + "Event.global.disposed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "global.disposed" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": ["type", "properties"] + }, + "Event.tui.prompt.append": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.prompt.append" + }, + "properties": { + "type": "object", + "properties": { + "text": { + "type": "string" + } + }, + "required": ["text"] + } + }, + "required": ["type", "properties"] + }, + "Event.tui.command.execute": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.command.execute" + }, + "properties": { + "type": "object", + "properties": { + "command": { + "anyOf": [ + { + "type": "string", + "enum": [ + "session.list", + "session.new", + "session.share", + "session.interrupt", + "session.compact", + "session.page.up", + "session.page.down", + "session.line.up", + "session.line.down", + "session.half.page.up", + "session.half.page.down", + "session.first", + "session.last", + "prompt.clear", + "prompt.submit", + "agent.cycle" + ] + }, + { + "type": "string" + } + ] + } + }, + "required": ["command"] + } + }, + "required": ["type", "properties"] + }, + "Event.tui.toast.show": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.toast.show" + }, + "properties": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "message": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": ["info", "success", "warning", "error"] + }, + "duration": { + "description": "Duration in milliseconds", + "default": 5000, + "type": "number" + } + }, + "required": ["message", "variant"] + } + }, + "required": ["type", "properties"] + }, + "Event.tui.session.select": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "tui.session.select" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "description": "Session ID to navigate to", + "type": "string", + "pattern": "^ses" + } + }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "Event.installation.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "installation.updated" + }, + "properties": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + }, + "required": ["version"] + } + }, + "required": ["type", "properties"] + }, + "Event.installation.update-available": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "installation.update-available" + }, + "properties": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + }, + "required": ["version"] + } + }, + "required": ["type", "properties"] + }, + "Project": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "worktree": { + "type": "string" + }, + "vcs": { + "type": "string", + "const": "git" + }, + "name": { + "type": "string" + }, + "icon": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "override": { + "type": "string" + }, + "color": { + "type": "string" + } + } + }, + "commands": { + "type": "object", + "properties": { + "start": { + "description": "Startup script to run when creating a new workspace (worktree)", + "type": "string" + } + } + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "updated": { + "type": "number" + }, + "initialized": { + "type": "number" + } + }, + "required": ["created", "updated"] + }, + "sandboxes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["id", "worktree", "time", "sandboxes"] + }, + "Event.project.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "project.updated" + }, + "properties": { + "$ref": "#/components/schemas/Project" + } + }, + "required": ["type", "properties"] + }, + "Event.server.instance.disposed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "server.instance.disposed" + }, + "properties": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": ["directory"] + } + }, + "required": ["type", "properties"] + }, + "Event.file.edited": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "file.edited" + }, + "properties": { + "type": "object", + "properties": { + "file": { + "type": "string" + } + }, + "required": ["file"] + } + }, + "required": ["type", "properties"] + }, + "Event.worktree.ready": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "worktree.ready" + }, + "properties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "branch": { + "type": "string" + } + }, + "required": ["name", "branch"] + } + }, + "required": ["type", "properties"] + }, + "Event.worktree.failed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "worktree.failed" + }, + "properties": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": ["message"] + } + }, + "required": ["type", "properties"] + }, + "Event.lsp.client.diagnostics": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "lsp.client.diagnostics" + }, + "properties": { + "type": "object", + "properties": { + "serverID": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": ["serverID", "path"] + } + }, + "required": ["type", "properties"] + }, + "PermissionRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^per.*" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "permission": { + "type": "string" + }, + "patterns": { + "type": "array", + "items": { + "type": "string" + } + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "always": { + "type": "array", + "items": { + "type": "string" + } + }, + "tool": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "callID": { + "type": "string" + } + }, + "required": ["messageID", "callID"] + } + }, + "required": ["id", "sessionID", "permission", "patterns", "metadata", "always"] + }, + "Event.permission.asked": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "permission.asked" + }, + "properties": { + "$ref": "#/components/schemas/PermissionRequest" + } + }, + "required": ["type", "properties"] + }, + "Event.permission.replied": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "permission.replied" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + }, + "reply": { + "type": "string", + "enum": ["once", "always", "reject"] + } + }, + "required": ["sessionID", "requestID", "reply"] + } + }, + "required": ["type", "properties"] + }, + "SessionStatus": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "idle" + } + }, + "required": ["type"] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "retry" + }, + "attempt": { + "type": "number" + }, + "message": { + "type": "string" + }, + "next": { + "type": "number" + } + }, + "required": ["type", "attempt", "message", "next"] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "busy" + } + }, + "required": ["type"] + } + ] + }, + "Event.session.status": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.status" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/SessionStatus" + } + }, + "required": ["sessionID", "status"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.idle": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.idle" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + } + }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "QuestionOption": { + "type": "object", + "properties": { + "label": { + "description": "Display text (1-5 words, concise)", + "type": "string" + }, + "description": { + "description": "Explanation of choice", + "type": "string" + } + }, + "required": ["label", "description"] + }, + "QuestionInfo": { + "type": "object", + "properties": { + "question": { + "description": "Complete question", + "type": "string" + }, + "header": { + "description": "Very short label (max 30 chars)", + "type": "string" + }, + "options": { + "description": "Available choices", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionOption" + } + }, + "multiple": { + "description": "Allow selecting multiple choices", + "type": "boolean" + }, + "custom": { + "description": "Allow typing a custom answer (default: true)", + "type": "boolean" + } + }, + "required": ["question", "header", "options"] + }, + "QuestionRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^que.*" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "questions": { + "description": "Questions to ask", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionInfo" + } + }, + "tool": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "callID": { + "type": "string" + } + }, + "required": ["messageID", "callID"] + } + }, + "required": ["id", "sessionID", "questions"] + }, + "Event.question.asked": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.asked" + }, + "properties": { + "$ref": "#/components/schemas/QuestionRequest" + } + }, + "required": ["type", "properties"] + }, + "QuestionAnswer": { + "type": "array", + "items": { + "type": "string" + } + }, + "Event.question.replied": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.replied" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + }, + "answers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuestionAnswer" + } + } + }, + "required": ["sessionID", "requestID", "answers"] + } + }, + "required": ["type", "properties"] + }, + "Event.question.rejected": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "question.rejected" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "requestID": { + "type": "string" + } + }, + "required": ["sessionID", "requestID"] + } + }, + "required": ["type", "properties"] + }, + "Todo": { + "type": "object", + "properties": { + "content": { + "description": "Brief description of the task", + "type": "string" + }, + "status": { + "description": "Current status of the task: pending, in_progress, completed, cancelled", + "type": "string" + }, + "priority": { + "description": "Priority level of the task: high, medium, low", + "type": "string" + }, + "id": { + "description": "Unique identifier for the todo item", + "type": "string" + } + }, + "required": ["content", "status", "priority", "id"] + }, + "Event.todo.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "todo.updated" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "todos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Todo" + } + } + }, + "required": ["sessionID", "todos"] + } + }, + "required": ["type", "properties"] + }, + "Pty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + }, + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "cwd": { + "type": "string" + }, + "status": { + "type": "string", + "enum": ["running", "exited"] + }, + "pid": { + "type": "number" + } + }, + "required": ["id", "title", "command", "args", "cwd", "status", "pid"] + }, + "Event.pty.created": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.created" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Pty" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Pty" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.exited": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.exited" + }, + "properties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + }, + "exitCode": { + "type": "number" + } + }, + "required": ["id", "exitCode"] + } + }, + "required": ["type", "properties"] + }, + "Event.pty.deleted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "pty.deleted" + }, + "properties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^pty.*" + } + }, + "required": ["id"] + } + }, + "required": ["type", "properties"] + }, + "Event.file.watcher.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "file.watcher.updated" + }, + "properties": { + "type": "object", + "properties": { + "file": { + "type": "string" + }, + "event": { + "anyOf": [ + { + "type": "string", + "const": "add" + }, + { + "type": "string", + "const": "change" + }, + { + "type": "string", + "const": "unlink" + } + ] + } + }, + "required": ["file", "event"] + } + }, + "required": ["type", "properties"] + }, + "Event.mcp.tools.changed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "mcp.tools.changed" + }, + "properties": { + "type": "object", + "properties": { + "server": { + "type": "string" + } + }, + "required": ["server"] + } + }, + "required": ["type", "properties"] + }, + "Event.mcp.browser.open.failed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "mcp.browser.open.failed" + }, + "properties": { + "type": "object", + "properties": { + "mcpName": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": ["mcpName", "url"] + } + }, + "required": ["type", "properties"] + }, + "Event.lsp.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "lsp.updated" + }, + "properties": { + "type": "object", + "properties": {} + } + }, + "required": ["type", "properties"] + }, + "Event.vcs.branch.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "vcs.branch.updated" + }, + "properties": { + "type": "object", + "properties": { + "branch": { + "type": "string" + } + } + } + }, + "required": ["type", "properties"] + }, + "Event.command.executed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "command.executed" + }, + "properties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "sessionID": { + "type": "string", + "pattern": "^ses.*" + }, + "arguments": { + "type": "string" + }, + "messageID": { + "type": "string", + "pattern": "^msg.*" + } + }, + "required": ["name", "sessionID", "arguments", "messageID"] + } + }, + "required": ["type", "properties"] + }, + "FileDiff": { + "type": "object", + "properties": { + "file": { + "type": "string" + }, + "before": { + "type": "string" + }, + "after": { + "type": "string" + }, + "additions": { + "type": "number" + }, + "deletions": { + "type": "number" + } + }, + "required": ["file", "before", "after", "additions", "deletions"] + }, + "UserMessage": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "role": { + "type": "string", + "const": "user" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + } + }, + "required": ["created"] + }, + "summary": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "diffs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": ["diffs"] + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "system": { + "type": "string" + }, + "tools": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "variant": { + "type": "string" + } + }, + "required": ["id", "sessionID", "role", "time", "agent", "model"] + }, + "ProviderAuthError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "ProviderAuthError" + }, + "data": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["providerID", "message"] + } + }, + "required": ["name", "data"] + }, + "UnknownError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "UnknownError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": ["message"] + } + }, + "required": ["name", "data"] + }, + "MessageOutputLengthError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "MessageOutputLengthError" + }, + "data": { + "type": "object", + "properties": {} + } + }, + "required": ["name", "data"] + }, + "MessageAbortedError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "MessageAbortedError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": ["message"] + } + }, + "required": ["name", "data"] + }, + "APIError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "APIError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number" + }, + "isRetryable": { + "type": "boolean" + }, + "responseHeaders": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "responseBody": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": ["message", "isRetryable"] + } + }, + "required": ["name", "data"] + }, + "AssistantMessage": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "role": { + "type": "string", + "const": "assistant" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "completed": { + "type": "number" + } + }, + "required": ["created"] + }, + "error": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderAuthError" + }, + { + "$ref": "#/components/schemas/UnknownError" + }, + { + "$ref": "#/components/schemas/MessageOutputLengthError" + }, + { + "$ref": "#/components/schemas/MessageAbortedError" + }, + { + "$ref": "#/components/schemas/APIError" + } + ] + }, + "parentID": { + "type": "string" + }, + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "path": { + "type": "object", + "properties": { + "cwd": { + "type": "string" + }, + "root": { + "type": "string" + } + }, + "required": ["cwd", "root"] + }, + "summary": { + "type": "boolean" + }, + "cost": { + "type": "number" + }, + "tokens": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "reasoning": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "reasoning", "cache"] + }, + "finish": { + "type": "string" + } + }, + "required": [ + "id", + "sessionID", + "role", + "time", + "parentID", + "modelID", + "providerID", + "mode", + "agent", + "path", + "cost", + "tokens" + ] + }, + "Message": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserMessage" + }, + { + "$ref": "#/components/schemas/AssistantMessage" + } + ] + }, + "Event.message.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Message" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.message.removed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.removed" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + } + }, + "required": ["sessionID", "messageID"] + } + }, + "required": ["type", "properties"] + }, + "TextPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "text" + }, + "text": { + "type": "string" + }, + "synthetic": { + "type": "boolean" + }, + "ignored": { + "type": "boolean" + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": ["start"] + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": ["id", "sessionID", "messageID", "type", "text"] + }, + "ReasoningPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "reasoning" + }, + "text": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": ["start"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "text", "time"] + }, + "FilePartSourceText": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": ["value", "start", "end"] + }, + "FileSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "file" + }, + "path": { + "type": "string" + } + }, + "required": ["text", "type", "path"] + }, + "Range": { + "type": "object", + "properties": { + "start": { + "type": "object", + "properties": { + "line": { + "type": "number" + }, + "character": { + "type": "number" + } + }, + "required": ["line", "character"] + }, + "end": { + "type": "object", + "properties": { + "line": { + "type": "number" + }, + "character": { + "type": "number" + } + }, + "required": ["line", "character"] + } + }, + "required": ["start", "end"] + }, + "SymbolSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "symbol" + }, + "path": { + "type": "string" + }, + "range": { + "$ref": "#/components/schemas/Range" + }, + "name": { + "type": "string" + }, + "kind": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": ["text", "type", "path", "range", "name", "kind"] + }, + "ResourceSource": { + "type": "object", + "properties": { + "text": { + "$ref": "#/components/schemas/FilePartSourceText" + }, + "type": { + "type": "string", + "const": "resource" + }, + "clientName": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "required": ["text", "type", "clientName", "uri"] + }, + "FilePartSource": { + "anyOf": [ + { + "$ref": "#/components/schemas/FileSource" + }, + { + "$ref": "#/components/schemas/SymbolSource" + }, + { + "$ref": "#/components/schemas/ResourceSource" + } + ] + }, + "FilePart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": ["id", "sessionID", "messageID", "type", "mime", "url"] + }, + "ToolStatePending": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "pending" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "raw": { + "type": "string" + } + }, + "required": ["status", "input", "raw"] + }, + "ToolStateRunning": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "running" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "title": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + } + }, + "required": ["start"] + } + }, + "required": ["status", "input", "time"] + }, + "ToolStateCompleted": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "completed" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "output": { + "type": "string" + }, + "title": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + }, + "compacted": { + "type": "number" + } + }, + "required": ["start", "end"] + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilePart" + } + } + }, + "required": ["status", "input", "output", "title", "metadata", "time"] + }, + "ToolStateError": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "error" + }, + "input": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "error": { + "type": "string" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": ["start", "end"] + } + }, + "required": ["status", "input", "error", "time"] + }, + "ToolState": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolStatePending" + }, + { + "$ref": "#/components/schemas/ToolStateRunning" + }, + { + "$ref": "#/components/schemas/ToolStateCompleted" + }, + { + "$ref": "#/components/schemas/ToolStateError" + } + ] + }, + "ToolPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "tool" + }, + "callID": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/ToolState" + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"] + }, + "StepStartPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "step-start" + }, + "snapshot": { + "type": "string" + } + }, + "required": ["id", "sessionID", "messageID", "type"] + }, + "StepFinishPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "step-finish" + }, + "reason": { + "type": "string" + }, + "snapshot": { + "type": "string" + }, + "cost": { + "type": "number" + }, + "tokens": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "reasoning": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "reasoning", "cache"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"] + }, + "SnapshotPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "snapshot" + }, + "snapshot": { + "type": "string" + } + }, + "required": ["id", "sessionID", "messageID", "type", "snapshot"] + }, + "PatchPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "patch" + }, + "hash": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["id", "sessionID", "messageID", "type", "hash", "files"] + }, + "AgentPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "agent" + }, + "name": { + "type": "string" + }, + "source": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": ["value", "start", "end"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "name"] + }, + "RetryPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "retry" + }, + "attempt": { + "type": "number" + }, + "error": { + "$ref": "#/components/schemas/APIError" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + } + }, + "required": ["created"] + } + }, + "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"] + }, + "CompactionPart": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "compaction" + }, + "auto": { + "type": "boolean" + } + }, + "required": ["id", "sessionID", "messageID", "type", "auto"] + }, + "Part": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextPart" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "type": { + "type": "string", + "const": "subtask" + }, + "prompt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "command": { + "type": "string" + } + }, + "required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"] + }, + { + "$ref": "#/components/schemas/ReasoningPart" + }, + { + "$ref": "#/components/schemas/FilePart" + }, + { + "$ref": "#/components/schemas/ToolPart" + }, + { + "$ref": "#/components/schemas/StepStartPart" + }, + { + "$ref": "#/components/schemas/StepFinishPart" + }, + { + "$ref": "#/components/schemas/SnapshotPart" + }, + { + "$ref": "#/components/schemas/PatchPart" + }, + { + "$ref": "#/components/schemas/AgentPart" + }, + { + "$ref": "#/components/schemas/RetryPart" + }, + { + "$ref": "#/components/schemas/CompactionPart" + } + ] + }, + "Event.message.part.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.part.updated" + }, + "properties": { + "type": "object", + "properties": { + "part": { + "$ref": "#/components/schemas/Part" + }, + "delta": { + "type": "string" + } + }, + "required": ["part"] + } + }, + "required": ["type", "properties"] + }, + "Event.message.part.removed": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "message.part.removed" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "partID": { + "type": "string" + } + }, + "required": ["sessionID", "messageID", "partID"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.compacted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.compacted" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + } + }, + "required": ["sessionID"] + } + }, + "required": ["type", "properties"] + }, + "PermissionAction": { + "type": "string", + "enum": ["allow", "deny", "ask"] + }, + "PermissionRule": { + "type": "object", + "properties": { + "permission": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/PermissionAction" + } + }, + "required": ["permission", "pattern", "action"] + }, + "PermissionRuleset": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionRule" + } + }, + "Session": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^ses.*" + }, + "slug": { + "type": "string" + }, + "projectID": { + "type": "string" + }, + "directory": { + "type": "string" + }, + "parentID": { + "type": "string", + "pattern": "^ses.*" + }, + "summary": { + "type": "object", + "properties": { + "additions": { + "type": "number" + }, + "deletions": { + "type": "number" + }, + "files": { + "type": "number" + }, + "diffs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": ["additions", "deletions", "files"] + }, + "share": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": ["url"] + }, + "title": { + "type": "string" + }, + "version": { + "type": "string" + }, + "time": { + "type": "object", + "properties": { + "created": { + "type": "number" + }, + "updated": { + "type": "number" + }, + "compacting": { + "type": "number" + }, + "archived": { + "type": "number" + } + }, + "required": ["created", "updated"] + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + }, + "revert": { + "type": "object", + "properties": { + "messageID": { + "type": "string" + }, + "partID": { + "type": "string" + }, + "snapshot": { + "type": "string" + }, + "diff": { + "type": "string" + } + }, + "required": ["messageID"] + } + }, + "required": ["id", "slug", "projectID", "directory", "title", "version", "time"] + }, + "Event.session.created": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.created" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.updated": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.updated" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.deleted": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.deleted" + }, + "properties": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session" + } + }, + "required": ["info"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.diff": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.diff" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "diff": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileDiff" + } + } + }, + "required": ["sessionID", "diff"] + } + }, + "required": ["type", "properties"] + }, + "Event.session.error": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "session.error" + }, + "properties": { + "type": "object", + "properties": { + "sessionID": { + "type": "string" + }, + "error": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderAuthError" + }, + { + "$ref": "#/components/schemas/UnknownError" + }, + { + "$ref": "#/components/schemas/MessageOutputLengthError" + }, + { + "$ref": "#/components/schemas/MessageAbortedError" + }, + { + "$ref": "#/components/schemas/APIError" + } + ] + } + } + } + }, + "required": ["type", "properties"] + }, + "Event": { + "anyOf": [ + { + "$ref": "#/components/schemas/Event.server.connected" + }, + { + "$ref": "#/components/schemas/Event.global.disposed" + }, + { + "$ref": "#/components/schemas/Event.tui.prompt.append" + }, + { + "$ref": "#/components/schemas/Event.tui.command.execute" + }, + { + "$ref": "#/components/schemas/Event.tui.toast.show" + }, + { + "$ref": "#/components/schemas/Event.tui.session.select" + }, + { + "$ref": "#/components/schemas/Event.installation.updated" + }, + { + "$ref": "#/components/schemas/Event.installation.update-available" + }, + { + "$ref": "#/components/schemas/Event.project.updated" + }, + { + "$ref": "#/components/schemas/Event.server.instance.disposed" + }, + { + "$ref": "#/components/schemas/Event.file.edited" + }, + { + "$ref": "#/components/schemas/Event.worktree.ready" + }, + { + "$ref": "#/components/schemas/Event.worktree.failed" + }, + { + "$ref": "#/components/schemas/Event.lsp.client.diagnostics" + }, + { + "$ref": "#/components/schemas/Event.permission.asked" + }, + { + "$ref": "#/components/schemas/Event.permission.replied" + }, + { + "$ref": "#/components/schemas/Event.session.status" + }, + { + "$ref": "#/components/schemas/Event.session.idle" + }, + { + "$ref": "#/components/schemas/Event.question.asked" + }, + { + "$ref": "#/components/schemas/Event.question.replied" + }, + { + "$ref": "#/components/schemas/Event.question.rejected" + }, + { + "$ref": "#/components/schemas/Event.todo.updated" + }, + { + "$ref": "#/components/schemas/Event.pty.created" + }, + { + "$ref": "#/components/schemas/Event.pty.updated" + }, + { + "$ref": "#/components/schemas/Event.pty.exited" + }, + { + "$ref": "#/components/schemas/Event.pty.deleted" + }, + { + "$ref": "#/components/schemas/Event.file.watcher.updated" + }, + { + "$ref": "#/components/schemas/Event.mcp.tools.changed" + }, + { + "$ref": "#/components/schemas/Event.mcp.browser.open.failed" + }, + { + "$ref": "#/components/schemas/Event.lsp.updated" + }, + { + "$ref": "#/components/schemas/Event.vcs.branch.updated" + }, + { + "$ref": "#/components/schemas/Event.command.executed" + }, + { + "$ref": "#/components/schemas/Event.message.updated" + }, + { + "$ref": "#/components/schemas/Event.message.removed" + }, + { + "$ref": "#/components/schemas/Event.message.part.updated" + }, + { + "$ref": "#/components/schemas/Event.message.part.removed" + }, + { + "$ref": "#/components/schemas/Event.session.compacted" + }, + { + "$ref": "#/components/schemas/Event.session.created" + }, + { + "$ref": "#/components/schemas/Event.session.updated" + }, + { + "$ref": "#/components/schemas/Event.session.deleted" + }, + { + "$ref": "#/components/schemas/Event.session.diff" + }, + { + "$ref": "#/components/schemas/Event.session.error" + } + ] + }, + "GlobalEvent": { + "type": "object", + "properties": { + "directory": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/Event" + } + }, + "required": ["directory", "payload"] + }, + "BadRequestError": { + "type": "object", + "properties": { + "data": {}, + "errors": { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "success": { + "type": "boolean", + "const": false + } + }, + "required": ["data", "errors", "success"] + }, + "NotFoundError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "const": "NotFoundError" + }, + "data": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": ["message"] + } + }, + "required": ["name", "data"] + }, + "KeybindsConfig": { + "description": "Custom keybind configurations", + "type": "object", + "properties": { + "leader": { + "description": "Leader key for keybind combinations", + "default": "ctrl+x", + "type": "string" + }, + "app_exit": { + "description": "Exit the application", + "default": "ctrl+c,ctrl+d,q", + "type": "string" + }, + "editor_open": { + "description": "Open external editor", + "default": "e", + "type": "string" + }, + "theme_list": { + "description": "List available themes", + "default": "t", + "type": "string" + }, + "sidebar_toggle": { + "description": "Toggle sidebar", + "default": "b", + "type": "string" + }, + "scrollbar_toggle": { + "description": "Toggle session scrollbar", + "default": "none", + "type": "string" + }, + "username_toggle": { + "description": "Toggle username visibility", + "default": "none", + "type": "string" + }, + "status_view": { + "description": "View status", + "default": "s", + "type": "string" + }, + "session_export": { + "description": "Export session to editor", + "default": "x", + "type": "string" + }, + "session_new": { + "description": "Create a new session", + "default": "n", + "type": "string" + }, + "session_list": { + "description": "List all sessions", + "default": "l", + "type": "string" + }, + "session_timeline": { + "description": "Show session timeline", + "default": "g", + "type": "string" + }, + "session_fork": { + "description": "Fork session from message", + "default": "none", + "type": "string" + }, + "session_rename": { + "description": "Rename session", + "default": "ctrl+r", + "type": "string" + }, + "session_delete": { + "description": "Delete session", + "default": "ctrl+d", + "type": "string" + }, + "stash_delete": { + "description": "Delete stash entry", + "default": "ctrl+d", + "type": "string" + }, + "model_provider_list": { + "description": "Open provider list from model dialog", + "default": "ctrl+a", + "type": "string" + }, + "model_favorite_toggle": { + "description": "Toggle model favorite status", + "default": "ctrl+f", + "type": "string" + }, + "session_share": { + "description": "Share current session", + "default": "none", + "type": "string" + }, + "session_unshare": { + "description": "Unshare current session", + "default": "none", + "type": "string" + }, + "session_interrupt": { + "description": "Interrupt current session", + "default": "escape", + "type": "string" + }, + "session_compact": { + "description": "Compact the session", + "default": "c", + "type": "string" + }, + "messages_page_up": { + "description": "Scroll messages up by one page", + "default": "pageup,ctrl+alt+b", + "type": "string" + }, + "messages_page_down": { + "description": "Scroll messages down by one page", + "default": "pagedown,ctrl+alt+f", + "type": "string" + }, + "messages_line_up": { + "description": "Scroll messages up by one line", + "default": "ctrl+alt+y", + "type": "string" + }, + "messages_line_down": { + "description": "Scroll messages down by one line", + "default": "ctrl+alt+e", + "type": "string" + }, + "messages_half_page_up": { + "description": "Scroll messages up by half page", + "default": "ctrl+alt+u", + "type": "string" + }, + "messages_half_page_down": { + "description": "Scroll messages down by half page", + "default": "ctrl+alt+d", + "type": "string" + }, + "messages_first": { + "description": "Navigate to first message", + "default": "ctrl+g,home", + "type": "string" + }, + "messages_last": { + "description": "Navigate to last message", + "default": "ctrl+alt+g,end", + "type": "string" + }, + "messages_next": { + "description": "Navigate to next message", + "default": "none", + "type": "string" + }, + "messages_previous": { + "description": "Navigate to previous message", + "default": "none", + "type": "string" + }, + "messages_last_user": { + "description": "Navigate to last user message", + "default": "none", + "type": "string" + }, + "messages_copy": { + "description": "Copy message", + "default": "y", + "type": "string" + }, + "messages_undo": { + "description": "Undo message", + "default": "u", + "type": "string" + }, + "messages_redo": { + "description": "Redo message", + "default": "r", + "type": "string" + }, + "messages_toggle_conceal": { + "description": "Toggle code block concealment in messages", + "default": "h", + "type": "string" + }, + "tool_details": { + "description": "Toggle tool details visibility", + "default": "none", + "type": "string" + }, + "model_list": { + "description": "List available models", + "default": "m", + "type": "string" + }, + "model_cycle_recent": { + "description": "Next recently used model", + "default": "f2", + "type": "string" + }, + "model_cycle_recent_reverse": { + "description": "Previous recently used model", + "default": "shift+f2", + "type": "string" + }, + "model_cycle_favorite": { + "description": "Next favorite model", + "default": "none", + "type": "string" + }, + "model_cycle_favorite_reverse": { + "description": "Previous favorite model", + "default": "none", + "type": "string" + }, + "command_list": { + "description": "List available commands", + "default": "ctrl+p", + "type": "string" + }, + "agent_list": { + "description": "List agents", + "default": "a", + "type": "string" + }, + "agent_cycle": { + "description": "Next agent", + "default": "tab", + "type": "string" + }, + "agent_cycle_reverse": { + "description": "Previous agent", + "default": "shift+tab", + "type": "string" + }, + "variant_cycle": { + "description": "Cycle model variants", + "default": "ctrl+t", + "type": "string" + }, + "input_clear": { + "description": "Clear input field", + "default": "ctrl+c", + "type": "string" + }, + "input_paste": { + "description": "Paste from clipboard", + "default": "ctrl+v", + "type": "string" + }, + "input_submit": { + "description": "Submit input", + "default": "return", + "type": "string" + }, + "input_newline": { + "description": "Insert newline in input", + "default": "shift+return,ctrl+return,alt+return,ctrl+j", + "type": "string" + }, + "input_move_left": { + "description": "Move cursor left in input", + "default": "left,ctrl+b", + "type": "string" + }, + "input_move_right": { + "description": "Move cursor right in input", + "default": "right,ctrl+f", + "type": "string" + }, + "input_move_up": { + "description": "Move cursor up in input", + "default": "up", + "type": "string" + }, + "input_move_down": { + "description": "Move cursor down in input", + "default": "down", + "type": "string" + }, + "input_select_left": { + "description": "Select left in input", + "default": "shift+left", + "type": "string" + }, + "input_select_right": { + "description": "Select right in input", + "default": "shift+right", + "type": "string" + }, + "input_select_up": { + "description": "Select up in input", + "default": "shift+up", + "type": "string" + }, + "input_select_down": { + "description": "Select down in input", + "default": "shift+down", + "type": "string" + }, + "input_line_home": { + "description": "Move to start of line in input", + "default": "ctrl+a", + "type": "string" + }, + "input_line_end": { + "description": "Move to end of line in input", + "default": "ctrl+e", + "type": "string" + }, + "input_select_line_home": { + "description": "Select to start of line in input", + "default": "ctrl+shift+a", + "type": "string" + }, + "input_select_line_end": { + "description": "Select to end of line in input", + "default": "ctrl+shift+e", + "type": "string" + }, + "input_visual_line_home": { + "description": "Move to start of visual line in input", + "default": "alt+a", + "type": "string" + }, + "input_visual_line_end": { + "description": "Move to end of visual line in input", + "default": "alt+e", + "type": "string" + }, + "input_select_visual_line_home": { + "description": "Select to start of visual line in input", + "default": "alt+shift+a", + "type": "string" + }, + "input_select_visual_line_end": { + "description": "Select to end of visual line in input", + "default": "alt+shift+e", + "type": "string" + }, + "input_buffer_home": { + "description": "Move to start of buffer in input", + "default": "home", + "type": "string" + }, + "input_buffer_end": { + "description": "Move to end of buffer in input", + "default": "end", + "type": "string" + }, + "input_select_buffer_home": { + "description": "Select to start of buffer in input", + "default": "shift+home", + "type": "string" + }, + "input_select_buffer_end": { + "description": "Select to end of buffer in input", + "default": "shift+end", + "type": "string" + }, + "input_delete_line": { + "description": "Delete line in input", + "default": "ctrl+shift+d", + "type": "string" + }, + "input_delete_to_line_end": { + "description": "Delete to end of line in input", + "default": "ctrl+k", + "type": "string" + }, + "input_delete_to_line_start": { + "description": "Delete to start of line in input", + "default": "ctrl+u", + "type": "string" + }, + "input_backspace": { + "description": "Backspace in input", + "default": "backspace,shift+backspace", + "type": "string" + }, + "input_delete": { + "description": "Delete character in input", + "default": "ctrl+d,delete,shift+delete", + "type": "string" + }, + "input_undo": { + "description": "Undo in input", + "default": "ctrl+-,super+z", + "type": "string" + }, + "input_redo": { + "description": "Redo in input", + "default": "ctrl+.,super+shift+z", + "type": "string" + }, + "input_word_forward": { + "description": "Move word forward in input", + "default": "alt+f,alt+right,ctrl+right", + "type": "string" + }, + "input_word_backward": { + "description": "Move word backward in input", + "default": "alt+b,alt+left,ctrl+left", + "type": "string" + }, + "input_select_word_forward": { + "description": "Select word forward in input", + "default": "alt+shift+f,alt+shift+right", + "type": "string" + }, + "input_select_word_backward": { + "description": "Select word backward in input", + "default": "alt+shift+b,alt+shift+left", + "type": "string" + }, + "input_delete_word_forward": { + "description": "Delete word forward in input", + "default": "alt+d,alt+delete,ctrl+delete", + "type": "string" + }, + "input_delete_word_backward": { + "description": "Delete word backward in input", + "default": "ctrl+w,ctrl+backspace,alt+backspace", + "type": "string" + }, + "history_previous": { + "description": "Previous history item", + "default": "up", + "type": "string" + }, + "history_next": { + "description": "Next history item", + "default": "down", + "type": "string" + }, + "session_child_cycle": { + "description": "Next child session", + "default": "right", + "type": "string" + }, + "session_child_cycle_reverse": { + "description": "Previous child session", + "default": "left", + "type": "string" + }, + "session_parent": { + "description": "Go to parent session", + "default": "up", + "type": "string" + }, + "terminal_suspend": { + "description": "Suspend terminal", + "default": "ctrl+z", + "type": "string" + }, + "terminal_title_toggle": { + "description": "Toggle terminal title", + "default": "none", + "type": "string" + }, + "tips_toggle": { + "description": "Toggle tips on home screen", + "default": "h", + "type": "string" + } + }, + "additionalProperties": false + }, + "LogLevel": { + "description": "Log level", + "type": "string", + "enum": ["DEBUG", "INFO", "WARN", "ERROR"] + }, + "ServerConfig": { + "description": "Server configuration for opencode serve and web commands", + "type": "object", + "properties": { + "port": { + "description": "Port to listen on", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hostname": { + "description": "Hostname to listen on", + "type": "string" + }, + "mdns": { + "description": "Enable mDNS service discovery", + "type": "boolean" + }, + "cors": { + "description": "Additional domains to allow for CORS", + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "PermissionActionConfig": { + "type": "string", + "enum": ["ask", "allow", "deny"] + }, + "PermissionObjectConfig": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/PermissionActionConfig" + } + }, + "PermissionRuleConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + { + "$ref": "#/components/schemas/PermissionObjectConfig" + } + ] + }, + "PermissionConfig": { + "anyOf": [ + { + "type": "object", + "properties": { + "__originalKeys": { + "type": "array", + "items": { + "type": "string" + } + }, + "read": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "edit": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "glob": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "grep": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "list": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "bash": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "task": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "external_directory": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "todowrite": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "todoread": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "question": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "webfetch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "websearch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "codesearch": { + "$ref": "#/components/schemas/PermissionActionConfig" + }, + "lsp": { + "$ref": "#/components/schemas/PermissionRuleConfig" + }, + "doom_loop": { + "$ref": "#/components/schemas/PermissionActionConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/PermissionRuleConfig" + } + }, + { + "$ref": "#/components/schemas/PermissionActionConfig" + } + ] + }, + "AgentConfig": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "prompt": { + "type": "string" + }, + "tools": { + "description": "@deprecated Use 'permission' field instead", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "disable": { + "type": "boolean" + }, + "description": { + "description": "Description of when to use the agent", + "type": "string" + }, + "mode": { + "type": "string", + "enum": ["subagent", "primary", "all"] + }, + "hidden": { + "description": "Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)", + "type": "boolean" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "color": { + "description": "Hex color code for the agent (e.g., #FF5733)", + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "steps": { + "description": "Maximum number of agentic iterations before forcing text-only response", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "maxSteps": { + "description": "@deprecated Use 'steps' field instead.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "permission": { + "$ref": "#/components/schemas/PermissionConfig" + } + }, + "additionalProperties": {} + }, + "ProviderConfig": { + "type": "object", + "properties": { + "api": { + "type": "string" + }, + "name": { + "type": "string" + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "npm": { + "type": "string" + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "release_date": { + "type": "string" + }, + "attachment": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "temperature": { + "type": "boolean" + }, + "tool_call": { + "type": "boolean" + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean", + "const": true + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": ["reasoning_content", "reasoning_details"] + } + }, + "required": ["field"], + "additionalProperties": false + } + ] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + }, + "context_over_200k": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache_read": { + "type": "number" + }, + "cache_write": { + "type": "number" + } + }, + "required": ["input", "output"] + } + }, + "required": ["input", "output"] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": ["context", "output"] + }, + "modalities": { + "type": "object", + "properties": { + "input": { + "type": "array", + "items": { + "type": "string", + "enum": ["text", "audio", "image", "video", "pdf"] + } + }, + "output": { + "type": "array", + "items": { + "type": "string", + "enum": ["text", "audio", "image", "video", "pdf"] + } + } + }, + "required": ["input", "output"] + }, + "experimental": { + "type": "boolean" + }, + "status": { + "type": "string", + "enum": ["alpha", "beta", "deprecated"] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "provider": { + "type": "object", + "properties": { + "npm": { + "type": "string" + } + }, + "required": ["npm"] + }, + "variants": { + "description": "Variant-specific configuration", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { + "description": "Disable this variant for the model", + "type": "boolean" + } + }, + "additionalProperties": {} + } + } + } + } + }, + "whitelist": { + "type": "array", + "items": { + "type": "string" + } + }, + "blacklist": { + "type": "array", + "items": { + "type": "string" + } + }, + "options": { + "type": "object", + "properties": { + "apiKey": { + "type": "string" + }, + "baseURL": { + "type": "string" + }, + "enterpriseUrl": { + "description": "GitHub Enterprise URL for copilot authentication", + "type": "string" + }, + "setCacheKey": { + "description": "Enable promptCacheKey for this provider (default false)", + "type": "boolean" + }, + "timeout": { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "anyOf": [ + { + "description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + { + "description": "Disable timeout for this provider entirely.", + "type": "boolean", + "const": false + } + ] + } + }, + "additionalProperties": {} + } + }, + "additionalProperties": false + }, + "McpLocalConfig": { + "type": "object", + "properties": { + "type": { + "description": "Type of MCP server connection", + "type": "string", + "const": "local" + }, + "command": { + "description": "Command and arguments to run the MCP server", + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "description": "Environment variables to set when running the MCP server", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "enabled": { + "description": "Enable or disable the MCP server on startup", + "type": "boolean" + }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": ["type", "command"], + "additionalProperties": false + }, + "McpOAuthConfig": { + "type": "object", + "properties": { + "clientId": { + "description": "OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth client secret (if required by the authorization server)", + "type": "string" + }, + "scope": { + "description": "OAuth scopes to request during authorization", + "type": "string" + } + }, + "additionalProperties": false + }, + "McpRemoteConfig": { + "type": "object", + "properties": { + "type": { + "description": "Type of MCP server connection", + "type": "string", + "const": "remote" + }, + "url": { + "description": "URL of the remote MCP server", + "type": "string" + }, + "enabled": { + "description": "Enable or disable the MCP server on startup", + "type": "boolean" + }, + "headers": { + "description": "Headers to send with the request", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "oauth": { + "description": "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.", + "anyOf": [ + { + "$ref": "#/components/schemas/McpOAuthConfig" + }, + { + "type": "boolean", + "const": false + } + ] + }, + "timeout": { + "description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": ["type", "url"], + "additionalProperties": false + }, + "LayoutConfig": { + "description": "@deprecated Always uses stretch layout.", + "type": "string", + "enum": ["auto", "stretch"] + }, + "Config": { + "type": "object", + "properties": { + "$schema": { + "description": "JSON schema reference for configuration validation", + "type": "string" + }, + "theme": { + "description": "Theme name to use for the interface", + "type": "string" + }, + "keybinds": { + "$ref": "#/components/schemas/KeybindsConfig" + }, + "logLevel": { + "$ref": "#/components/schemas/LogLevel" + }, + "tui": { + "description": "TUI specific settings", + "type": "object", + "properties": { + "scroll_speed": { + "description": "TUI scroll speed", + "type": "number", + "minimum": 0.001 + }, + "scroll_acceleration": { + "description": "Scroll acceleration settings", + "type": "object", + "properties": { + "enabled": { + "description": "Enable scroll acceleration", + "type": "boolean" + } + }, + "required": ["enabled"] + }, + "diff_style": { + "description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column", + "type": "string", + "enum": ["auto", "stacked"] + } + } + }, + "server": { + "$ref": "#/components/schemas/ServerConfig" + }, + "command": { + "description": "Command configuration, see https://opencode.ai/docs/commands", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "template": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "subtask": { + "type": "boolean" + } + }, + "required": ["template"] + } + }, + "watcher": { + "type": "object", + "properties": { + "ignore": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "plugin": { + "type": "array", + "items": { + "type": "string" + } + }, + "snapshot": { + "type": "boolean" + }, + "share": { + "description": "Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing", + "type": "string", + "enum": ["manual", "auto", "disabled"] + }, + "autoshare": { + "description": "@deprecated Use 'share' field instead. Share newly created sessions automatically", + "type": "boolean" + }, + "autoupdate": { + "description": "Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "const": "notify" + } + ] + }, + "disabled_providers": { + "description": "Disable providers that are loaded automatically", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled_providers": { + "description": "When set, ONLY these providers will be enabled. All other providers will be ignored", + "type": "array", + "items": { + "type": "string" + } + }, + "model": { + "description": "Model to use in the format of provider/model, eg anthropic/claude-2", + "type": "string" + }, + "small_model": { + "description": "Small model to use for tasks like title generation in the format of provider/model", + "type": "string" + }, + "default_agent": { + "description": "Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid.", + "type": "string" + }, + "username": { + "description": "Custom username to display in conversations instead of system username", + "type": "string" + }, + "mode": { + "description": "@deprecated Use `agent` field instead.", + "type": "object", + "properties": { + "build": { + "$ref": "#/components/schemas/AgentConfig" + }, + "plan": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "agent": { + "description": "Agent configuration, see https://opencode.ai/docs/agents", + "type": "object", + "properties": { + "plan": { + "$ref": "#/components/schemas/AgentConfig" + }, + "build": { + "$ref": "#/components/schemas/AgentConfig" + }, + "general": { + "$ref": "#/components/schemas/AgentConfig" + }, + "explore": { + "$ref": "#/components/schemas/AgentConfig" + }, + "title": { + "$ref": "#/components/schemas/AgentConfig" + }, + "summary": { + "$ref": "#/components/schemas/AgentConfig" + }, + "compaction": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "additionalProperties": { + "$ref": "#/components/schemas/AgentConfig" + } + }, + "provider": { + "description": "Custom provider configurations and model overrides", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/ProviderConfig" + } + }, + "mcp": { + "description": "MCP (Model Context Protocol) server configurations", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { + "$ref": "#/components/schemas/McpLocalConfig" + }, + { + "$ref": "#/components/schemas/McpRemoteConfig" + } + ] + }, + { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": ["enabled"], + "additionalProperties": false + } + ] + } + }, + "formatter": { + "anyOf": [ + { + "type": "boolean", + "const": false + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean" + }, + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ] + }, + "lsp": { + "anyOf": [ + { + "type": "boolean", + "const": false + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "const": true + } + }, + "required": ["disabled"] + }, + { + "type": "object", + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "disabled": { + "type": "boolean" + }, + "env": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "initialization": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": ["command"] + } + ] + } + } + ] + }, + "instructions": { + "description": "Additional instruction files or patterns to include", + "type": "array", + "items": { + "type": "string" + } + }, + "layout": { + "$ref": "#/components/schemas/LayoutConfig" + }, + "permission": { + "$ref": "#/components/schemas/PermissionConfig" + }, + "tools": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "boolean" + } + }, + "enterprise": { + "type": "object", + "properties": { + "url": { + "description": "Enterprise URL", + "type": "string" + } + } + }, + "compaction": { + "type": "object", + "properties": { + "auto": { + "description": "Enable automatic compaction when context is full (default: true)", + "type": "boolean" + }, + "prune": { + "description": "Enable pruning of old tool outputs (default: true)", + "type": "boolean" + } + } + }, + "experimental": { + "type": "object", + "properties": { + "hook": { + "type": "object", + "properties": { + "file_edited": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": ["command"] + } + } + }, + "session_completed": { + "type": "array", + "items": { + "type": "object", + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + } + }, + "required": ["command"] + } + } + } + }, + "chatMaxRetries": { + "description": "Number of retries for chat completions on failure", + "type": "number" + }, + "disable_paste_summary": { + "type": "boolean" + }, + "batch_tool": { + "description": "Enable the batch tool", + "type": "boolean" + }, + "openTelemetry": { + "description": "Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)", + "type": "boolean" + }, + "primary_tools": { + "description": "Tools that should only be available to primary agents.", + "type": "array", + "items": { + "type": "string" + } + }, + "continue_loop_on_deny": { + "description": "Continue the agent loop when a tool call is denied", + "type": "boolean" + }, + "mcp_timeout": { + "description": "Timeout in milliseconds for model context protocol (MCP) requests", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + } + } + }, + "additionalProperties": false + }, + "Model": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "api": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "npm": { + "type": "string" + } + }, + "required": ["id", "url", "npm"] + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "capabilities": { + "type": "object", + "properties": { + "temperature": { + "type": "boolean" + }, + "reasoning": { + "type": "boolean" + }, + "attachment": { + "type": "boolean" + }, + "toolcall": { + "type": "boolean" + }, + "input": { + "type": "object", + "properties": { + "text": { + "type": "boolean" + }, + "audio": { + "type": "boolean" + }, + "image": { + "type": "boolean" + }, + "video": { + "type": "boolean" + }, + "pdf": { + "type": "boolean" + } + }, + "required": ["text", "audio", "image", "video", "pdf"] + }, + "output": { + "type": "object", + "properties": { + "text": { + "type": "boolean" + }, + "audio": { + "type": "boolean" + }, + "image": { + "type": "boolean" + }, + "video": { + "type": "boolean" + }, + "pdf": { + "type": "boolean" + } + }, + "required": ["text", "audio", "image", "video", "pdf"] + }, + "interleaved": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "type": "string", + "enum": ["reasoning_content", "reasoning_details"] + } + }, + "required": ["field"] + } + ] + } + }, + "required": ["temperature", "reasoning", "attachment", "toolcall", "input", "output", "interleaved"] + }, + "cost": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": ["read", "write"] + }, + "experimentalOver200K": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "cache": { + "type": "object", + "properties": { + "read": { + "type": "number" + }, + "write": { + "type": "number" + } + }, + "required": ["read", "write"] + } + }, + "required": ["input", "output", "cache"] + } + }, + "required": ["input", "output", "cache"] + }, + "limit": { + "type": "object", + "properties": { + "context": { + "type": "number" + }, + "input": { + "type": "number" + }, + "output": { + "type": "number" + } + }, + "required": ["context", "output"] + }, + "status": { + "type": "string", + "enum": ["alpha", "beta", "deprecated", "active"] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string" + } + }, + "release_date": { + "type": "string" + }, + "variants": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + }, + "required": [ + "id", + "providerID", + "api", + "name", + "capabilities", + "cost", + "limit", + "status", + "options", + "headers", + "release_date" + ] + }, + "Provider": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "type": "string", + "enum": ["env", "config", "custom", "api"] + }, + "env": { + "type": "array", + "items": { + "type": "string" + } + }, + "key": { + "type": "string" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "models": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "$ref": "#/components/schemas/Model" + } + } + }, + "required": ["id", "name", "source", "env", "options", "models"] + }, + "ToolIDs": { + "type": "array", + "items": { + "type": "string" + } + }, + "ToolListItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "description": { + "type": "string" + }, + "parameters": {} + }, + "required": ["id", "description", "parameters"] + }, + "ToolList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ToolListItem" + } + }, + "Worktree": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "directory": { + "type": "string" + } + }, + "required": ["name", "branch", "directory"] + }, + "WorktreeCreateInput": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "startCommand": { + "description": "Additional startup script to run after the project's start command", + "type": "string" + } + } + }, + "WorktreeRemoveInput": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": ["directory"] + }, + "WorktreeResetInput": { + "type": "object", + "properties": { + "directory": { + "type": "string" + } + }, + "required": ["directory"] + }, + "McpResource": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "client": { + "type": "string" + } + }, + "required": ["name", "uri", "client"] + }, + "TextPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "text" + }, + "text": { + "type": "string" + }, + "synthetic": { + "type": "boolean" + }, + "ignored": { + "type": "boolean" + }, + "time": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + } + }, + "required": ["start"] + }, + "metadata": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": ["type", "text"] + }, + "FilePartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "file" + }, + "mime": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "url": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/FilePartSource" + } + }, + "required": ["type", "mime", "url"] + }, + "AgentPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "agent" + }, + "name": { + "type": "string" + }, + "source": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "start": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "end": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + }, + "required": ["value", "start", "end"] + } + }, + "required": ["type", "name"] + }, + "SubtaskPartInput": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "const": "subtask" + }, + "prompt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "object", + "properties": { + "providerID": { + "type": "string" + }, + "modelID": { + "type": "string" + } + }, + "required": ["providerID", "modelID"] + }, + "command": { + "type": "string" + } + }, + "required": ["type", "prompt", "description", "agent"] + }, + "ProviderAuthMethod": { + "type": "object", + "properties": { + "type": { + "anyOf": [ + { + "type": "string", + "const": "oauth" + }, + { + "type": "string", + "const": "api" + } + ] + }, + "label": { + "type": "string" + } + }, + "required": ["type", "label"] + }, + "ProviderAuthAuthorization": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "method": { + "anyOf": [ + { + "type": "string", + "const": "auto" + }, + { + "type": "string", + "const": "code" + } + ] + }, + "instructions": { + "type": "string" + } + }, + "required": ["url", "method", "instructions"] + }, + "Symbol": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "kind": { + "type": "number" + }, + "location": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "range": { + "$ref": "#/components/schemas/Range" + } + }, + "required": ["uri", "range"] + } + }, + "required": ["name", "kind", "location"] + }, + "FileNode": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "absolute": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["file", "directory"] + }, + "ignored": { + "type": "boolean" + } + }, + "required": ["name", "path", "absolute", "type", "ignored"] + }, + "FileContent": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "text" + }, + "content": { + "type": "string" + }, + "diff": { + "type": "string" + }, + "patch": { + "type": "object", + "properties": { + "oldFileName": { + "type": "string" + }, + "newFileName": { + "type": "string" + }, + "oldHeader": { + "type": "string" + }, + "newHeader": { + "type": "string" + }, + "hunks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oldStart": { + "type": "number" + }, + "oldLines": { + "type": "number" + }, + "newStart": { + "type": "number" + }, + "newLines": { + "type": "number" + }, + "lines": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["oldStart", "oldLines", "newStart", "newLines", "lines"] + } + }, + "index": { + "type": "string" + } + }, + "required": ["oldFileName", "newFileName", "hunks"] + }, + "encoding": { + "type": "string", + "const": "base64" + }, + "mimeType": { + "type": "string" + } + }, + "required": ["type", "content"] + }, + "File": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "added": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "removed": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "status": { + "type": "string", + "enum": ["added", "deleted", "modified"] + } + }, + "required": ["path", "added", "removed", "status"] + }, + "MCPStatusConnected": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "connected" + } + }, + "required": ["status"] + }, + "MCPStatusDisabled": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "disabled" + } + }, + "required": ["status"] + }, + "MCPStatusFailed": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "failed" + }, + "error": { + "type": "string" + } + }, + "required": ["status", "error"] + }, + "MCPStatusNeedsAuth": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "needs_auth" + } + }, + "required": ["status"] + }, + "MCPStatusNeedsClientRegistration": { + "type": "object", + "properties": { + "status": { + "type": "string", + "const": "needs_client_registration" + }, + "error": { + "type": "string" + } + }, + "required": ["status", "error"] + }, + "MCPStatus": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPStatusConnected" + }, + { + "$ref": "#/components/schemas/MCPStatusDisabled" + }, + { + "$ref": "#/components/schemas/MCPStatusFailed" + }, + { + "$ref": "#/components/schemas/MCPStatusNeedsAuth" + }, + { + "$ref": "#/components/schemas/MCPStatusNeedsClientRegistration" + } + ] + }, + "Path": { + "type": "object", + "properties": { + "home": { + "type": "string" + }, + "state": { + "type": "string" + }, + "config": { + "type": "string" + }, + "worktree": { + "type": "string" + }, + "directory": { + "type": "string" + } + }, + "required": ["home", "state", "config", "worktree", "directory"] + }, + "VcsInfo": { + "type": "object", + "properties": { + "branch": { + "type": "string" + } + }, + "required": ["branch"] + }, + "Command": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "model": { + "type": "string" + }, + "mcp": { + "type": "boolean" + }, + "template": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ] + }, + "subtask": { + "type": "boolean" + }, + "hints": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["name", "template", "hints"] + }, + "Agent": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mode": { + "type": "string", + "enum": ["subagent", "primary", "all"] + }, + "native": { + "type": "boolean" + }, + "hidden": { + "type": "boolean" + }, + "topP": { + "type": "number" + }, + "temperature": { + "type": "number" + }, + "color": { + "type": "string" + }, + "permission": { + "$ref": "#/components/schemas/PermissionRuleset" + }, + "model": { + "type": "object", + "properties": { + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + } + }, + "required": ["modelID", "providerID"] + }, + "prompt": { + "type": "string" + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": ["name", "mode", "permission", "options"] + }, + "LSPStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "root": { + "type": "string" + }, + "status": { + "anyOf": [ + { + "type": "string", + "const": "connected" + }, + { + "type": "string", + "const": "error" + } + ] + } + }, + "required": ["id", "name", "root", "status"] + }, + "FormatterStatus": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean" + } + }, + "required": ["name", "extensions", "enabled"] + }, + "OAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "oauth" + }, + "refresh": { + "type": "string" + }, + "access": { + "type": "string" + }, + "expires": { + "type": "number" + }, + "accountId": { + "type": "string" + }, + "enterpriseUrl": { + "type": "string" + } + }, + "required": ["type", "refresh", "access", "expires"] + }, + "ApiAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "api" + }, + "key": { + "type": "string" + } + }, + "required": ["type", "key"] + }, + "WellKnownAuth": { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "wellknown" + }, + "key": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "required": ["type", "key", "token"] + }, + "Auth": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuth" + }, + { + "$ref": "#/components/schemas/ApiAuth" + }, + { + "$ref": "#/components/schemas/WellKnownAuth" + } + ] + } + } + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..98175dc --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8808 @@ +{ + "name": "piagentui", + "version": "0.6.10", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "piagentui", + "version": "0.6.10", + "hasInstallScript": true, + "license": "GPL-3.0-only", + "dependencies": { + "@codemirror/commands": "^6.10.3", + "@codemirror/search": "^6.7.0", + "@codemirror/state": "^6.6.0", + "@codemirror/view": "^6.41.1", + "@primer/octicons-react": "^19.28.0", + "@streamdown/math": "^1.0.2", + "@tauri-apps/api": "^2.10.1", + "@tauri-apps/plugin-dialog": "^2.6.0", + "@tauri-apps/plugin-fs": "^2.4.5", + "@tauri-apps/plugin-http": "^2.5.7", + "@tauri-apps/plugin-notification": "^2.3.3", + "@tauri-apps/plugin-opener": "^2.5.3", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-serialize": "^0.14.0", + "@xterm/addon-web-links": "^0.12.0", + "@xterm/xterm": "^6.0.0", + "clsx": "^2.1.1", + "diff": "^8.0.4", + "i18next": "^26.0.1", + "i18next-browser-languagedetector": "^8.2.1", + "lucide-react": "^1.7.0", + "motion": "^12.38.0", + "qrcode": "^1.5.4", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-i18next": "^17.0.1", + "shiki": "^4.0.2", + "streamdown": "^2.5.0", + "ws": "^8.21.0" + }, + "devDependencies": { + "@eslint/js": "^9.39.4", + "@tailwindcss/vite": "^4.2.2", + "@tauri-apps/cli": "^2.10.0", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.0", + "@types/diff": "^7.0.2", + "@types/node": "^25.5.0", + "@types/qrcode": "^1.5.6", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@types/ws": "^8.18.1", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^9.39.4", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "jsdom": "^29.0.1", + "material-icon-theme": "^5.32.0", + "prettier": "^3.6.2", + "tailwindcss": "^4.2.2", + "typescript": "~5.9.3", + "typescript-eslint": "^8.57.2", + "vite": "^8.0.3", + "vitest": "^4.1.2" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz", + "integrity": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^3.1.1", + "@csstools/css-color-parser": "^4.0.2", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0", + "lru-cache": "^11.2.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.0.4.tgz", + "integrity": "sha512-jXR6x4AcT3eIrS2fSNAwJpwirOkGcd+E7F7CP3zjdTqz9B/2huHOL8YJZBgekKwLML+u7qB/6P1LXQuMScsx0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", + "license": "MIT" + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.2.tgz", + "integrity": "sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.1.2", + "@chevrotain/types": "11.1.2", + "lodash-es": "4.17.23" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.1.2.tgz", + "integrity": "sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.1.2", + "lodash-es": "4.17.23" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.2.tgz", + "integrity": "sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.1.2.tgz", + "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.1.2.tgz", + "integrity": "sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==", + "license": "Apache-2.0" + }, + "node_modules/@codemirror/commands": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.3.tgz", + "integrity": "sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.6.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.12.3.tgz", + "integrity": "sha512-QwCZW6Tt1siP37Jet9Tb02Zs81TQt6qQrZR2H+eGMcFsL1zMrk2/b9CLC7/9ieP1fjIUMgviLWMmgiHoJrj+ZA==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.5.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/search": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.7.0.tgz", + "integrity": "sha512-ZvGm99wc/s2cITtMT15LFdn8aH/aS+V+DqyGq/N5ZlV5vWtH+nILvC2nw0zX7ByNoHHDZ2IxxdW38O0tc5nVHg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.37.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.6.0.tgz", + "integrity": "sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==", + "license": "MIT", + "dependencies": { + "@marijn/find-cluster-break": "^1.0.0" + } + }, + "node_modules/@codemirror/view": { + "version": "6.41.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.41.1.tgz", + "integrity": "sha512-ToDnWKbBnke+ZLrP6vgTTDScGi5H37YYuZGniQaBzxMVdtCxMrslsmtnOvbPZk4RX9bvkQqnWR/WS/35tJA0qg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.6.0", + "crelt": "^1.0.6", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", + "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", + "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.1.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz", + "integrity": "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lezer/common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.2.tgz", + "integrity": "sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==", + "license": "MIT" + }, + "node_modules/@lezer/highlight": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz", + "integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.3.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.10.tgz", + "integrity": "sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@marijn/find-cluster-break": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", + "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==", + "license": "MIT" + }, + "node_modules/@mermaid-js/parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.0.1.tgz", + "integrity": "sha512-opmV19kN1JsK0T6HhhokHpcVkqKpF+x2pPDKKM2ThHtZAB5F4PROopk0amuVYK5qMrIA4erzpNm8gmPNJgMDxQ==", + "license": "MIT", + "dependencies": { + "langium": "^4.0.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.2.tgz", + "integrity": "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.122.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz", + "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@primer/octicons-react": { + "version": "19.28.0", + "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-19.28.0.tgz", + "integrity": "sha512-Xe3ZS/NtxRK/QXMlqh6Xn49nM4153VXgPQcwyIx6r2McZKkrAhP7xPe7yLhfx3X34rnxj6yimCnX7kswV30Vqw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.3" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz", + "integrity": "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz", + "integrity": "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz", + "integrity": "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz", + "integrity": "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz", + "integrity": "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz", + "integrity": "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz", + "integrity": "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz", + "integrity": "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz", + "integrity": "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz", + "integrity": "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz", + "integrity": "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz", + "integrity": "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz", + "integrity": "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz", + "integrity": "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz", + "integrity": "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz", + "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz", + "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz", + "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz", + "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.0.2.tgz", + "integrity": "sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz", + "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz", + "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@streamdown/math": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@streamdown/math/-/math-1.0.2.tgz", + "integrity": "sha512-r8Ur9/lBuFnzZAFdEWrLUF2s/gRwRRRwruqltdZibyjbCBnuW7SJbFm26nXqvpJPW/gzpBUMrBVBzd88z05D5g==", + "license": "Apache-2.0", + "dependencies": { + "katex": "^0.16.27", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-x64": "4.2.2", + "@tailwindcss/oxide-freebsd-x64": "4.2.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz", + "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.2.2", + "@tailwindcss/oxide": "4.2.2", + "tailwindcss": "4.2.2" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.10.1.tgz", + "integrity": "sha512-hKL/jWf293UDSUN09rR69hrToyIXBb8CjGaWC7gfinvnQrBVvnLr08FeFi38gxtugAVyVcTa5/FD/Xnkb1siBw==", + "license": "Apache-2.0 OR MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.10.1.tgz", + "integrity": "sha512-jQNGF/5quwORdZSSLtTluyKQ+o6SMa/AUICfhf4egCGFdMHqWssApVgYSbg+jmrZoc8e1DscNvjTnXtlHLS11g==", + "dev": true, + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.10.1", + "@tauri-apps/cli-darwin-x64": "2.10.1", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.10.1", + "@tauri-apps/cli-linux-arm64-gnu": "2.10.1", + "@tauri-apps/cli-linux-arm64-musl": "2.10.1", + "@tauri-apps/cli-linux-riscv64-gnu": "2.10.1", + "@tauri-apps/cli-linux-x64-gnu": "2.10.1", + "@tauri-apps/cli-linux-x64-musl": "2.10.1", + "@tauri-apps/cli-win32-arm64-msvc": "2.10.1", + "@tauri-apps/cli-win32-ia32-msvc": "2.10.1", + "@tauri-apps/cli-win32-x64-msvc": "2.10.1" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.10.1.tgz", + "integrity": "sha512-Z2OjCXiZ+fbYZy7PmP3WRnOpM9+Fy+oonKDEmUE6MwN4IGaYqgceTjwHucc/kEEYZos5GICve35f7ZiizgqEnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.10.1.tgz", + "integrity": "sha512-V/irQVvjPMGOTQqNj55PnQPVuH4VJP8vZCN7ajnj+ZS8Kom1tEM2hR3qbbIRoS3dBKs5mbG8yg1WC+97dq17Pw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.10.1.tgz", + "integrity": "sha512-Hyzwsb4VnCWKGfTw+wSt15Z2pLw2f0JdFBfq2vHBOBhvg7oi6uhKiF87hmbXOBXUZaGkyRDkCHsdzJcIfoJC2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.10.1.tgz", + "integrity": "sha512-OyOYs2t5GkBIvyWjA1+h4CZxTcdz1OZPCWAPz5DYEfB0cnWHERTnQ/SLayQzncrT0kwRoSfSz9KxenkyJoTelA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.10.1.tgz", + "integrity": "sha512-MIj78PDDGjkg3NqGptDOGgfXks7SYJwhiMh8SBoZS+vfdz7yP5jN18bNaLnDhsVIPARcAhE1TlsZe/8Yxo2zqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.10.1.tgz", + "integrity": "sha512-X0lvOVUg8PCVaoEtEAnpxmnkwlE1gcMDTqfhbefICKDnOTJ5Est3qL0SrWxizDackIOKBcvtpejrSiVpuJI1kw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.10.1.tgz", + "integrity": "sha512-2/12bEzsJS9fAKybxgicCDFxYD1WEI9kO+tlDwX5znWG2GwMBaiWcmhGlZ8fi+DMe9CXlcVarMTYc0L3REIRxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.10.1.tgz", + "integrity": "sha512-Y8J0ZzswPz50UcGOFuXGEMrxbjwKSPgXftx5qnkuMs2rmwQB5ssvLb6tn54wDSYxe7S6vlLob9vt0VKuNOaCIQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.10.1.tgz", + "integrity": "sha512-iSt5B86jHYAPJa/IlYw++SXtFPGnWtFJriHn7X0NFBVunF6zu9+/zOn8OgqIWSl8RgzhLGXQEEtGBdR4wzpVgg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.10.1.tgz", + "integrity": "sha512-gXyxgEzsFegmnWywYU5pEBURkcFN/Oo45EAwvZrHMh+zUSEAvO5E8TXsgPADYm31d1u7OQU3O3HsYfVBf2moHw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.10.1.tgz", + "integrity": "sha512-6Cn7YpPFwzChy0ERz6djKEmUehWrYlM+xTaNzGPgZocw3BD7OfwfWHKVWxXzdjEW2KfKkHddfdxK1XXTYqBRLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.6.0.tgz", + "integrity": "sha512-q4Uq3eY87TdcYzXACiYSPhmpBA76shgmQswGkSVio4C82Sz2W4iehe9TnKYwbq7weHiL88Yw19XZm7v28+Micg==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } + }, + "node_modules/@tauri-apps/plugin-fs": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.4.5.tgz", + "integrity": "sha512-dVxWWGE6VrOxC7/jlhyE+ON/Cc2REJlM35R3PJX3UvFw2XwYhLGQVAIyrehenDdKjotipjYEVc4YjOl3qq90fA==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } + }, + "node_modules/@tauri-apps/plugin-http": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-http/-/plugin-http-2.5.7.tgz", + "integrity": "sha512-+F2lEH/c9b0zSsOXKq+5hZNcd9F4IIKCK1T17RqMwpCmVnx2aoqY8yIBccCd25HTYUb3j6NPVbRax/m00hKG8A==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.10.1" + } + }, + "node_modules/@tauri-apps/plugin-notification": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.3.3.tgz", + "integrity": "sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } + }, + "node_modules/@tauri-apps/plugin-opener": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.5.3.tgz", + "integrity": "sha512-CCcUltXMOfUEArbf3db3kCE7Ggy1ExBEBl51Ko2ODJ6GDYHRp1nSNlQm5uNCFY5k7/ufaK5Ib3Du/Zir19IYQQ==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/diff": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/diff/-/diff-7.0.2.tgz", + "integrity": "sha512-JSWRMozjFKsGlEjiiKajUjIJVKuKdE3oVy2DNtK+fUo8q82nhFZ2CPQwicAIkXrofahDXrWJ7mjelvZphMS98Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/qrcode": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.6.tgz", + "integrity": "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.2.tgz", + "integrity": "sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.57.2", + "@typescript-eslint/type-utils": "8.57.2", + "@typescript-eslint/utils": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.57.2", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.57.2.tgz", + "integrity": "sha512-30ScMRHIAD33JJQkgfGW1t8CURZtjc2JpTrq5n2HFhOefbAhb7ucc7xJwdWcrEtqUIYJ73Nybpsggii6GtAHjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.57.2", + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/typescript-estree": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.2.tgz", + "integrity": "sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.57.2", + "@typescript-eslint/types": "^8.57.2", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.2.tgz", + "integrity": "sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.2.tgz", + "integrity": "sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.57.2.tgz", + "integrity": "sha512-Co6ZCShm6kIbAM/s+oYVpKFfW7LBc6FXoPXjTRQ449PPNBY8U0KZXuevz5IFuuUj2H9ss40atTaf9dlGLzbWZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/typescript-estree": "8.57.2", + "@typescript-eslint/utils": "8.57.2", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz", + "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.2.tgz", + "integrity": "sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.57.2", + "@typescript-eslint/tsconfig-utils": "8.57.2", + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/visitor-keys": "8.57.2", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz", + "integrity": "sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.57.2", + "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/typescript-estree": "8.57.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.2.tgz", + "integrity": "sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.2", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@upsetjs/venn.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", + "integrity": "sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==", + "license": "MIT", + "optionalDependencies": { + "d3-selection": "^3.0.0", + "d3-transition": "^3.0.1" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.2.tgz", + "integrity": "sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.2", + "@vitest/utils": "4.1.2", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.2.tgz", + "integrity": "sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.2.tgz", + "integrity": "sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.2.tgz", + "integrity": "sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.2", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.2.tgz", + "integrity": "sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.2", + "@vitest/utils": "4.1.2", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.2.tgz", + "integrity": "sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.2.tgz", + "integrity": "sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.2", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@xterm/addon-fit": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz", + "integrity": "sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==", + "license": "MIT" + }, + "node_modules/@xterm/addon-serialize": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0.tgz", + "integrity": "sha512-uteyTU1EkrQa2Ux6P/uFl2fzmXI46jy5uoQMKEOM0fKTyiW7cSn0WrFenHm5vO5uEXX/GpwW/FgILvv3r0WbkA==", + "license": "MIT" + }, + "node_modules/@xterm/addon-web-links": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-web-links/-/addon-web-links-0.12.0.tgz", + "integrity": "sha512-4Smom3RPyVp7ZMYOYDoC/9eGJJJqYhnPLGGqJ6wOBfB8VxPViJNSKdgRYb8NpaM6YSelEKbA2SStD7lGyqaobw==", + "license": "MIT" + }, + "node_modules/@xterm/xterm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.0.0.tgz", + "integrity": "sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==", + "license": "MIT", + "workspaces": [ + "addons/*" + ] + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.7", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.7.tgz", + "integrity": "sha512-1ghYO3HnxGec0TCGBXiDLVns4eCSx4zJpxnHrlqFQajmhfKMQBzUGDdkMK7fUW7PTHTeLf+j87aTuKuuwWzMGw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001778", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001778.tgz", + "integrity": "sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chevrotain": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.1.2.tgz", + "integrity": "sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.1.2", + "@chevrotain/gast": "11.1.2", + "@chevrotain/regexp-to-ast": "11.1.2", + "@chevrotain/types": "11.1.2", + "@chevrotain/utils": "11.1.2", + "lodash-es": "4.17.23" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chroma-js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-3.2.0.tgz", + "integrity": "sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==", + "dev": true, + "license": "(BSD-3-Clause AND Apache-2.0)" + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", + "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz", + "integrity": "sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==", + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-rename-keys": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/deep-rename-keys/-/deep-rename-keys-0.2.1.tgz", + "integrity": "sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2", + "rename-keys": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delaunator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/dompurify": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.313", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", + "integrity": "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.1.tgz", + "integrity": "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/framer-motion": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz", + "integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", + "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "license": "MIT", + "dependencies": { + "void-elements": "3.1.0" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/i18next": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.0.1.tgz", + "integrity": "sha512-vtz5sXU4+nkCm8yEU+JJ6yYIx0mkg9e68W0G0PXpnOsmzLajNsW5o28DJMqbajxfsfq0gV3XdrBudsDQnwxfsQ==", + "funding": [ + { + "type": "individual", + "url": "https://www.locize.com/i18next" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + }, + { + "type": "individual", + "url": "https://www.locize.com" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2" + }, + "peerDependencies": { + "typescript": "^5 || ^6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.1.tgz", + "integrity": "sha512-bZg8+4bdmaOiApD7N7BPT9W8MLZG+nPTOFlLiJiT8uzKXFjhxw4v2ierCXOwB5sFDMtuA5G4kgYZ0AznZxQ/cw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "29.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.0.1.tgz", + "integrity": "sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.0.1", + "@asamuzakjp/dom-selector": "^7.0.3", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.24.5", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/katex": { + "version": "0.16.38", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.38.tgz", + "integrity": "sha512-cjHooZUmIAUmDsHBN+1n8LaZdpmbj03LtYeYPyuYB7OuloiaeaV6N4LcfjcnHVzGWjVQmKrxxTrpDcmSzEZQwQ==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/langium": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-4.2.1.tgz", + "integrity": "sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==", + "license": "MIT", + "dependencies": { + "chevrotain": "~11.1.1", + "chevrotain-allstar": "~0.3.1", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.1.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.7.0.tgz", + "integrity": "sha512-yI7BeItCLZJTXikmK4KNUGCKoGzSvbKlfCvw44bU4fXAL6v3gYS4uHD1jzsLkfwODYwI6Drw5Tu9Z5ulDe0TSg==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.4.tgz", + "integrity": "sha512-NOmVMM+KAokHMvjWmC5N/ZOvgmSWuqJB8FoYI019j4ogb/PeRMKoKIjReZ2w3376kkA8dSJIP8uD993Kxc0iRQ==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/material-icon-theme": { + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/material-icon-theme/-/material-icon-theme-5.32.0.tgz", + "integrity": "sha512-SxJxCcnk6cJIbd+AxmoeghXJ24joXGmUzjiGci16sX4mXZdXprGEzM6ZZ0VHGAofxNlMqznEbExINwFLsxf8eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chroma-js": "^3.1.2", + "events": "^3.3.0", + "fast-deep-equal": "^3.1.3", + "svgson": "^5.3.1" + }, + "engines": { + "vscode": "^1.55.0" + }, + "funding": { + "url": "https://github.com/sponsors/material-extensions" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/mermaid": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.13.0.tgz", + "integrity": "sha512-fEnci+Immw6lKMFI8sqzjlATTyjLkRa6axrEgLV2yHTfv8r+h1wjFbV6xeRtd4rUV1cS4EpR9rwp3Rci7TRWDw==", + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.2", + "@mermaid-js/parser": "^1.0.1", + "@types/d3": "^7.4.3", + "@upsetjs/venn.js": "^2.0.0", + "cytoscape": "^3.33.1", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.14", + "dayjs": "^1.11.19", + "dompurify": "^3.3.1", + "katex": "^0.16.25", + "khroma": "^2.1.0", + "lodash-es": "^4.17.23", + "marked": "^16.3.0", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/mermaid/node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mlly": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", + "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==", + "license": "MIT", + "dependencies": { + "acorn": "^8.16.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.3" + } + }, + "node_modules/motion": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.38.0.tgz", + "integrity": "sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.38.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion-dom": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz", + "integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.36.0" + } + }, + "node_modules/motion-utils": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-i18next": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-17.0.1.tgz", + "integrity": "sha512-iG65FGnFHcYyHNuT01ukffYWCOBFTWSdVD8EZd/dCVWgtjFPObcSsvYYNwcsokO/rDcTb5d6D8Acv8MrOdm6Hw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "html-parse-stringify": "^3.0.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "i18next": ">= 26.0.1", + "react": ">= 16.8.0", + "typescript": "^5 || ^6" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype-harden": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/rehype-harden/-/rehype-harden-1.1.8.tgz", + "integrity": "sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw==", + "license": "MIT", + "dependencies": { + "unist-util-visit": "^5.0.0" + } + }, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-sanitize": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz", + "integrity": "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-sanitize": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remend": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/remend/-/remend-1.3.0.tgz", + "integrity": "sha512-iIhggPkhW3hFImKtB10w0dz4EZbs28mV/dmbcYVonWEJ6UGHHpP+bFZnTh6GNWJONg5m+U56JrL+8IxZRdgWjw==", + "license": "Apache-2.0" + }, + "node_modules/rename-keys": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rename-keys/-/rename-keys-1.2.0.tgz", + "integrity": "sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", + "license": "Unlicense" + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz", + "integrity": "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.122.0", + "@rolldown/pluginutils": "1.0.0-rc.12" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.12", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.12", + "@rolldown/binding-darwin-x64": "1.0.0-rc.12", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.12", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.12", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.12", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.12", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz", + "integrity": "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz", + "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.0.2", + "@shikijs/engine-javascript": "4.0.2", + "@shikijs/engine-oniguruma": "4.0.2", + "@shikijs/langs": "4.0.2", + "@shikijs/themes": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/streamdown": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/streamdown/-/streamdown-2.5.0.tgz", + "integrity": "sha512-/tTnURfIOxZK/pqJAxsfCvETG/XCJHoWnk3jq9xLcuz6CSpnjjuxSRBTTL4PKGhxiZQf0lqPxGhImdpwcZ2XwA==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1", + "hast-util-to-jsx-runtime": "^2.3.6", + "html-url-attributes": "^3.0.1", + "marked": "^17.0.1", + "mermaid": "^11.12.2", + "rehype-harden": "^1.1.8", + "rehype-raw": "^7.0.0", + "rehype-sanitize": "^6.0.0", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remend": "1.3.0", + "tailwind-merge": "^3.4.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-mod": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz", + "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==", + "license": "MIT" + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgson": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/svgson/-/svgson-5.3.1.tgz", + "integrity": "sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-rename-keys": "^0.2.1", + "xml-reader": "2.4.3" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwind-merge": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", + "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.25", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.25.tgz", + "integrity": "sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.25" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.25", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.25.tgz", + "integrity": "sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.57.2.tgz", + "integrity": "sha512-VEPQ0iPgWO/sBaZOU1xo4nuNdODVOajPnTIbog2GKYr31nIlZ0fWPoCQgGfF3ETyBl1vn63F/p50Um9Z4J8O8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.57.2", + "@typescript-eslint/parser": "8.57.2", + "@typescript-eslint/typescript-estree": "8.57.2", + "@typescript-eslint/utils": "8.57.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.6.tgz", + "integrity": "sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz", + "integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.12", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.2.tgz", + "integrity": "sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.2", + "@vitest/mocker": "4.1.2", + "@vitest/pretty-format": "4.1.2", + "@vitest/runner": "4.1.2", + "@vitest/snapshot": "4.1.2", + "@vitest/spy": "4.1.2", + "@vitest/utils": "4.1.2", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.2", + "@vitest/browser-preview": "4.1.2", + "@vitest/browser-webdriverio": "4.1.2", + "@vitest/ui": "4.1.2", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "license": "MIT" + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "license": "MIT" + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-lexer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xml-lexer/-/xml-lexer-0.2.2.tgz", + "integrity": "sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^2.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xml-reader": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/xml-reader/-/xml-reader-2.4.3.tgz", + "integrity": "sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^2.0.0", + "xml-lexer": "^0.2.2" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f49612b --- /dev/null +++ b/package.json @@ -0,0 +1,127 @@ +{ + "name": "piagentui", + "version": "0.6.10", + "description": "Professional AI Agent Desktop & Web UI — sessions, MCP tools, skills browser, voice input, terminal, file explorer, and Tauri desktop app. Works with Pi Agent, Claude Code, Codex, OpenCode, Cursor, and any SSE-compatible agent.", + "homepage": "https://github.com/lehhair/OpenCodeUI", + "repository": { + "type": "git", + "url": "https://github.com/lehhair/OpenCodeUI.git" + }, + "license": "GPL-3.0-only", + "type": "module", + "scripts": { + "dev": "vite", + "typecheck": "tsc -b", + "typecheck:extensions": "tsc -p tsconfig.extension.json --noEmit", + "type-check": "npm run typecheck", + "build": "tsc -b && vite build", + "icons:tauri": "tauri icon src-tauri/app-icon.manifest.json -o src-tauri/icons", + "lint": "eslint .", + "format": "prettier . --write", + "format:check": "prettier . --check", + "test": "vitest", + "test:run": "vitest run", + "validate": "npm run typecheck && npm run typecheck:extensions && npm run lint && npm run test:run && npm run build", + "release:prepare": "node scripts/prepare-release.mjs", + "check": "npm run format:check && npm run lint && npm run test:run && npm run build", + "preview": "vite preview", + "tauri": "tauri", + "postinstall": "node scripts/copy-material-icons.mjs" + }, + "dependencies": { + "@codemirror/commands": "^6.10.3", + "@codemirror/search": "^6.7.0", + "@codemirror/state": "^6.6.0", + "@codemirror/view": "^6.41.1", + "@primer/octicons-react": "^19.28.0", + "@streamdown/math": "^1.0.2", + "@tauri-apps/api": "^2.10.1", + "@tauri-apps/plugin-dialog": "^2.6.0", + "@tauri-apps/plugin-fs": "^2.4.5", + "@tauri-apps/plugin-http": "^2.5.7", + "@tauri-apps/plugin-notification": "^2.3.3", + "@tauri-apps/plugin-opener": "^2.5.3", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-serialize": "^0.14.0", + "@xterm/addon-web-links": "^0.12.0", + "@xterm/xterm": "^6.0.0", + "clsx": "^2.1.1", + "diff": "^8.0.4", + "i18next": "^26.0.1", + "i18next-browser-languagedetector": "^8.2.1", + "lucide-react": "^1.7.0", + "motion": "^12.38.0", + "qrcode": "^1.5.4", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-i18next": "^17.0.1", + "shiki": "^4.0.2", + "streamdown": "^2.5.0", + "ws": "^8.21.0" + }, + "devDependencies": { + "@eslint/js": "^9.39.4", + "@tailwindcss/vite": "^4.2.2", + "@tauri-apps/cli": "^2.10.0", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.0", + "@types/diff": "^7.0.2", + "@types/node": "^25.5.0", + "@types/qrcode": "^1.5.6", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@types/ws": "^8.18.1", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^9.39.4", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "jsdom": "^29.0.1", + "material-icon-theme": "^5.32.0", + "prettier": "^3.6.2", + "tailwindcss": "^4.2.2", + "typescript": "~5.9.3", + "typescript-eslint": "^8.57.2", + "vite": "^8.0.3", + "vitest": "^4.1.2" + }, + "pi": { + "extensions": [ + "./extensions/piagentui-server.ts" + ] + }, + "keywords": [ + "pi-package", + "pi-agent", + "pi-extension", + "agent-ui", + "chat-ui", + "mcp", + "voice-input", + "ai-agent-interface", + "coding-copilot", + "desktop-agent", + "tauri-app", + "claude-code-ui", + "codex-ui", + "opencode-ui", + "cursor-ui", + "copilot-ui", + "mcp-client", + "agent-workspace", + "session-manager", + "ai-chat-desktop" + ], + "files": [ + "dist", + "extensions", + "README.md", + "README.pt-BR.md", + "README.es.md", + "README.ja.md", + "README_EN.md", + "docs/superpowers/specs", + "package.json" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..3825063 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6239 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@codemirror/commands': + specifier: ^6.10.3 + version: 6.10.3 + '@codemirror/search': + specifier: ^6.7.0 + version: 6.7.0 + '@codemirror/state': + specifier: ^6.6.0 + version: 6.6.0 + '@codemirror/view': + specifier: ^6.41.1 + version: 6.43.0 + '@streamdown/math': + specifier: ^1.0.2 + version: 1.0.2(react@19.2.6) + '@tauri-apps/api': + specifier: ^2.10.1 + version: 2.11.0 + '@tauri-apps/plugin-dialog': + specifier: ^2.6.0 + version: 2.7.1 + '@tauri-apps/plugin-fs': + specifier: ^2.4.5 + version: 2.5.1 + '@tauri-apps/plugin-http': + specifier: ^2.5.7 + version: 2.5.9 + '@tauri-apps/plugin-notification': + specifier: ^2.3.3 + version: 2.3.3 + '@tauri-apps/plugin-opener': + specifier: ^2.5.3 + version: 2.5.4 + '@xterm/addon-fit': + specifier: ^0.11.0 + version: 0.11.0 + '@xterm/addon-serialize': + specifier: ^0.14.0 + version: 0.14.0 + '@xterm/addon-web-links': + specifier: ^0.12.0 + version: 0.12.0 + '@xterm/xterm': + specifier: ^6.0.0 + version: 6.0.0 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + diff: + specifier: ^8.0.4 + version: 8.0.4 + i18next: + specifier: ^26.0.1 + version: 26.3.0(typescript@5.9.3) + i18next-browser-languagedetector: + specifier: ^8.2.1 + version: 8.2.1 + lucide-react: + specifier: ^1.7.0 + version: 1.17.0(react@19.2.6) + motion: + specifier: ^12.38.0 + version: 12.40.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: + specifier: ^19.2.0 + version: 19.2.6 + react-dom: + specifier: ^19.2.0 + version: 19.2.6(react@19.2.6) + react-i18next: + specifier: ^17.0.1 + version: 17.0.8(i18next@26.3.0(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3) + shiki: + specifier: ^4.0.2 + version: 4.1.0 + streamdown: + specifier: ^2.5.0 + version: 2.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + ws: + specifier: ^8.21.0 + version: 8.21.0 + devDependencies: + '@eslint/js': + specifier: ^9.39.4 + version: 9.39.4 + '@tailwindcss/vite': + specifier: ^4.2.2 + version: 4.3.0(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)) + '@tauri-apps/cli': + specifier: ^2.10.0 + version: 2.11.2 + '@testing-library/jest-dom': + specifier: ^6.9.1 + version: 6.9.1 + '@testing-library/react': + specifier: ^16.3.0 + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@types/diff': + specifier: ^7.0.2 + version: 7.0.2 + '@types/node': + specifier: ^25.5.0 + version: 25.9.1 + '@types/react': + specifier: ^19.2.5 + version: 19.2.15 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.15) + '@types/ws': + specifier: ^8.18.1 + version: 8.18.1 + '@vitejs/plugin-react': + specifier: ^6.0.1 + version: 6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)) + eslint: + specifier: ^9.39.4 + version: 9.39.4(jiti@2.7.0) + eslint-config-prettier: + specifier: ^10.1.8 + version: 10.1.8(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-react-hooks: + specifier: ^7.0.1 + version: 7.1.1(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-react-refresh: + specifier: ^0.5.2 + version: 0.5.2(eslint@9.39.4(jiti@2.7.0)) + globals: + specifier: ^17.4.0 + version: 17.6.0 + jsdom: + specifier: ^29.0.1 + version: 29.1.1 + material-icon-theme: + specifier: ^5.32.0 + version: 5.35.0 + prettier: + specifier: ^3.6.2 + version: 3.8.3 + tailwindcss: + specifier: ^4.2.2 + version: 4.3.0 + typescript: + specifier: ~5.9.3 + version: 5.9.3 + typescript-eslint: + specifier: ^8.57.2 + version: 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + vite: + specifier: ^8.0.3 + version: 8.0.14(@types/node@25.9.1)(jiti@2.7.0) + vitest: + specifier: ^4.1.2 + version: 4.1.7(@types/node@25.9.1)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)) + +packages: + + '@adobe/css-tools@4.5.0': + resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@asamuzakjp/css-color@5.1.11': + resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/dom-selector@7.1.1': + resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/generational-cache@1.0.1': + resolution: {integrity: sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/nwsapi@2.3.9': + resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + + '@bramus/specificity@2.4.2': + resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + hasBin: true + + '@chevrotain/types@11.1.2': + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + + '@codemirror/commands@6.10.3': + resolution: {integrity: sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==} + + '@codemirror/language@6.12.3': + resolution: {integrity: sha512-QwCZW6Tt1siP37Jet9Tb02Zs81TQt6qQrZR2H+eGMcFsL1zMrk2/b9CLC7/9ieP1fjIUMgviLWMmgiHoJrj+ZA==} + + '@codemirror/search@6.7.0': + resolution: {integrity: sha512-ZvGm99wc/s2cITtMT15LFdn8aH/aS+V+DqyGq/N5ZlV5vWtH+nILvC2nw0zX7ByNoHHDZ2IxxdW38O0tc5nVHg==} + + '@codemirror/state@6.6.0': + resolution: {integrity: sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==} + + '@codemirror/view@6.43.0': + resolution: {integrity: sha512-V7ZCLQO3Jus9hzh2jVCCPW3mO4IBMr43O37PqSUYautJSnnJF41YlgLw21x0fLJTYvJ+Vkm6Gp+qKGH9pltgXA==} + + '@csstools/color-helpers@6.0.2': + resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} + engines: {node: '>=20.19.0'} + + '@csstools/css-calc@3.2.1': + resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 + + '@csstools/css-color-parser@4.1.1': + resolution: {integrity: sha512-eZ5XOtyhK+mggRafYUWzA0tvaYOFgdY8AkgQiCJF9qNAePnUo/zmsqqYubBBb3sQ8uNUaSKTY9s9klfRaAXL0g==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 + + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-tokenizer': ^4.0.0 + + '@csstools/css-syntax-patches-for-csstree@1.1.4': + resolution: {integrity: sha512-wgsqt92b7C7tQhIdPNxj0n9zuUbQlvAuI1exyzeNrOKOi62SD7ren8zqszmpVREjAOqg8cD2FqYhQfAuKjk4sw==} + peerDependencies: + css-tree: ^3.2.1 + peerDependenciesMeta: + css-tree: + optional: true + + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.2': + resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.5': + resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.4': + resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@noble/hashes': ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + '@noble/hashes': + optional: true + + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.3': + resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@lezer/common@1.5.2': + resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} + + '@lezer/highlight@1.2.3': + resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} + + '@lezer/lr@1.4.10': + resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} + + '@marijn/find-cluster-break@1.0.2': + resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + + '@mermaid-js/parser@1.1.1': + resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==} + + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@oxc-project/types@0.132.0': + resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==} + + '@rolldown/binding-android-arm64@1.0.2': + resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.2': + resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.2': + resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.2': + resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.2': + resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.0.2': + resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.0.2': + resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.0.2': + resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.0.2': + resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.0.2': + resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.2': + resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.2': + resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.2': + resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@shikijs/core@4.1.0': + resolution: {integrity: sha512-jLJtSJeuFffqX6/inRE1zqU5aFv2hrszvYgq3OjbAgFRZiWv7abKMDdQzYxuSDfmUPQozZvI/kuy6VMTvnvqTQ==} + engines: {node: '>=20'} + + '@shikijs/engine-javascript@4.1.0': + resolution: {integrity: sha512-YquhawCUgaBfhsS72e2Y/dI59gCBNPHu3fEO/tvLaXrTssxZrY5ddjtNLTwndrMgPo8b3IscE+xoICDzpTmlFQ==} + engines: {node: '>=20'} + + '@shikijs/engine-oniguruma@4.1.0': + resolution: {integrity: sha512-axLpjVs45YBvvINa+dJF+NPW+KtFkNXsFr4SDw2BMj9GdeMnGxVB9PQb2xXlJYovslt/nz6giedAyOANkfc7hg==} + engines: {node: '>=20'} + + '@shikijs/langs@4.1.0': + resolution: {integrity: sha512-nwOMruEkbgdZfQ/b8CgpNBVOpvG1k0N5tbmgiFeqsan401+x3ILqlzZJowSla4Agmq4hG2Uf2wh5jLTEhR8VSg==} + engines: {node: '>=20'} + + '@shikijs/primitive@4.1.0': + resolution: {integrity: sha512-zx2/2Uwj2q9X3KSyYREEhXO23xBw5WUhP4orK2lE4r+t9JGITmEe0JH+wPmJhqHpOT2bRRs6lAL945+LDvOAGw==} + engines: {node: '>=20'} + + '@shikijs/themes@4.1.0': + resolution: {integrity: sha512-emCcTnUM7yO2wltYbaxm+yLvcCI4+h8XBKc4KmJ7EZUXoSGjcCHifkI//R4OFit9ewpg7H2/9tjOuXrT2v/Knw==} + engines: {node: '>=20'} + + '@shikijs/types@4.1.0': + resolution: {integrity: sha512-3EQWX54fMpniOrDblzAhiwiJwpiTMW6+B9DWyUd9ska483tbayFYuw47UxwuPknI31bKnySfVQ/QW+jFL4rFdA==} + engines: {node: '>=20'} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@streamdown/math@1.0.2': + resolution: {integrity: sha512-r8Ur9/lBuFnzZAFdEWrLUF2s/gRwRRRwruqltdZibyjbCBnuW7SJbFm26nXqvpJPW/gzpBUMrBVBzd88z05D5g==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + '@tailwindcss/node@4.3.0': + resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + + '@tailwindcss/oxide-android-arm64@4.3.0': + resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.0': + resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.0': + resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.3.0': + resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + + '@tauri-apps/api@2.11.0': + resolution: {integrity: sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA==} + + '@tauri-apps/cli-darwin-arm64@2.11.2': + resolution: {integrity: sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.11.2': + resolution: {integrity: sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.2': + resolution: {integrity: sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.11.2': + resolution: {integrity: sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-arm64-musl@2.11.2': + resolution: {integrity: sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.2': + resolution: {integrity: sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-gnu@2.11.2': + resolution: {integrity: sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-musl@2.11.2': + resolution: {integrity: sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-win32-arm64-msvc@2.11.2': + resolution: {integrity: sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.11.2': + resolution: {integrity: sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.11.2': + resolution: {integrity: sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.11.2': + resolution: {integrity: sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw==} + engines: {node: '>= 10'} + hasBin: true + + '@tauri-apps/plugin-dialog@2.7.1': + resolution: {integrity: sha512-OK1UBXYt+ojcmxMktzzuyonYIFta8CmAASpX+CA+DTGK24KlHjhYI6x2iOJ/TjZF4N7/ACK1oFmEOjIY9IhzOQ==} + + '@tauri-apps/plugin-fs@2.5.1': + resolution: {integrity: sha512-9Lz+Jopp6QyeEWhlpkMx4R/+P9HgR+AVAI4vOZhlT8Xaymtz8iVI/Ov984/XTqgJz/5gz5NretqPB/XEMS3NhQ==} + + '@tauri-apps/plugin-http@2.5.9': + resolution: {integrity: sha512-lCiY0+vs4HvIUSvZrBs8TC3TiCB0MOPRmiUjTq4prW7SlcJE2jdLeT6KBsJrT9Tlplufl7W1pY6SFAO3gCWxDA==} + + '@tauri-apps/plugin-notification@2.3.3': + resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} + + '@tauri-apps/plugin-opener@2.5.4': + resolution: {integrity: sha512-1HnPkb+AmgO29HBazm4uPLKB+r7zzcTBW1d0fyYp1uP+jwtpoiNDGKMMzz58SFp49nOIrxdE3aUJtT57lfO9CQ==} + + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.9.1': + resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.3.2': + resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/diff@7.0.2': + resolution: {integrity: sha512-JSWRMozjFKsGlEjiiKajUjIJVKuKdE3oVy2DNtK+fUo8q82nhFZ2CPQwicAIkXrofahDXrWJ7mjelvZphMS98Q==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/katex@0.16.8': + resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.15': + resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@typescript-eslint/eslint-plugin@8.60.0': + resolution: {integrity: sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.60.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.60.0': + resolution: {integrity: sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.60.0': + resolution: {integrity: sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.60.0': + resolution: {integrity: sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.60.0': + resolution: {integrity: sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.60.0': + resolution: {integrity: sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.60.0': + resolution: {integrity: sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.60.0': + resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/utils@8.60.0': + resolution: {integrity: sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.60.0': + resolution: {integrity: sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + + '@vitejs/plugin-react@6.0.2': + resolution: {integrity: sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + + '@vitest/expect@4.1.7': + resolution: {integrity: sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==} + + '@vitest/mocker@4.1.7': + resolution: {integrity: sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.7': + resolution: {integrity: sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==} + + '@vitest/runner@4.1.7': + resolution: {integrity: sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==} + + '@vitest/snapshot@4.1.7': + resolution: {integrity: sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==} + + '@vitest/spy@4.1.7': + resolution: {integrity: sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==} + + '@vitest/utils@4.1.7': + resolution: {integrity: sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==} + + '@xterm/addon-fit@0.11.0': + resolution: {integrity: sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==} + + '@xterm/addon-serialize@0.14.0': + resolution: {integrity: sha512-uteyTU1EkrQa2Ux6P/uFl2fzmXI46jy5uoQMKEOM0fKTyiW7cSn0WrFenHm5vO5uEXX/GpwW/FgILvv3r0WbkA==} + + '@xterm/addon-web-links@0.12.0': + resolution: {integrity: sha512-4Smom3RPyVp7ZMYOYDoC/9eGJJJqYhnPLGGqJ6wOBfB8VxPViJNSKdgRYb8NpaM6YSelEKbA2SStD7lGyqaobw==} + + '@xterm/xterm@6.0.0': + resolution: {integrity: sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ansi-escapes@1.4.0: + resolution: {integrity: sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==} + engines: {node: '>=0.10.0'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.10.32: + resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==} + engines: {node: '>=6.0.0'} + hasBin: true + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + bidi-js@1.0.3: + resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} + + biome@0.3.3: + resolution: {integrity: sha512-4LXjrQYbn9iTXu9Y4SKT7ABzTV0WnLDHCVSd2fPUOKsy1gQ+E4xPFmlY1zcWexoi0j7fGHItlL6OWA2CZ/yYAQ==} + hasBin: true + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + brace-expansion@1.1.15: + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} + engines: {node: 18 || 20 || >=22} + + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chroma-js@3.2.0: + resolution: {integrity: sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==} + + cli-cursor@1.0.2: + resolution: {integrity: sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==} + engines: {node: '>=0.10.0'} + + cli-width@1.1.1: + resolution: {integrity: sha512-eMU2akIeEIkCxGXUNmDnJq1KzOIiPnJ+rKqRe6hcxE3vIOPvpMrBYOn/Bl7zNlYJj/zQxXquAnozHUCf9Whnsg==} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.33.4: + resolution: {integrity: sha512-HIN5Pmd9MrX9BkV7tDwnOcEJCSFvCpc8X97h3f508J6I5FsqAY65wKOCvgH2CuP42CaahWaz4tuh32SOOIH7ww==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.14: + resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + data-urls@7.0.0: + resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deep-rename-keys@0.2.1: + resolution: {integrity: sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A==} + engines: {node: '>=0.10.0'} + + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@8.0.4: + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dompurify@3.4.7: + resolution: {integrity: sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==} + + earlgrey-runtime@0.1.2: + resolution: {integrity: sha512-T4qoScXi5TwALDv8nlGTvOuCT8jXcKcxtO8qVdqv46IA2GHJfQzwoBPbkOmORnyhu3A98cVVuhWLsM2CzPljJg==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + editor@1.0.0: + resolution: {integrity: sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==} + + electron-to-chromium@1.5.364: + resolution: {integrity: sha512-G/dYE3+AYhyHwzTwg8UbnXf7zqMERYh7l2jJ3QujhFsH8agSYwtnGAR2aZ7f0AakIKJXd5En/Hre4igIUrdlYw==} + + enhanced-resolve@5.22.1: + resolution: {integrity: sha512-6QEuw3zoX1SJQc7b87aBXke/no+mG2bTBgw29gWMQonLmpEkWoCAVkl+M49e48AZlWzxiDzDZzYdp6kobcyLww==} + engines: {node: '>=10.13.0'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + entities@8.0.0: + resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} + engines: {node: '>=20.19.0'} + + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + + es-toolkit@1.47.0: + resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + + eslint-plugin-react-refresh@0.5.2: + resolution: {integrity: sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==} + peerDependencies: + eslint: ^9 || ^10 + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@9.39.4: + resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eventemitter3@2.0.3: + resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + exit-hook@1.1.1: + resolution: {integrity: sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==} + engines: {node: '>=0.10.0'} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + figures@1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + framer-motion@12.40.0: + resolution: {integrity: sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + fs-extra@0.26.7: + resolution: {integrity: sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==} + + fs-promise@0.5.0: + resolution: {integrity: sha512-Y+4F4ujhEcayCJt6JmzcOun9MYGQwz+bVUiuBmTkJImhBHKpBvmVPZR9wtfiF7k3ffwAOAuurygQe+cPLSFQhw==} + deprecated: Use mz or fs-extra^3.0 with Promise Support + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@17.6.0: + resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + + har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + + har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-sanitize@5.0.2: + resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==} + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + html-encoding-sniffer@6.0.0: + resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + html-parse-stringify@3.0.1: + resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} + + html-url-attributes@3.0.1: + resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + + i18next-browser-languagedetector@8.2.1: + resolution: {integrity: sha512-bZg8+4bdmaOiApD7N7BPT9W8MLZG+nPTOFlLiJiT8uzKXFjhxw4v2ierCXOwB5sFDMtuA5G4kgYZ0AznZxQ/cw==} + + i18next@26.3.0: + resolution: {integrity: sha512-gHSgGpUXVmuqE2El1W61DmxeyeTlFfZgdJRWMo9jScAn5pu7TuTuiccb1zh3E2J9hEBVGJ23+96x0ieBhfuIHA==} + peerDependencies: + typescript: ^5 || ^6 + peerDependenciesMeta: + typescript: + optional: true + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + + inquirer-promise@0.0.3: + resolution: {integrity: sha512-82CQX586JAV9GAgU9yXZsMDs+NorjA0nLhkfFx9+PReyOnuoHRbHrC1Z90sS95bFJI1Tm1gzMObuE0HabzkJpg==} + + inquirer@0.11.4: + resolution: {integrity: sha512-QR+2TW90jnKk9LUUtbcA3yQXKt2rDEKMh6+BAZQIeumtzHexnwVLdPakSslGijXYLJCzFv7GMXbFCn0pA00EUw==} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + jsdom@29.1.1: + resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + + kaiser@0.0.4: + resolution: {integrity: sha512-m8ju+rmBqvclZmyrOXgGGhOYSjKJK6RN1NhqEltemY87UqZOxEkizg9TOy1vQSyJ01Wx6SAPuuN0iO2Mgislvw==} + + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@3.10.1: + resolution: {integrity: sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@11.5.1: + resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lucide-react@1.17.0: + resolution: {integrity: sha512-9FA9evdox/JQL5PT57fdA1x/yg8T7knJ98+zjTL3UfKza6pflQUUh3XtaQIHKvnsJw1lmsEyHVlt5jchYxOQ5w==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + + marked@17.0.6: + resolution: {integrity: sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==} + engines: {node: '>= 20'} + hasBin: true + + material-icon-theme@5.35.0: + resolution: {integrity: sha512-ptU3rjmZjPCeLRog0HcJ1HtnoVgOslc350WHk1oIvX7fVFE4NBAF7GL3QvCCEjtd1TSSDoxmS4dWsv6bTB1x9g==} + engines: {vscode: ^1.55.0} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + + mermaid@11.15.0: + resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-math@3.1.0: + resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + motion-dom@12.40.0: + resolution: {integrity: sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==} + + motion-utils@12.39.0: + resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==} + + motion@12.40.0: + resolution: {integrity: sha512-yjrHUrBFW6kQvjJwRsoiPSAhC5tRwRqNGJWmiJ4CrGnbKp0V88AdzkhBmDoqIsIPfarOe0Uddd37Xq43/gIocA==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stream@0.0.5: + resolution: {integrity: sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-releases@2.0.46: + resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==} + engines: {node: '>=18'} + + number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + + oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@1.1.0: + resolution: {integrity: sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==} + engines: {node: '>=0.10.0'} + + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} + + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} + + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + + postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.5.5: + resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==} + engines: {node: '>=0.6'} + + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + peerDependencies: + react: ^19.2.6 + + react-i18next@17.0.8: + resolution: {integrity: sha512-0ooKbGLU8JXhe1zwpQUWIeXSgLPOfwJmgheWRIUpcoA0CpyabpGhayjdG+/eA5esC1AQ8h2jWpXjJfzQzeDOCw==} + peerDependencies: + i18next: '>= 26.2.0' + react: '>= 16.8.0' + react-dom: '*' + react-native: '*' + typescript: ^5 || ^6 + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + typescript: + optional: true + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + engines: {node: '>=0.10.0'} + + readline2@1.0.1: + resolution: {integrity: sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + regenerator-runtime@0.9.6: + resolution: {integrity: sha512-D0Y/JJ4VhusyMOd/o25a3jdUqN/bC85EFsaoL9Oqmy/O4efCh+xhp7yj2EEOsj974qvMkcW8AwUzJ1jB/MbxCw==} + + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + + rehype-harden@1.1.8: + resolution: {integrity: sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw==} + + rehype-katex@7.0.1: + resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-sanitize@6.0.0: + resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remend@1.3.0: + resolution: {integrity: sha512-iIhggPkhW3hFImKtB10w0dz4EZbs28mV/dmbcYVonWEJ6UGHHpP+bFZnTh6GNWJONg5m+U56JrL+8IxZRdgWjw==} + + rename-keys@1.2.0: + resolution: {integrity: sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==} + engines: {node: '>= 0.8.0'} + + request-promise@3.0.0: + resolution: {integrity: sha512-wVGUX+BoKxYsavTA72i6qHcyLbjzM4LR4y/AmDCqlbuMAursZdDWO7PmgbGAUvD2SeEJ5iB99VSq/U51i/DNbw==} + engines: {node: '>=0.10.0'} + deprecated: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 + + request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + restore-cursor@1.0.1: + resolution: {integrity: sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==} + engines: {node: '>=0.10.0'} + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + + rolldown@1.0.2: + resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + run-async@0.1.0: + resolution: {integrity: sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + rx-lite@3.1.2: + resolution: {integrity: sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.1: + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@4.1.0: + resolution: {integrity: sha512-l/ABZPUR5v70jI10EzqfMS/I96vjSGv2y0ihUV+WYFzv0EfvW4s54m0Lg8wCrrL+2IkwBzFTuxkZjPf8b2NX9Q==} + engines: {node: '>=20'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + + streamdown@2.5.0: + resolution: {integrity: sha512-/tTnURfIOxZK/pqJAxsfCvETG/XCJHoWnk3jq9xLcuz6CSpnjjuxSRBTTL4PKGhxiZQf0lqPxGhImdpwcZ2XwA==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-mod@4.1.3: + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + svgson@5.3.1: + resolution: {integrity: sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tailwind-merge@3.6.0: + resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} + + tailwindcss@4.3.0: + resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@1.2.2: + resolution: {integrity: sha512-M/Q0B2cp4K7kynaT/vnED1j8TlLY+Pp7C6Wl2bl/7u/F0mUVwdyOpwomQb8JpYLitHUssAJRmLZdMCGsrx7i+g==} + engines: {node: '>=18'} + + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} + + tldts-core@7.4.1: + resolution: {integrity: sha512-sc2nGvGbixlJRHwTh/qQdPXTxJU1UDJboGPQm4d/01YUJ9r/u6aeIulQvEaxUlvKDN7hb1qCLjax+jhVAPLa/g==} + + tldts@7.4.0: + resolution: {integrity: sha512-yHBe+zVfzNZ3QfTPW/Z6KK1G2t340gFjMHqI/4KKSt/abzYydzuCnpqdaF5gCCABby+9Yfbj59oR5F2Fd5CBzg==} + hasBin: true + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + tough-cookie@6.0.1: + resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} + engines: {node: '>=16'} + + tr46@6.0.0: + resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} + engines: {node: '>=20'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typescript-eslint@8.60.0: + resolution: {integrity: sha512-9f65qWLZdAW9m1JaxBDUHcqRUfL8bkxxXL7XxEfI+F09q56PkBvIfCjLF3yInsDM/BBmwkqmCQdCZe/RYlIWEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + + undici@7.26.0: + resolution: {integrity: sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==} + engines: {node: '>=20.18.1'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + untildify@3.0.3: + resolution: {integrity: sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==} + engines: {node: '>=4'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + user-home@2.0.0: + resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} + engines: {node: '>=0.10.0'} + + uuid@14.0.0: + resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} + hasBin: true + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@8.0.14: + resolution: {integrity: sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.1.7: + resolution: {integrity: sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.7 + '@vitest/browser-preview': 4.1.7 + '@vitest/browser-webdriverio': 4.1.7 + '@vitest/coverage-istanbul': 4.1.7 + '@vitest/coverage-v8': 4.1.7 + '@vitest/ui': 4.1.7 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@8.0.1: + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} + engines: {node: '>=20'} + + whatwg-mimetype@5.0.0: + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} + + whatwg-url@16.0.1: + resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-lexer@0.2.2: + resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==} + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xml-reader@2.4.3: + resolution: {integrity: sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@adobe/css-tools@4.5.0': {} + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.2.2 + + '@asamuzakjp/css-color@5.1.11': + dependencies: + '@asamuzakjp/generational-cache': 1.0.1 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@asamuzakjp/dom-selector@7.1.1': + dependencies: + '@asamuzakjp/generational-cache': 1.0.1 + '@asamuzakjp/nwsapi': 2.3.9 + bidi-js: 1.0.3 + css-tree: 3.2.1 + is-potential-custom-element-name: 1.0.1 + + '@asamuzakjp/generational-cache@1.0.1': {} + + '@asamuzakjp/nwsapi@2.3.9': {} + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@braintree/sanitize-url@7.1.2': {} + + '@bramus/specificity@2.4.2': + dependencies: + css-tree: 3.2.1 + + '@chevrotain/types@11.1.2': {} + + '@codemirror/commands@6.10.3': + dependencies: + '@codemirror/language': 6.12.3 + '@codemirror/state': 6.6.0 + '@codemirror/view': 6.43.0 + '@lezer/common': 1.5.2 + + '@codemirror/language@6.12.3': + dependencies: + '@codemirror/state': 6.6.0 + '@codemirror/view': 6.43.0 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + style-mod: 4.1.3 + + '@codemirror/search@6.7.0': + dependencies: + '@codemirror/state': 6.6.0 + '@codemirror/view': 6.43.0 + crelt: 1.0.6 + + '@codemirror/state@6.6.0': + dependencies: + '@marijn/find-cluster-break': 1.0.2 + + '@codemirror/view@6.43.0': + dependencies: + '@codemirror/state': 6.6.0 + crelt: 1.0.6 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 + + '@csstools/color-helpers@6.0.2': {} + + '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-color-parser@4.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/color-helpers': 6.0.2 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-syntax-patches-for-csstree@1.1.4(css-tree@3.2.1)': + optionalDependencies: + css-tree: 3.2.1 + + '@csstools/css-tokenizer@4.0.0': {} + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))': + dependencies: + eslint: 9.39.4(jiti@2.7.0) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.2': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.5 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.5': + dependencies: + ajv: 6.15.0 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.5 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.4': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@exodus/bytes@1.15.1': {} + + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.3': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lezer/common@1.5.2': {} + + '@lezer/highlight@1.2.3': + dependencies: + '@lezer/common': 1.5.2 + + '@lezer/lr@1.4.10': + dependencies: + '@lezer/common': 1.5.2 + + '@marijn/find-cluster-break@1.0.2': {} + + '@mermaid-js/parser@1.1.1': + dependencies: + '@chevrotain/types': 11.1.2 + + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + + '@oxc-project/types@0.132.0': {} + + '@rolldown/binding-android-arm64@1.0.2': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.2': + optional: true + + '@rolldown/binding-darwin-x64@1.0.2': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.2': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.2': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.2': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.2': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.2': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.2': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.2': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@shikijs/core@4.1.0': + dependencies: + '@shikijs/primitive': 4.1.0 + '@shikijs/types': 4.1.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@4.1.0': + dependencies: + '@shikijs/types': 4.1.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.6 + + '@shikijs/engine-oniguruma@4.1.0': + dependencies: + '@shikijs/types': 4.1.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@4.1.0': + dependencies: + '@shikijs/types': 4.1.0 + + '@shikijs/primitive@4.1.0': + dependencies: + '@shikijs/types': 4.1.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/themes@4.1.0': + dependencies: + '@shikijs/types': 4.1.0 + + '@shikijs/types@4.1.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@standard-schema/spec@1.1.0': {} + + '@streamdown/math@1.0.2(react@19.2.6)': + dependencies: + katex: 0.16.47 + react: 19.2.6 + rehype-katex: 7.0.1 + remark-math: 6.0.0 + transitivePeerDependencies: + - supports-color + + '@tailwindcss/node@4.3.0': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.22.1 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.0 + + '@tailwindcss/oxide-android-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide@4.3.0': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-x64': 4.3.0 + '@tailwindcss/oxide-freebsd-x64': 4.3.0 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-x64-musl': 4.3.0 + '@tailwindcss/oxide-wasm32-wasi': 4.3.0 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 + + '@tailwindcss/vite@4.3.0(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0))': + dependencies: + '@tailwindcss/node': 4.3.0 + '@tailwindcss/oxide': 4.3.0 + tailwindcss: 4.3.0 + vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0) + + '@tauri-apps/api@2.11.0': {} + + '@tauri-apps/cli-darwin-arm64@2.11.2': + optional: true + + '@tauri-apps/cli-darwin-x64@2.11.2': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.2': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.11.2': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.11.2': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.2': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.11.2': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.11.2': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.11.2': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.11.2': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.11.2': + optional: true + + '@tauri-apps/cli@2.11.2': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.11.2 + '@tauri-apps/cli-darwin-x64': 2.11.2 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.2 + '@tauri-apps/cli-linux-arm64-gnu': 2.11.2 + '@tauri-apps/cli-linux-arm64-musl': 2.11.2 + '@tauri-apps/cli-linux-riscv64-gnu': 2.11.2 + '@tauri-apps/cli-linux-x64-gnu': 2.11.2 + '@tauri-apps/cli-linux-x64-musl': 2.11.2 + '@tauri-apps/cli-win32-arm64-msvc': 2.11.2 + '@tauri-apps/cli-win32-ia32-msvc': 2.11.2 + '@tauri-apps/cli-win32-x64-msvc': 2.11.2 + + '@tauri-apps/plugin-dialog@2.7.1': + dependencies: + '@tauri-apps/api': 2.11.0 + + '@tauri-apps/plugin-fs@2.5.1': + dependencies: + '@tauri-apps/api': 2.11.0 + + '@tauri-apps/plugin-http@2.5.9': + dependencies: + '@tauri-apps/api': 2.11.0 + + '@tauri-apps/plugin-notification@2.3.3': + dependencies: + '@tauri-apps/api': 2.11.0 + + '@tauri-apps/plugin-opener@2.5.4': + dependencies: + '@tauri-apps/api': 2.11.0 + + '@testing-library/dom@10.4.1': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + picocolors: 1.1.1 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.9.1': + dependencies: + '@adobe/css-tools': 4.5.0 + aria-query: 5.3.2 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + picocolors: 1.1.1 + redent: 3.0.0 + + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@testing-library/dom': 10.4.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + optionalDependencies: + '@types/react': 19.2.15 + '@types/react-dom': 19.2.3(@types/react@19.2.15) + + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/aria-query@5.0.4': {} + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.3': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/deep-eql@4.0.2': {} + + '@types/diff@7.0.2': {} + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 + + '@types/estree@1.0.9': {} + + '@types/geojson@7946.0.16': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/katex@0.16.8': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/ms@2.1.0': {} + + '@types/node@25.9.1': + dependencies: + undici-types: 7.24.6 + + '@types/react-dom@19.2.3(@types/react@19.2.15)': + dependencies: + '@types/react': 19.2.15 + + '@types/react@19.2.15': + dependencies: + csstype: 3.2.3 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 25.9.1 + + '@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/type-utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.60.0 + eslint: 9.39.4(jiti@2.7.0) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.60.0 + debug: 4.4.3 + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.60.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.60.0': + dependencies: + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 + + '@typescript-eslint/tsconfig-utils@8.60.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.4(jiti@2.7.0) + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.60.0': {} + + '@typescript-eslint/typescript-estree@8.60.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.60.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.1 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.60.0': + dependencies: + '@typescript-eslint/types': 8.60.0 + eslint-visitor-keys: 5.0.1 + + '@ungap/structured-clone@1.3.1': {} + + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + '@vitejs/plugin-react@6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0) + + '@vitest/expect@4.1.7': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.7(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0))': + dependencies: + '@vitest/spy': 4.1.7 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0) + + '@vitest/pretty-format@4.1.7': + dependencies: + tinyrainbow: 3.1.0 + + '@vitest/runner@4.1.7': + dependencies: + '@vitest/utils': 4.1.7 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.7': + dependencies: + '@vitest/pretty-format': 4.1.7 + '@vitest/utils': 4.1.7 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.1.7': {} + + '@vitest/utils@4.1.7': + dependencies: + '@vitest/pretty-format': 4.1.7 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + + '@xterm/addon-fit@0.11.0': {} + + '@xterm/addon-serialize@0.14.0': {} + + '@xterm/addon-web-links@0.12.0': {} + + '@xterm/xterm@6.0.0': {} + + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-escapes@1.4.0: {} + + ansi-regex@2.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-styles@2.2.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + any-promise@1.3.0: {} + + argparse@2.0.1: {} + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + aria-query@5.3.2: {} + + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@1.0.0: {} + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + aws-sign2@0.7.0: {} + + aws4@1.13.2: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.10.32: {} + + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + bidi-js@1.0.3: + dependencies: + require-from-string: 2.0.2 + + biome@0.3.3: + dependencies: + bluebird: 3.7.2 + chalk: 1.1.3 + commander: 2.20.3 + editor: 1.0.0 + fs-promise: 0.5.0 + inquirer-promise: 0.0.3 + request-promise: 3.0.0 + untildify: 3.0.3 + user-home: 2.0.0 + + bluebird@3.7.2: {} + + brace-expansion@1.1.15: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@5.0.6: + dependencies: + balanced-match: 4.0.4 + + browserslist@4.28.2: + dependencies: + baseline-browser-mapping: 2.10.32 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.364 + node-releases: 2.0.46 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001793: {} + + caseless@0.12.0: {} + + ccount@2.0.1: {} + + chai@6.2.2: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chroma-js@3.2.0: {} + + cli-cursor@1.0.2: + dependencies: + restore-cursor: 1.0.1 + + cli-width@1.1.1: {} + + clsx@2.1.1: {} + + code-point-at@1.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@2.20.3: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + core-js@2.6.12: {} + + core-util-is@1.0.2: {} + + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + + crelt@1.0.6: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-tree@3.2.1: + dependencies: + mdn-data: 2.27.1 + source-map-js: 1.2.1 + + css.escape@1.5.1: {} + + csstype@3.2.3: {} + + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.4): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.4 + + cytoscape-fcose@2.2.0(cytoscape@3.33.4): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.4 + + cytoscape@3.33.4: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.1.0 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.2: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.14: + dependencies: + d3: 7.9.0 + lodash-es: 4.18.1 + + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + + data-urls@7.0.0: + dependencies: + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + transitivePeerDependencies: + - '@noble/hashes' + + dayjs@1.11.21: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + deep-is@0.1.4: {} + + deep-rename-keys@0.2.1: + dependencies: + kind-of: 3.2.2 + rename-keys: 1.2.0 + + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@2.1.2: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff@8.0.4: {} + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + dompurify@3.4.7: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + earlgrey-runtime@0.1.2: + dependencies: + core-js: 2.6.12 + kaiser: 0.0.4 + lodash: 4.18.1 + regenerator-runtime: 0.9.6 + + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + + editor@1.0.0: {} + + electron-to-chromium@1.5.364: {} + + enhanced-resolve@5.22.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@6.0.1: {} + + entities@8.0.0: {} + + es-module-lexer@2.1.0: {} + + es-toolkit@1.47.0: {} + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.7.0)): + dependencies: + eslint: 9.39.4(jiti@2.7.0) + + eslint-plugin-react-hooks@7.1.1(eslint@9.39.4(jiti@2.7.0)): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + eslint: 9.39.4(jiti@2.7.0) + hermes-parser: 0.25.1 + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-refresh@0.5.2(eslint@9.39.4(jiti@2.7.0)): + dependencies: + eslint: 9.39.4(jiti@2.7.0) + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint-visitor-keys@5.0.1: {} + + eslint@9.39.4(jiti@2.7.0): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.2 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.5 + '@eslint/js': 9.39.4 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.7.0 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 4.2.1 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-util-is-identifier-name@3.0.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + esutils@2.0.3: {} + + eventemitter3@2.0.3: {} + + events@3.3.0: {} + + exit-hook@1.1.1: {} + + expect-type@1.3.0: {} + + extend@3.0.2: {} + + extsprintf@1.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + + figures@1.7.0: + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.4.2 + keyv: 4.5.4 + + flatted@3.4.2: {} + + forever-agent@0.6.1: {} + + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + framer-motion@12.40.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + motion-dom: 12.40.0 + motion-utils: 12.39.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + fs-extra@0.26.7: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.7.1 + + fs-promise@0.5.0: + dependencies: + any-promise: 1.3.0 + fs-extra: 0.26.7 + mz: 2.7.0 + thenify-all: 1.6.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@14.0.0: {} + + globals@17.6.0: {} + + graceful-fs@4.2.11: {} + + hachure-fill@0.5.2: {} + + har-schema@2.0.0: {} + + har-validator@5.1.5: + dependencies: + ajv: 6.15.0 + har-schema: 2.0.0 + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-flag@4.0.0: {} + + hast-util-from-dom@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hastscript: 9.0.1 + web-namespaces: 2.0.1 + + hast-util-from-html-isomorphic@2.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-dom: 5.0.1 + hast-util-from-html: 2.0.3 + unist-util-remove-position: 5.0.0 + + hast-util-from-html@2.0.3: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.3 + parse5: 7.3.0 + vfile: 6.0.3 + vfile-message: 4.0.3 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.1 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-sanitize@5.0.2: + dependencies: + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.3.1 + unist-util-position: 5.0.0 + + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + + html-encoding-sniffer@6.0.0: + dependencies: + '@exodus/bytes': 1.15.1 + transitivePeerDependencies: + - '@noble/hashes' + + html-parse-stringify@3.0.1: + dependencies: + void-elements: 3.1.0 + + html-url-attributes@3.0.1: {} + + html-void-elements@3.0.0: {} + + http-signature@1.2.0: + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + + i18next-browser-languagedetector@8.2.1: + dependencies: + '@babel/runtime': 7.29.7 + + i18next@26.3.0(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-meta-resolve@4.2.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + inline-style-parser@0.2.7: {} + + inquirer-promise@0.0.3: + dependencies: + earlgrey-runtime: 0.1.2 + inquirer: 0.11.4 + + inquirer@0.11.4: + dependencies: + ansi-escapes: 1.4.0 + ansi-regex: 2.1.1 + chalk: 1.1.3 + cli-cursor: 1.0.2 + cli-width: 1.1.1 + figures: 1.7.0 + lodash: 3.10.1 + readline2: 1.0.1 + run-async: 0.1.0 + rx-lite: 3.1.2 + string-width: 1.0.2 + strip-ansi: 3.0.1 + through: 2.3.8 + + internmap@1.0.1: {} + + internmap@2.0.3: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-buffer@1.1.6: {} + + is-decimal@2.0.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@1.0.0: + dependencies: + number-is-nan: 1.0.1 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-plain-obj@4.1.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-typedarray@1.0.0: {} + + isexe@2.0.0: {} + + isstream@0.1.2: {} + + jiti@2.7.0: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsbn@0.1.1: {} + + jsdom@29.1.1: + dependencies: + '@asamuzakjp/css-color': 5.1.11 + '@asamuzakjp/dom-selector': 7.1.1 + '@bramus/specificity': 2.4.2 + '@csstools/css-syntax-patches-for-csstree': 1.1.4(css-tree@3.2.1) + '@exodus/bytes': 1.15.1 + css-tree: 3.2.1 + data-urls: 7.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 6.0.0 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.5.1 + parse5: 8.0.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 6.0.1 + undici: 7.26.0 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - '@noble/hashes' + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema@0.4.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsonfile@2.4.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsprim@1.4.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + + kaiser@0.0.4: + dependencies: + earlgrey-runtime: 0.1.2 + + katex@0.16.47: + dependencies: + commander: 8.3.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + khroma@2.1.0: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + klaw@1.3.1: + optionalDependencies: + graceful-fs: 4.2.11 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.18.1: {} + + lodash.merge@4.6.2: {} + + lodash@3.10.1: {} + + lodash@4.18.1: {} + + longest-streak@3.1.0: {} + + lru-cache@11.5.1: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lucide-react@1.17.0(react@19.2.6): + dependencies: + react: 19.2.6 + + lz-string@1.5.0: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + markdown-table@3.0.4: {} + + marked@16.4.2: {} + + marked@17.0.6: {} + + material-icon-theme@5.35.0: + dependencies: + biome: 0.3.3 + chroma-js: 3.2.0 + events: 3.3.0 + fast-deep-equal: 3.1.3 + svgson: 5.3.1 + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-hast@13.2.1: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.1 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.27.1: {} + + mermaid@11.15.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.3 + '@mermaid-js/parser': 1.1.1 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.33.4 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.4) + cytoscape-fcose: 2.2.0(cytoscape@3.33.4) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.21 + dompurify: 3.4.7 + es-toolkit: 1.47.0 + katex: 0.16.47 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.2.0 + uuid: 14.0.0 + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-math@3.1.0: + dependencies: + '@types/katex': 0.16.8 + devlop: 1.1.0 + katex: 0.16.47 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + min-indent@1.0.1: {} + + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.6 + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.15 + + motion-dom@12.40.0: + dependencies: + motion-utils: 12.39.0 + + motion-utils@12.39.0: {} + + motion@12.40.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + framer-motion: 12.40.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + tslib: 2.8.1 + optionalDependencies: + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + ms@2.1.3: {} + + mute-stream@0.0.5: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.12: {} + + natural-compare@1.4.0: {} + + node-releases@2.0.46: {} + + number-is-nan@1.0.1: {} + + oauth-sign@0.9.0: {} + + object-assign@4.1.1: {} + + obug@2.1.1: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@1.1.0: {} + + oniguruma-parser@0.12.2: {} + + oniguruma-to-es@4.3.6: + dependencies: + oniguruma-parser: 0.12.2 + regex: 6.1.0 + regex-recursion: 6.0.2 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + os-homedir@1.0.2: {} + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-manager-detector@1.6.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parse5@8.0.1: + dependencies: + entities: 8.0.0 + + path-data-parser@0.1.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + pathe@2.0.3: {} + + performance-now@2.1.0: {} + + picocolors@1.1.1: {} + + picomatch@4.0.4: {} + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + + postcss@8.5.15: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier@3.8.3: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + property-information@7.1.0: {} + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + punycode@2.3.1: {} + + qs@6.5.5: {} + + react-dom@19.2.6(react@19.2.6): + dependencies: + react: 19.2.6 + scheduler: 0.27.0 + + react-i18next@17.0.8(i18next@26.3.0(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3): + dependencies: + '@babel/runtime': 7.29.7 + html-parse-stringify: 3.0.1 + i18next: 26.3.0(typescript@5.9.3) + react: 19.2.6 + use-sync-external-store: 1.6.0(react@19.2.6) + optionalDependencies: + react-dom: 19.2.6(react@19.2.6) + typescript: 5.9.3 + + react-is@17.0.2: {} + + react@19.2.6: {} + + readline2@1.0.1: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + mute-stream: 0.0.5 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + regenerator-runtime@0.9.6: {} + + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.1.0: + dependencies: + regex-utilities: 2.3.0 + + rehype-harden@1.1.8: + dependencies: + unist-util-visit: 5.1.0 + + rehype-katex@7.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/katex': 0.16.8 + hast-util-from-html-isomorphic: 2.0.0 + hast-util-to-text: 4.0.2 + katex: 0.16.47 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-sanitize@6.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-sanitize: 5.0.2 + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-math@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-math: 3.0.0 + micromark-extension-math: 3.1.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + remend@1.3.0: {} + + rename-keys@1.2.0: {} + + request-promise@3.0.0: + dependencies: + bluebird: 3.7.2 + lodash: 4.18.1 + request: 2.88.2 + + request@2.88.2: + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.5 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + + require-from-string@2.0.2: {} + + resolve-from@4.0.0: {} + + restore-cursor@1.0.1: + dependencies: + exit-hook: 1.1.1 + onetime: 1.1.0 + + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + robust-predicates@3.0.3: {} + + rolldown@1.0.2: + dependencies: + '@oxc-project/types': 0.132.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.2 + '@rolldown/binding-darwin-arm64': 1.0.2 + '@rolldown/binding-darwin-x64': 1.0.2 + '@rolldown/binding-freebsd-x64': 1.0.2 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.2 + '@rolldown/binding-linux-arm64-gnu': 1.0.2 + '@rolldown/binding-linux-arm64-musl': 1.0.2 + '@rolldown/binding-linux-ppc64-gnu': 1.0.2 + '@rolldown/binding-linux-s390x-gnu': 1.0.2 + '@rolldown/binding-linux-x64-gnu': 1.0.2 + '@rolldown/binding-linux-x64-musl': 1.0.2 + '@rolldown/binding-openharmony-arm64': 1.0.2 + '@rolldown/binding-wasm32-wasi': 1.0.2 + '@rolldown/binding-win32-arm64-msvc': 1.0.2 + '@rolldown/binding-win32-x64-msvc': 1.0.2 + + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + + run-async@0.1.0: + dependencies: + once: 1.4.0 + + rw@1.3.3: {} + + rx-lite@3.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + scheduler@0.27.0: {} + + semver@6.3.1: {} + + semver@7.8.1: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@4.1.0: + dependencies: + '@shikijs/core': 4.1.0 + '@shikijs/engine-javascript': 4.1.0 + '@shikijs/engine-oniguruma': 4.1.0 + '@shikijs/langs': 4.1.0 + '@shikijs/themes': 4.1.0 + '@shikijs/types': 4.1.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + siginfo@2.0.0: {} + + source-map-js@1.2.1: {} + + space-separated-tokens@2.0.2: {} + + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + + stackback@0.0.2: {} + + std-env@4.1.0: {} + + streamdown@2.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + clsx: 2.1.1 + hast-util-to-jsx-runtime: 2.3.6 + html-url-attributes: 3.0.1 + marked: 17.0.6 + mermaid: 11.15.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + rehype-harden: 1.1.8 + rehype-raw: 7.0.0 + rehype-sanitize: 6.0.0 + remark-gfm: 4.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + remend: 1.3.0 + tailwind-merge: 3.6.0 + unified: 11.0.5 + unist-util-visit: 5.1.0 + unist-util-visit-parents: 6.0.2 + transitivePeerDependencies: + - supports-color + + string-width@1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + style-mod@4.1.3: {} + + style-to-js@1.1.21: + dependencies: + style-to-object: 1.0.14 + + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 + + stylis@4.4.0: {} + + supports-color@2.0.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + svgson@5.3.1: + dependencies: + deep-rename-keys: 0.2.1 + xml-reader: 2.4.3 + + symbol-tree@3.2.4: {} + + tailwind-merge@3.6.0: {} + + tailwindcss@4.3.0: {} + + tapable@2.3.3: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through@2.3.8: {} + + tinybench@2.9.0: {} + + tinyexec@1.2.2: {} + + tinyglobby@0.2.16: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + + tinyrainbow@3.1.0: {} + + tldts-core@7.4.1: {} + + tldts@7.4.0: + dependencies: + tldts-core: 7.4.1 + + tough-cookie@2.5.0: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + + tough-cookie@6.0.1: + dependencies: + tldts: 7.4.0 + + tr46@6.0.0: + dependencies: + punycode: 2.3.1 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-dedent@2.2.0: {} + + tslib@2.8.1: {} + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + tweetnacl@0.14.5: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typescript-eslint@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/parser': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + undici-types@7.24.6: {} + + undici@7.26.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.1.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + untildify@3.0.3: {} + + update-browserslist-db@1.2.3(browserslist@4.28.2): + dependencies: + browserslist: 4.28.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-sync-external-store@1.6.0(react@19.2.6): + dependencies: + react: 19.2.6 + + user-home@2.0.0: + dependencies: + os-homedir: 1.0.2 + + uuid@14.0.0: {} + + uuid@3.4.0: {} + + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.15 + rolldown: 1.0.2 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 25.9.1 + fsevents: 2.3.3 + jiti: 2.7.0 + + vitest@4.1.7(@types/node@25.9.1)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)): + dependencies: + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.2 + tinyglobby: 0.2.16 + tinyrainbow: 3.1.0 + vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.9.1 + jsdom: 29.1.1 + transitivePeerDependencies: + - msw + + void-elements@3.1.0: {} + + w3c-keyname@2.2.8: {} + + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + web-namespaces@2.0.1: {} + + webidl-conversions@8.0.1: {} + + whatwg-mimetype@5.0.0: {} + + whatwg-url@16.0.1: + dependencies: + '@exodus/bytes': 1.15.1 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + wrappy@1.0.2: {} + + ws@8.21.0: {} + + xml-lexer@0.2.2: + dependencies: + eventemitter3: 2.0.3 + + xml-name-validator@5.0.0: {} + + xml-reader@2.4.3: + dependencies: + eventemitter3: 2.0.3 + xml-lexer: 0.2.2 + + xmlchars@2.2.0: {} + + yallist@3.1.1: {} + + yocto-queue@0.1.0: {} + + zod-validation-error@4.0.2(zod@4.4.3): + dependencies: + zod: 4.4.3 + + zod@4.4.3: {} + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..55f54ed --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +allowBuilds: + core-js: true diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..7320d48 --- /dev/null +++ b/public/404.html @@ -0,0 +1,26 @@ + + + + + + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..d946ac9 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,18 @@ +{ + "name": "PiAgentUI", + "short_name": "PiAgentUI", + "description": "AI Coding Assistant", + "start_url": "/", + "display": "standalone", + "orientation": "portrait", + "background_color": "#1a1a1a", + "theme_color": "#262524", + "icons": [ + { + "src": "/piagentui-logo.png", + "sizes": "1254x1254", + "type": "image/png", + "purpose": "any maskable" + } + ] +} diff --git a/public/material-icons/angular.svg b/public/material-icons/angular.svg new file mode 100644 index 0000000..a28075e --- /dev/null +++ b/public/material-icons/angular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/assembly.svg b/public/material-icons/assembly.svg new file mode 100644 index 0000000..7a94d67 --- /dev/null +++ b/public/material-icons/assembly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/astro-config.svg b/public/material-icons/astro-config.svg new file mode 100644 index 0000000..1c12c5e --- /dev/null +++ b/public/material-icons/astro-config.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/astro.svg b/public/material-icons/astro.svg new file mode 100644 index 0000000..fa67fee --- /dev/null +++ b/public/material-icons/astro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/audio.svg b/public/material-icons/audio.svg new file mode 100644 index 0000000..74f43c4 --- /dev/null +++ b/public/material-icons/audio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/babel.svg b/public/material-icons/babel.svg new file mode 100644 index 0000000..244ae36 --- /dev/null +++ b/public/material-icons/babel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/bun.svg b/public/material-icons/bun.svg new file mode 100644 index 0000000..cc36204 --- /dev/null +++ b/public/material-icons/bun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/c.svg b/public/material-icons/c.svg new file mode 100644 index 0000000..5bb84b6 --- /dev/null +++ b/public/material-icons/c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/certificate.svg b/public/material-icons/certificate.svg new file mode 100644 index 0000000..a466d81 --- /dev/null +++ b/public/material-icons/certificate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/changelog.svg b/public/material-icons/changelog.svg new file mode 100644 index 0000000..b4b1a07 --- /dev/null +++ b/public/material-icons/changelog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/clojure.svg b/public/material-icons/clojure.svg new file mode 100644 index 0000000..1b22aed --- /dev/null +++ b/public/material-icons/clojure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/cmake.svg b/public/material-icons/cmake.svg new file mode 100644 index 0000000..aa21796 --- /dev/null +++ b/public/material-icons/cmake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/console.svg b/public/material-icons/console.svg new file mode 100644 index 0000000..d789aa2 --- /dev/null +++ b/public/material-icons/console.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/cpp.svg b/public/material-icons/cpp.svg new file mode 100644 index 0000000..16534ac --- /dev/null +++ b/public/material-icons/cpp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/csharp.svg b/public/material-icons/csharp.svg new file mode 100644 index 0000000..02b1be3 --- /dev/null +++ b/public/material-icons/csharp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/css-map.svg b/public/material-icons/css-map.svg new file mode 100644 index 0000000..55b74c0 --- /dev/null +++ b/public/material-icons/css-map.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/css.svg b/public/material-icons/css.svg new file mode 100644 index 0000000..1acad1b --- /dev/null +++ b/public/material-icons/css.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/dart.svg b/public/material-icons/dart.svg new file mode 100644 index 0000000..04b22d0 --- /dev/null +++ b/public/material-icons/dart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/database.svg b/public/material-icons/database.svg new file mode 100644 index 0000000..b107234 --- /dev/null +++ b/public/material-icons/database.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/deno.svg b/public/material-icons/deno.svg new file mode 100644 index 0000000..f5560b9 --- /dev/null +++ b/public/material-icons/deno.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/docker.svg b/public/material-icons/docker.svg new file mode 100644 index 0000000..7d6a1a5 --- /dev/null +++ b/public/material-icons/docker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/document.svg b/public/material-icons/document.svg new file mode 100644 index 0000000..a717956 --- /dev/null +++ b/public/material-icons/document.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/elixir.svg b/public/material-icons/elixir.svg new file mode 100644 index 0000000..d40f90b --- /dev/null +++ b/public/material-icons/elixir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/erlang.svg b/public/material-icons/erlang.svg new file mode 100644 index 0000000..41025d6 --- /dev/null +++ b/public/material-icons/erlang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/eslint.svg b/public/material-icons/eslint.svg new file mode 100644 index 0000000..54fe8cc --- /dev/null +++ b/public/material-icons/eslint.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/file.svg b/public/material-icons/file.svg new file mode 100644 index 0000000..27421f5 --- /dev/null +++ b/public/material-icons/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/firebase.svg b/public/material-icons/firebase.svg new file mode 100644 index 0000000..bb3b63c --- /dev/null +++ b/public/material-icons/firebase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-android-open.svg b/public/material-icons/folder-android-open.svg new file mode 100644 index 0000000..cdd8376 --- /dev/null +++ b/public/material-icons/folder-android-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-android.svg b/public/material-icons/folder-android.svg new file mode 100644 index 0000000..7ee8a46 --- /dev/null +++ b/public/material-icons/folder-android.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-api-open.svg b/public/material-icons/folder-api-open.svg new file mode 100644 index 0000000..ac3edb9 --- /dev/null +++ b/public/material-icons/folder-api-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-api.svg b/public/material-icons/folder-api.svg new file mode 100644 index 0000000..bf1d64c --- /dev/null +++ b/public/material-icons/folder-api.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-buildkite-open.svg b/public/material-icons/folder-buildkite-open.svg new file mode 100644 index 0000000..872db64 --- /dev/null +++ b/public/material-icons/folder-buildkite-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-buildkite.svg b/public/material-icons/folder-buildkite.svg new file mode 100644 index 0000000..9512b40 --- /dev/null +++ b/public/material-icons/folder-buildkite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ci-open.svg b/public/material-icons/folder-ci-open.svg new file mode 100644 index 0000000..57ac1ba --- /dev/null +++ b/public/material-icons/folder-ci-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ci.svg b/public/material-icons/folder-ci.svg new file mode 100644 index 0000000..4fdc2ed --- /dev/null +++ b/public/material-icons/folder-ci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-circleci-open.svg b/public/material-icons/folder-circleci-open.svg new file mode 100644 index 0000000..20dfffa --- /dev/null +++ b/public/material-icons/folder-circleci-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-circleci.svg b/public/material-icons/folder-circleci.svg new file mode 100644 index 0000000..0ab8cb9 --- /dev/null +++ b/public/material-icons/folder-circleci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-components-open.svg b/public/material-icons/folder-components-open.svg new file mode 100644 index 0000000..2f55b72 --- /dev/null +++ b/public/material-icons/folder-components-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-components.svg b/public/material-icons/folder-components.svg new file mode 100644 index 0000000..983833e --- /dev/null +++ b/public/material-icons/folder-components.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-config-open.svg b/public/material-icons/folder-config-open.svg new file mode 100644 index 0000000..3b4ec5a --- /dev/null +++ b/public/material-icons/folder-config-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-config.svg b/public/material-icons/folder-config.svg new file mode 100644 index 0000000..8519910 --- /dev/null +++ b/public/material-icons/folder-config.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-container-open.svg b/public/material-icons/folder-container-open.svg new file mode 100644 index 0000000..9db8334 --- /dev/null +++ b/public/material-icons/folder-container-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-container.svg b/public/material-icons/folder-container.svg new file mode 100644 index 0000000..3ea03c1 --- /dev/null +++ b/public/material-icons/folder-container.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-content-open.svg b/public/material-icons/folder-content-open.svg new file mode 100644 index 0000000..a924b27 --- /dev/null +++ b/public/material-icons/folder-content-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-content.svg b/public/material-icons/folder-content.svg new file mode 100644 index 0000000..23f57d2 --- /dev/null +++ b/public/material-icons/folder-content.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-context-open.svg b/public/material-icons/folder-context-open.svg new file mode 100644 index 0000000..a631e02 --- /dev/null +++ b/public/material-icons/folder-context-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-context.svg b/public/material-icons/folder-context.svg new file mode 100644 index 0000000..bee74c1 --- /dev/null +++ b/public/material-icons/folder-context.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-controller-open.svg b/public/material-icons/folder-controller-open.svg new file mode 100644 index 0000000..a732ed1 --- /dev/null +++ b/public/material-icons/folder-controller-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-controller.svg b/public/material-icons/folder-controller.svg new file mode 100644 index 0000000..f98cd6f --- /dev/null +++ b/public/material-icons/folder-controller.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-core-open.svg b/public/material-icons/folder-core-open.svg new file mode 100644 index 0000000..34e7a82 --- /dev/null +++ b/public/material-icons/folder-core-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-core.svg b/public/material-icons/folder-core.svg new file mode 100644 index 0000000..f7cfae6 --- /dev/null +++ b/public/material-icons/folder-core.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-css-open.svg b/public/material-icons/folder-css-open.svg new file mode 100644 index 0000000..ef79791 --- /dev/null +++ b/public/material-icons/folder-css-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-css.svg b/public/material-icons/folder-css.svg new file mode 100644 index 0000000..4ff433e --- /dev/null +++ b/public/material-icons/folder-css.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-cursor-open.svg b/public/material-icons/folder-cursor-open.svg new file mode 100644 index 0000000..844c7e3 --- /dev/null +++ b/public/material-icons/folder-cursor-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-cursor.svg b/public/material-icons/folder-cursor.svg new file mode 100644 index 0000000..de33bcd --- /dev/null +++ b/public/material-icons/folder-cursor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-cypress-open.svg b/public/material-icons/folder-cypress-open.svg new file mode 100644 index 0000000..2a18521 --- /dev/null +++ b/public/material-icons/folder-cypress-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-cypress.svg b/public/material-icons/folder-cypress.svg new file mode 100644 index 0000000..39460e2 --- /dev/null +++ b/public/material-icons/folder-cypress.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-database-open.svg b/public/material-icons/folder-database-open.svg new file mode 100644 index 0000000..951767a --- /dev/null +++ b/public/material-icons/folder-database-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-database.svg b/public/material-icons/folder-database.svg new file mode 100644 index 0000000..a5cfb6a --- /dev/null +++ b/public/material-icons/folder-database.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-desktop-open.svg b/public/material-icons/folder-desktop-open.svg new file mode 100644 index 0000000..880ca76 --- /dev/null +++ b/public/material-icons/folder-desktop-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-desktop.svg b/public/material-icons/folder-desktop.svg new file mode 100644 index 0000000..5a20b49 --- /dev/null +++ b/public/material-icons/folder-desktop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-dist-open.svg b/public/material-icons/folder-dist-open.svg new file mode 100644 index 0000000..553cef1 --- /dev/null +++ b/public/material-icons/folder-dist-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-dist.svg b/public/material-icons/folder-dist.svg new file mode 100644 index 0000000..995580f --- /dev/null +++ b/public/material-icons/folder-dist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-docker-open.svg b/public/material-icons/folder-docker-open.svg new file mode 100644 index 0000000..a76e97b --- /dev/null +++ b/public/material-icons/folder-docker-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-docker.svg b/public/material-icons/folder-docker.svg new file mode 100644 index 0000000..c5b0949 --- /dev/null +++ b/public/material-icons/folder-docker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-docs-open.svg b/public/material-icons/folder-docs-open.svg new file mode 100644 index 0000000..3577767 --- /dev/null +++ b/public/material-icons/folder-docs-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-docs.svg b/public/material-icons/folder-docs.svg new file mode 100644 index 0000000..246a05d --- /dev/null +++ b/public/material-icons/folder-docs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-drizzle-open.svg b/public/material-icons/folder-drizzle-open.svg new file mode 100644 index 0000000..5f0cd59 --- /dev/null +++ b/public/material-icons/folder-drizzle-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-drizzle.svg b/public/material-icons/folder-drizzle.svg new file mode 100644 index 0000000..d01a186 --- /dev/null +++ b/public/material-icons/folder-drizzle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-environment-open.svg b/public/material-icons/folder-environment-open.svg new file mode 100644 index 0000000..3b56abb --- /dev/null +++ b/public/material-icons/folder-environment-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-environment.svg b/public/material-icons/folder-environment.svg new file mode 100644 index 0000000..9cc1f2e --- /dev/null +++ b/public/material-icons/folder-environment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-examples-open.svg b/public/material-icons/folder-examples-open.svg new file mode 100644 index 0000000..78c77a9 --- /dev/null +++ b/public/material-icons/folder-examples-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-examples.svg b/public/material-icons/folder-examples.svg new file mode 100644 index 0000000..fba8885 --- /dev/null +++ b/public/material-icons/folder-examples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-firebase-open.svg b/public/material-icons/folder-firebase-open.svg new file mode 100644 index 0000000..7149b48 --- /dev/null +++ b/public/material-icons/folder-firebase-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-firebase.svg b/public/material-icons/folder-firebase.svg new file mode 100644 index 0000000..9eeac86 --- /dev/null +++ b/public/material-icons/folder-firebase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-font-open.svg b/public/material-icons/folder-font-open.svg new file mode 100644 index 0000000..1a91f0b --- /dev/null +++ b/public/material-icons/folder-font-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-font.svg b/public/material-icons/folder-font.svg new file mode 100644 index 0000000..0115b73 --- /dev/null +++ b/public/material-icons/folder-font.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-functions-open.svg b/public/material-icons/folder-functions-open.svg new file mode 100644 index 0000000..00d6dc4 --- /dev/null +++ b/public/material-icons/folder-functions-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-functions.svg b/public/material-icons/folder-functions.svg new file mode 100644 index 0000000..01a9385 --- /dev/null +++ b/public/material-icons/folder-functions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-gh-workflows-open.svg b/public/material-icons/folder-gh-workflows-open.svg new file mode 100644 index 0000000..f0de248 --- /dev/null +++ b/public/material-icons/folder-gh-workflows-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-gh-workflows.svg b/public/material-icons/folder-gh-workflows.svg new file mode 100644 index 0000000..08edb35 --- /dev/null +++ b/public/material-icons/folder-gh-workflows.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-git-open.svg b/public/material-icons/folder-git-open.svg new file mode 100644 index 0000000..90be1c1 --- /dev/null +++ b/public/material-icons/folder-git-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-git.svg b/public/material-icons/folder-git.svg new file mode 100644 index 0000000..2ca4db5 --- /dev/null +++ b/public/material-icons/folder-git.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-github-open.svg b/public/material-icons/folder-github-open.svg new file mode 100644 index 0000000..b125682 --- /dev/null +++ b/public/material-icons/folder-github-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-github.svg b/public/material-icons/folder-github.svg new file mode 100644 index 0000000..8ef589c --- /dev/null +++ b/public/material-icons/folder-github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-gitlab-open.svg b/public/material-icons/folder-gitlab-open.svg new file mode 100644 index 0000000..fc4deb2 --- /dev/null +++ b/public/material-icons/folder-gitlab-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-gitlab.svg b/public/material-icons/folder-gitlab.svg new file mode 100644 index 0000000..55db99e --- /dev/null +++ b/public/material-icons/folder-gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-helper-open.svg b/public/material-icons/folder-helper-open.svg new file mode 100644 index 0000000..6fca391 --- /dev/null +++ b/public/material-icons/folder-helper-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-helper.svg b/public/material-icons/folder-helper.svg new file mode 100644 index 0000000..27a20d4 --- /dev/null +++ b/public/material-icons/folder-helper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-hook-open.svg b/public/material-icons/folder-hook-open.svg new file mode 100644 index 0000000..17d6231 --- /dev/null +++ b/public/material-icons/folder-hook-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-hook.svg b/public/material-icons/folder-hook.svg new file mode 100644 index 0000000..2105709 --- /dev/null +++ b/public/material-icons/folder-hook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-i18n-open.svg b/public/material-icons/folder-i18n-open.svg new file mode 100644 index 0000000..bc1a53c --- /dev/null +++ b/public/material-icons/folder-i18n-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-i18n.svg b/public/material-icons/folder-i18n.svg new file mode 100644 index 0000000..6ef0283 --- /dev/null +++ b/public/material-icons/folder-i18n.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-images-open.svg b/public/material-icons/folder-images-open.svg new file mode 100644 index 0000000..44a673b --- /dev/null +++ b/public/material-icons/folder-images-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-images.svg b/public/material-icons/folder-images.svg new file mode 100644 index 0000000..5b63a6c --- /dev/null +++ b/public/material-icons/folder-images.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-intellij-open.svg b/public/material-icons/folder-intellij-open.svg new file mode 100644 index 0000000..b135d01 --- /dev/null +++ b/public/material-icons/folder-intellij-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-intellij.svg b/public/material-icons/folder-intellij.svg new file mode 100644 index 0000000..bb6e663 --- /dev/null +++ b/public/material-icons/folder-intellij.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-interface-open.svg b/public/material-icons/folder-interface-open.svg new file mode 100644 index 0000000..ba54b0e --- /dev/null +++ b/public/material-icons/folder-interface-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-interface.svg b/public/material-icons/folder-interface.svg new file mode 100644 index 0000000..993ce72 --- /dev/null +++ b/public/material-icons/folder-interface.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ios-open.svg b/public/material-icons/folder-ios-open.svg new file mode 100644 index 0000000..112fee6 --- /dev/null +++ b/public/material-icons/folder-ios-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ios.svg b/public/material-icons/folder-ios.svg new file mode 100644 index 0000000..7af3b85 --- /dev/null +++ b/public/material-icons/folder-ios.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-job-open.svg b/public/material-icons/folder-job-open.svg new file mode 100644 index 0000000..efd7cdf --- /dev/null +++ b/public/material-icons/folder-job-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-job.svg b/public/material-icons/folder-job.svg new file mode 100644 index 0000000..9135aff --- /dev/null +++ b/public/material-icons/folder-job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-keys-open.svg b/public/material-icons/folder-keys-open.svg new file mode 100644 index 0000000..783b16e --- /dev/null +++ b/public/material-icons/folder-keys-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-keys.svg b/public/material-icons/folder-keys.svg new file mode 100644 index 0000000..3527f62 --- /dev/null +++ b/public/material-icons/folder-keys.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-kubernetes-open.svg b/public/material-icons/folder-kubernetes-open.svg new file mode 100644 index 0000000..022be4d --- /dev/null +++ b/public/material-icons/folder-kubernetes-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-kubernetes.svg b/public/material-icons/folder-kubernetes.svg new file mode 100644 index 0000000..b60d83d --- /dev/null +++ b/public/material-icons/folder-kubernetes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-layout-open.svg b/public/material-icons/folder-layout-open.svg new file mode 100644 index 0000000..f8f1def --- /dev/null +++ b/public/material-icons/folder-layout-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-layout.svg b/public/material-icons/folder-layout.svg new file mode 100644 index 0000000..3d773bc --- /dev/null +++ b/public/material-icons/folder-layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-less-open.svg b/public/material-icons/folder-less-open.svg new file mode 100644 index 0000000..3419b0a --- /dev/null +++ b/public/material-icons/folder-less-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-less.svg b/public/material-icons/folder-less.svg new file mode 100644 index 0000000..b6abc5e --- /dev/null +++ b/public/material-icons/folder-less.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-lib-open.svg b/public/material-icons/folder-lib-open.svg new file mode 100644 index 0000000..8c44431 --- /dev/null +++ b/public/material-icons/folder-lib-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-lib.svg b/public/material-icons/folder-lib.svg new file mode 100644 index 0000000..4e75285 --- /dev/null +++ b/public/material-icons/folder-lib.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-linux-open.svg b/public/material-icons/folder-linux-open.svg new file mode 100644 index 0000000..8517b35 --- /dev/null +++ b/public/material-icons/folder-linux-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-linux.svg b/public/material-icons/folder-linux.svg new file mode 100644 index 0000000..df4d229 --- /dev/null +++ b/public/material-icons/folder-linux.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-log-open.svg b/public/material-icons/folder-log-open.svg new file mode 100644 index 0000000..a78771e --- /dev/null +++ b/public/material-icons/folder-log-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-log.svg b/public/material-icons/folder-log.svg new file mode 100644 index 0000000..b2ba6a5 --- /dev/null +++ b/public/material-icons/folder-log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-macos-open.svg b/public/material-icons/folder-macos-open.svg new file mode 100644 index 0000000..988c6bb --- /dev/null +++ b/public/material-icons/folder-macos-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-macos.svg b/public/material-icons/folder-macos.svg new file mode 100644 index 0000000..09c9309 --- /dev/null +++ b/public/material-icons/folder-macos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-middleware-open.svg b/public/material-icons/folder-middleware-open.svg new file mode 100644 index 0000000..346954c --- /dev/null +++ b/public/material-icons/folder-middleware-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-middleware.svg b/public/material-icons/folder-middleware.svg new file mode 100644 index 0000000..f12c99d --- /dev/null +++ b/public/material-icons/folder-middleware.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-mobile-open.svg b/public/material-icons/folder-mobile-open.svg new file mode 100644 index 0000000..6a5a39b --- /dev/null +++ b/public/material-icons/folder-mobile-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-mobile.svg b/public/material-icons/folder-mobile.svg new file mode 100644 index 0000000..03aab13 --- /dev/null +++ b/public/material-icons/folder-mobile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-mock-open.svg b/public/material-icons/folder-mock-open.svg new file mode 100644 index 0000000..c92929c --- /dev/null +++ b/public/material-icons/folder-mock-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-mock.svg b/public/material-icons/folder-mock.svg new file mode 100644 index 0000000..22f88e5 --- /dev/null +++ b/public/material-icons/folder-mock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-netlify-open.svg b/public/material-icons/folder-netlify-open.svg new file mode 100644 index 0000000..d6f63b7 --- /dev/null +++ b/public/material-icons/folder-netlify-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-netlify.svg b/public/material-icons/folder-netlify.svg new file mode 100644 index 0000000..5473f42 --- /dev/null +++ b/public/material-icons/folder-netlify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ngrx-store-open.svg b/public/material-icons/folder-ngrx-store-open.svg new file mode 100644 index 0000000..2c8514e --- /dev/null +++ b/public/material-icons/folder-ngrx-store-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-ngrx-store.svg b/public/material-icons/folder-ngrx-store.svg new file mode 100644 index 0000000..1f9cb2d --- /dev/null +++ b/public/material-icons/folder-ngrx-store.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-node-open.svg b/public/material-icons/folder-node-open.svg new file mode 100644 index 0000000..a785ed3 --- /dev/null +++ b/public/material-icons/folder-node-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-node.svg b/public/material-icons/folder-node.svg new file mode 100644 index 0000000..fb47492 --- /dev/null +++ b/public/material-icons/folder-node.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-open.svg b/public/material-icons/folder-open.svg new file mode 100644 index 0000000..15eadfb --- /dev/null +++ b/public/material-icons/folder-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-packages-open.svg b/public/material-icons/folder-packages-open.svg new file mode 100644 index 0000000..7ac6075 --- /dev/null +++ b/public/material-icons/folder-packages-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-packages.svg b/public/material-icons/folder-packages.svg new file mode 100644 index 0000000..9ba67cb --- /dev/null +++ b/public/material-icons/folder-packages.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-prisma-open.svg b/public/material-icons/folder-prisma-open.svg new file mode 100644 index 0000000..95df8ba --- /dev/null +++ b/public/material-icons/folder-prisma-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-prisma.svg b/public/material-icons/folder-prisma.svg new file mode 100644 index 0000000..a166ebd --- /dev/null +++ b/public/material-icons/folder-prisma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-public-open.svg b/public/material-icons/folder-public-open.svg new file mode 100644 index 0000000..04449ed --- /dev/null +++ b/public/material-icons/folder-public-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-public.svg b/public/material-icons/folder-public.svg new file mode 100644 index 0000000..ea59939 --- /dev/null +++ b/public/material-icons/folder-public.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-queue-open.svg b/public/material-icons/folder-queue-open.svg new file mode 100644 index 0000000..5afa821 --- /dev/null +++ b/public/material-icons/folder-queue-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-queue.svg b/public/material-icons/folder-queue.svg new file mode 100644 index 0000000..2445304 --- /dev/null +++ b/public/material-icons/folder-queue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-routes-open.svg b/public/material-icons/folder-routes-open.svg new file mode 100644 index 0000000..c9c875e --- /dev/null +++ b/public/material-icons/folder-routes-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-routes.svg b/public/material-icons/folder-routes.svg new file mode 100644 index 0000000..2fb204d --- /dev/null +++ b/public/material-icons/folder-routes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-sass-open.svg b/public/material-icons/folder-sass-open.svg new file mode 100644 index 0000000..0a2a82e --- /dev/null +++ b/public/material-icons/folder-sass-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-sass.svg b/public/material-icons/folder-sass.svg new file mode 100644 index 0000000..6f28731 --- /dev/null +++ b/public/material-icons/folder-sass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-scripts-open.svg b/public/material-icons/folder-scripts-open.svg new file mode 100644 index 0000000..ca49bbb --- /dev/null +++ b/public/material-icons/folder-scripts-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-scripts.svg b/public/material-icons/folder-scripts.svg new file mode 100644 index 0000000..5bcff22 --- /dev/null +++ b/public/material-icons/folder-scripts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-secure-open.svg b/public/material-icons/folder-secure-open.svg new file mode 100644 index 0000000..163f7da --- /dev/null +++ b/public/material-icons/folder-secure-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-secure.svg b/public/material-icons/folder-secure.svg new file mode 100644 index 0000000..110093f --- /dev/null +++ b/public/material-icons/folder-secure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-server-open.svg b/public/material-icons/folder-server-open.svg new file mode 100644 index 0000000..706b8af --- /dev/null +++ b/public/material-icons/folder-server-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-server.svg b/public/material-icons/folder-server.svg new file mode 100644 index 0000000..4f03f47 --- /dev/null +++ b/public/material-icons/folder-server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-serverless-open.svg b/public/material-icons/folder-serverless-open.svg new file mode 100644 index 0000000..113f73c --- /dev/null +++ b/public/material-icons/folder-serverless-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-serverless.svg b/public/material-icons/folder-serverless.svg new file mode 100644 index 0000000..226f89d --- /dev/null +++ b/public/material-icons/folder-serverless.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-shared-open.svg b/public/material-icons/folder-shared-open.svg new file mode 100644 index 0000000..6542e7f --- /dev/null +++ b/public/material-icons/folder-shared-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-shared.svg b/public/material-icons/folder-shared.svg new file mode 100644 index 0000000..01e7a17 --- /dev/null +++ b/public/material-icons/folder-shared.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-src-open.svg b/public/material-icons/folder-src-open.svg new file mode 100644 index 0000000..8cd9ee3 --- /dev/null +++ b/public/material-icons/folder-src-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-src-tauri-open.svg b/public/material-icons/folder-src-tauri-open.svg new file mode 100644 index 0000000..969c577 --- /dev/null +++ b/public/material-icons/folder-src-tauri-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-src-tauri.svg b/public/material-icons/folder-src-tauri.svg new file mode 100644 index 0000000..727790c --- /dev/null +++ b/public/material-icons/folder-src-tauri.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-src.svg b/public/material-icons/folder-src.svg new file mode 100644 index 0000000..8d45da9 --- /dev/null +++ b/public/material-icons/folder-src.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-store-open.svg b/public/material-icons/folder-store-open.svg new file mode 100644 index 0000000..13e415b --- /dev/null +++ b/public/material-icons/folder-store-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-store.svg b/public/material-icons/folder-store.svg new file mode 100644 index 0000000..ae29c03 --- /dev/null +++ b/public/material-icons/folder-store.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-storybook-open.svg b/public/material-icons/folder-storybook-open.svg new file mode 100644 index 0000000..9be24b2 --- /dev/null +++ b/public/material-icons/folder-storybook-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-storybook.svg b/public/material-icons/folder-storybook.svg new file mode 100644 index 0000000..26e6246 --- /dev/null +++ b/public/material-icons/folder-storybook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-supabase-open.svg b/public/material-icons/folder-supabase-open.svg new file mode 100644 index 0000000..d58a692 --- /dev/null +++ b/public/material-icons/folder-supabase-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-supabase.svg b/public/material-icons/folder-supabase.svg new file mode 100644 index 0000000..c0c8189 --- /dev/null +++ b/public/material-icons/folder-supabase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-target-open.svg b/public/material-icons/folder-target-open.svg new file mode 100644 index 0000000..25ce48e --- /dev/null +++ b/public/material-icons/folder-target-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-target.svg b/public/material-icons/folder-target.svg new file mode 100644 index 0000000..41416cf --- /dev/null +++ b/public/material-icons/folder-target.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-tasks-open.svg b/public/material-icons/folder-tasks-open.svg new file mode 100644 index 0000000..ed0e67f --- /dev/null +++ b/public/material-icons/folder-tasks-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-tasks.svg b/public/material-icons/folder-tasks.svg new file mode 100644 index 0000000..1a9ef8a --- /dev/null +++ b/public/material-icons/folder-tasks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-temp-open.svg b/public/material-icons/folder-temp-open.svg new file mode 100644 index 0000000..ec798b1 --- /dev/null +++ b/public/material-icons/folder-temp-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-temp.svg b/public/material-icons/folder-temp.svg new file mode 100644 index 0000000..3002a86 --- /dev/null +++ b/public/material-icons/folder-temp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-template-open.svg b/public/material-icons/folder-template-open.svg new file mode 100644 index 0000000..e3f822b --- /dev/null +++ b/public/material-icons/folder-template-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-template.svg b/public/material-icons/folder-template.svg new file mode 100644 index 0000000..1d15837 --- /dev/null +++ b/public/material-icons/folder-template.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-terraform-open.svg b/public/material-icons/folder-terraform-open.svg new file mode 100644 index 0000000..fff197b --- /dev/null +++ b/public/material-icons/folder-terraform-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-terraform.svg b/public/material-icons/folder-terraform.svg new file mode 100644 index 0000000..e71fba8 --- /dev/null +++ b/public/material-icons/folder-terraform.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-test-open.svg b/public/material-icons/folder-test-open.svg new file mode 100644 index 0000000..f3fefb3 --- /dev/null +++ b/public/material-icons/folder-test-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-test.svg b/public/material-icons/folder-test.svg new file mode 100644 index 0000000..92bee16 --- /dev/null +++ b/public/material-icons/folder-test.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-tools-open.svg b/public/material-icons/folder-tools-open.svg new file mode 100644 index 0000000..77ecaa8 --- /dev/null +++ b/public/material-icons/folder-tools-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-tools.svg b/public/material-icons/folder-tools.svg new file mode 100644 index 0000000..d591a1f --- /dev/null +++ b/public/material-icons/folder-tools.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-typescript-open.svg b/public/material-icons/folder-typescript-open.svg new file mode 100644 index 0000000..87c8e2f --- /dev/null +++ b/public/material-icons/folder-typescript-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-typescript.svg b/public/material-icons/folder-typescript.svg new file mode 100644 index 0000000..df26f89 --- /dev/null +++ b/public/material-icons/folder-typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-utils-open.svg b/public/material-icons/folder-utils-open.svg new file mode 100644 index 0000000..b894eff --- /dev/null +++ b/public/material-icons/folder-utils-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-utils.svg b/public/material-icons/folder-utils.svg new file mode 100644 index 0000000..fcc7999 --- /dev/null +++ b/public/material-icons/folder-utils.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-vercel-open.svg b/public/material-icons/folder-vercel-open.svg new file mode 100644 index 0000000..a2cf77e --- /dev/null +++ b/public/material-icons/folder-vercel-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-vercel.svg b/public/material-icons/folder-vercel.svg new file mode 100644 index 0000000..335d55f --- /dev/null +++ b/public/material-icons/folder-vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-views-open.svg b/public/material-icons/folder-views-open.svg new file mode 100644 index 0000000..1c785e4 --- /dev/null +++ b/public/material-icons/folder-views-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-views.svg b/public/material-icons/folder-views.svg new file mode 100644 index 0000000..5d41f10 --- /dev/null +++ b/public/material-icons/folder-views.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-vscode-open.svg b/public/material-icons/folder-vscode-open.svg new file mode 100644 index 0000000..82e3a21 --- /dev/null +++ b/public/material-icons/folder-vscode-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-vscode.svg b/public/material-icons/folder-vscode.svg new file mode 100644 index 0000000..07ccbd6 --- /dev/null +++ b/public/material-icons/folder-vscode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-windows-open.svg b/public/material-icons/folder-windows-open.svg new file mode 100644 index 0000000..9173ff9 --- /dev/null +++ b/public/material-icons/folder-windows-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder-windows.svg b/public/material-icons/folder-windows.svg new file mode 100644 index 0000000..184de31 --- /dev/null +++ b/public/material-icons/folder-windows.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/folder.svg b/public/material-icons/folder.svg new file mode 100644 index 0000000..ebf513e --- /dev/null +++ b/public/material-icons/folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/font.svg b/public/material-icons/font.svg new file mode 100644 index 0000000..961586d --- /dev/null +++ b/public/material-icons/font.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/fsharp.svg b/public/material-icons/fsharp.svg new file mode 100644 index 0000000..1e5b7cf --- /dev/null +++ b/public/material-icons/fsharp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/git.svg b/public/material-icons/git.svg new file mode 100644 index 0000000..c1e08fd --- /dev/null +++ b/public/material-icons/git.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/go-mod.svg b/public/material-icons/go-mod.svg new file mode 100644 index 0000000..1689116 --- /dev/null +++ b/public/material-icons/go-mod.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/go.svg b/public/material-icons/go.svg new file mode 100644 index 0000000..d874e32 --- /dev/null +++ b/public/material-icons/go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/gradle.svg b/public/material-icons/gradle.svg new file mode 100644 index 0000000..72d88fd --- /dev/null +++ b/public/material-icons/gradle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/graphql.svg b/public/material-icons/graphql.svg new file mode 100644 index 0000000..252b0f7 --- /dev/null +++ b/public/material-icons/graphql.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/gulp.svg b/public/material-icons/gulp.svg new file mode 100644 index 0000000..bc6a77f --- /dev/null +++ b/public/material-icons/gulp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/haskell.svg b/public/material-icons/haskell.svg new file mode 100644 index 0000000..ae44927 --- /dev/null +++ b/public/material-icons/haskell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/html.svg b/public/material-icons/html.svg new file mode 100644 index 0000000..71caf32 --- /dev/null +++ b/public/material-icons/html.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/image.svg b/public/material-icons/image.svg new file mode 100644 index 0000000..0ca446b --- /dev/null +++ b/public/material-icons/image.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/java.svg b/public/material-icons/java.svg new file mode 100644 index 0000000..0950bc4 --- /dev/null +++ b/public/material-icons/java.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/javascript-map.svg b/public/material-icons/javascript-map.svg new file mode 100644 index 0000000..a1fcc22 --- /dev/null +++ b/public/material-icons/javascript-map.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/javascript.svg b/public/material-icons/javascript.svg new file mode 100644 index 0000000..254704a --- /dev/null +++ b/public/material-icons/javascript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/jest.svg b/public/material-icons/jest.svg new file mode 100644 index 0000000..fb40ecb --- /dev/null +++ b/public/material-icons/jest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/jsconfig.svg b/public/material-icons/jsconfig.svg new file mode 100644 index 0000000..5aef481 --- /dev/null +++ b/public/material-icons/jsconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/json.svg b/public/material-icons/json.svg new file mode 100644 index 0000000..2590b94 --- /dev/null +++ b/public/material-icons/json.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/julia.svg b/public/material-icons/julia.svg new file mode 100644 index 0000000..39fca63 --- /dev/null +++ b/public/material-icons/julia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/key.svg b/public/material-icons/key.svg new file mode 100644 index 0000000..08f67af --- /dev/null +++ b/public/material-icons/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/kotlin.svg b/public/material-icons/kotlin.svg new file mode 100644 index 0000000..740505c --- /dev/null +++ b/public/material-icons/kotlin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/less.svg b/public/material-icons/less.svg new file mode 100644 index 0000000..2e13a3c --- /dev/null +++ b/public/material-icons/less.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/license.svg b/public/material-icons/license.svg new file mode 100644 index 0000000..08d7d72 --- /dev/null +++ b/public/material-icons/license.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/lock.svg b/public/material-icons/lock.svg new file mode 100644 index 0000000..ca49d02 --- /dev/null +++ b/public/material-icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/lua.svg b/public/material-icons/lua.svg new file mode 100644 index 0000000..ca7a3d5 --- /dev/null +++ b/public/material-icons/lua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/makefile.svg b/public/material-icons/makefile.svg new file mode 100644 index 0000000..e211671 --- /dev/null +++ b/public/material-icons/makefile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/markdown.svg b/public/material-icons/markdown.svg new file mode 100644 index 0000000..4c22434 --- /dev/null +++ b/public/material-icons/markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/maven.svg b/public/material-icons/maven.svg new file mode 100644 index 0000000..7a88745 --- /dev/null +++ b/public/material-icons/maven.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/mdx.svg b/public/material-icons/mdx.svg new file mode 100644 index 0000000..b2ab561 --- /dev/null +++ b/public/material-icons/mdx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/netlify.svg b/public/material-icons/netlify.svg new file mode 100644 index 0000000..27c837f --- /dev/null +++ b/public/material-icons/netlify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/next.svg b/public/material-icons/next.svg new file mode 100644 index 0000000..83fee37 --- /dev/null +++ b/public/material-icons/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/nim.svg b/public/material-icons/nim.svg new file mode 100644 index 0000000..d985bb4 --- /dev/null +++ b/public/material-icons/nim.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/nodejs.svg b/public/material-icons/nodejs.svg new file mode 100644 index 0000000..ba73901 --- /dev/null +++ b/public/material-icons/nodejs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/nuxt.svg b/public/material-icons/nuxt.svg new file mode 100644 index 0000000..babf919 --- /dev/null +++ b/public/material-icons/nuxt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/ocaml.svg b/public/material-icons/ocaml.svg new file mode 100644 index 0000000..cb6eb6b --- /dev/null +++ b/public/material-icons/ocaml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/pdf.svg b/public/material-icons/pdf.svg new file mode 100644 index 0000000..1c84fe8 --- /dev/null +++ b/public/material-icons/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/perl.svg b/public/material-icons/perl.svg new file mode 100644 index 0000000..0534cad --- /dev/null +++ b/public/material-icons/perl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/php.svg b/public/material-icons/php.svg new file mode 100644 index 0000000..1d7e336 --- /dev/null +++ b/public/material-icons/php.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/pnpm.svg b/public/material-icons/pnpm.svg new file mode 100644 index 0000000..fc52c6e --- /dev/null +++ b/public/material-icons/pnpm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/powershell.svg b/public/material-icons/powershell.svg new file mode 100644 index 0000000..a266393 --- /dev/null +++ b/public/material-icons/powershell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/prettier.svg b/public/material-icons/prettier.svg new file mode 100644 index 0000000..a6cda34 --- /dev/null +++ b/public/material-icons/prettier.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/prisma.svg b/public/material-icons/prisma.svg new file mode 100644 index 0000000..121abea --- /dev/null +++ b/public/material-icons/prisma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/proto.svg b/public/material-icons/proto.svg new file mode 100644 index 0000000..7757c0e --- /dev/null +++ b/public/material-icons/proto.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/python.svg b/public/material-icons/python.svg new file mode 100644 index 0000000..20c2508 --- /dev/null +++ b/public/material-icons/python.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/r.svg b/public/material-icons/r.svg new file mode 100644 index 0000000..5703dd0 --- /dev/null +++ b/public/material-icons/r.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/react.svg b/public/material-icons/react.svg new file mode 100644 index 0000000..ced90db --- /dev/null +++ b/public/material-icons/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/react_ts.svg b/public/material-icons/react_ts.svg new file mode 100644 index 0000000..887f72c --- /dev/null +++ b/public/material-icons/react_ts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/readme.svg b/public/material-icons/readme.svg new file mode 100644 index 0000000..943d08f --- /dev/null +++ b/public/material-icons/readme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/rollup.svg b/public/material-icons/rollup.svg new file mode 100644 index 0000000..7fa0153 --- /dev/null +++ b/public/material-icons/rollup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/ruby.svg b/public/material-icons/ruby.svg new file mode 100644 index 0000000..2e3215d --- /dev/null +++ b/public/material-icons/ruby.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/rust.svg b/public/material-icons/rust.svg new file mode 100644 index 0000000..b382aa4 --- /dev/null +++ b/public/material-icons/rust.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/sass.svg b/public/material-icons/sass.svg new file mode 100644 index 0000000..6f39acb --- /dev/null +++ b/public/material-icons/sass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/scala.svg b/public/material-icons/scala.svg new file mode 100644 index 0000000..08e0c2d --- /dev/null +++ b/public/material-icons/scala.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/settings.svg b/public/material-icons/settings.svg new file mode 100644 index 0000000..dc701ae --- /dev/null +++ b/public/material-icons/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/storybook.svg b/public/material-icons/storybook.svg new file mode 100644 index 0000000..8a4bdea --- /dev/null +++ b/public/material-icons/storybook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/svelte.svg b/public/material-icons/svelte.svg new file mode 100644 index 0000000..4b14a6f --- /dev/null +++ b/public/material-icons/svelte.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/svg.svg b/public/material-icons/svg.svg new file mode 100644 index 0000000..fbaf9e5 --- /dev/null +++ b/public/material-icons/svg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/swift.svg b/public/material-icons/swift.svg new file mode 100644 index 0000000..df413c8 --- /dev/null +++ b/public/material-icons/swift.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/tailwindcss.svg b/public/material-icons/tailwindcss.svg new file mode 100644 index 0000000..a55450d --- /dev/null +++ b/public/material-icons/tailwindcss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/toml.svg b/public/material-icons/toml.svg new file mode 100644 index 0000000..aa4f24c --- /dev/null +++ b/public/material-icons/toml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/tsconfig.svg b/public/material-icons/tsconfig.svg new file mode 100644 index 0000000..817fb8d --- /dev/null +++ b/public/material-icons/tsconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/turborepo.svg b/public/material-icons/turborepo.svg new file mode 100644 index 0000000..f0e5449 --- /dev/null +++ b/public/material-icons/turborepo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/typescript-def.svg b/public/material-icons/typescript-def.svg new file mode 100644 index 0000000..a9ef958 --- /dev/null +++ b/public/material-icons/typescript-def.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/typescript.svg b/public/material-icons/typescript.svg new file mode 100644 index 0000000..acaf0dd --- /dev/null +++ b/public/material-icons/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/vercel.svg b/public/material-icons/vercel.svg new file mode 100644 index 0000000..8ff6e49 --- /dev/null +++ b/public/material-icons/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/video.svg b/public/material-icons/video.svg new file mode 100644 index 0000000..2ade126 --- /dev/null +++ b/public/material-icons/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/vite.svg b/public/material-icons/vite.svg new file mode 100644 index 0000000..3f35407 --- /dev/null +++ b/public/material-icons/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/vitest.svg b/public/material-icons/vitest.svg new file mode 100644 index 0000000..a527ee0 --- /dev/null +++ b/public/material-icons/vitest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/vue-config.svg b/public/material-icons/vue-config.svg new file mode 100644 index 0000000..bfe01c2 --- /dev/null +++ b/public/material-icons/vue-config.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/vue.svg b/public/material-icons/vue.svg new file mode 100644 index 0000000..359f899 --- /dev/null +++ b/public/material-icons/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/webpack.svg b/public/material-icons/webpack.svg new file mode 100644 index 0000000..68233d9 --- /dev/null +++ b/public/material-icons/webpack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/xml.svg b/public/material-icons/xml.svg new file mode 100644 index 0000000..c3a1eaf --- /dev/null +++ b/public/material-icons/xml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/yaml.svg b/public/material-icons/yaml.svg new file mode 100644 index 0000000..1f1cc7c --- /dev/null +++ b/public/material-icons/yaml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/yarn.svg b/public/material-icons/yarn.svg new file mode 100644 index 0000000..9af575c --- /dev/null +++ b/public/material-icons/yarn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/zig.svg b/public/material-icons/zig.svg new file mode 100644 index 0000000..b5604df --- /dev/null +++ b/public/material-icons/zig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/material-icons/zip.svg b/public/material-icons/zip.svg new file mode 100644 index 0000000..1056c60 --- /dev/null +++ b/public/material-icons/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/notification-sw.js b/public/notification-sw.js new file mode 100644 index 0000000..74cf9a7 --- /dev/null +++ b/public/notification-sw.js @@ -0,0 +1,39 @@ +// ============================================ +// Notification Service Worker +// ============================================ +// 专门用于显示通知(Android Chrome 不支持 new Notification()) +// 不做缓存、不拦截 fetch,只处理通知相关事件 + +self.addEventListener('notificationclick', event => { + event.notification.close() + + const data = event.notification.data + if (!data) return + + // 构建跳转 URL + let url = '/' + if (data.sessionId) { + const dir = data.directory ? `?dir=${data.directory}` : '' + url = `/#/session/${data.sessionId}${dir}` + } + + // 聚焦已有窗口或打开新窗口 + event.waitUntil( + clients.matchAll({ type: 'window', includeUncontrolled: true }).then(windowClients => { + // 找到同源的已有窗口 + for (const client of windowClients) { + if (client.url.startsWith(self.location.origin) && 'focus' in client) { + // 导航到目标 session + client.postMessage({ + type: 'notification-click', + sessionId: data.sessionId, + directory: data.directory, + }) + return client.focus() + } + } + // 没有已有窗口,打开新的 + return clients.openWindow(url) + }), + ) +}) diff --git a/public/pi.svg b/public/pi.svg new file mode 100644 index 0000000..87a0d98 --- /dev/null +++ b/public/pi.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/piagentui-logo.png b/public/piagentui-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..73541c3ab9260a48f03079004b90922adcfd5d5d GIT binary patch literal 424625 zcmeFYRZyI5vjqwv!QI^@xLeTR1Pu@*xVsMS1b26LcOBeag1a-gyK~rovcK=IU3G5G z^|_dOYo3{luBT;nuU>DkysS6^EG{e<7#M=2gopwd*vH-f`9MRypZGsl(7Zpu0Se+m z;EO|aUhiLEY$VhGU|?`)|MLL{OG(29gLGAv6#1&;oOav>6O}*jKZ&{n zsRIf2)f)_22w4&wT}D1fSt>!OF998hPQ@@JDQc)rp_22tp#+`E)?!FDM}bc5M>Kvs zz6yRkg<_29B8_66gl%+hI zb9{B;VNDbMGdirlP`3O(kC1u%T`{<qepJ=@IBSP#&I1eU32=H?IAv+>LpW$FtngCrC5s&G03H}x|j;mkTL5NeRW zkJR>W5a1zCSUWTP;f?MLj2|JcLgAoB&#>CH*1Se^ZXl`D{y1{0SumLUuUAE>GM-oN z8@4VxmwxcH)TH$+h4|l;_N|xrpU5m988UfoQ~{5Eqg<80_yDo!@E2CRVb)!(Fo;GC32mQ%LAfT>W^)Dq@S4!|3=q-Z)_&sTmIJNw7JR& z^S4pU8LzerNO^mV^l9gI%Vj<}+{KM{TUMb9%XSVR6Nz%N?Q=Unpwvff*KQ3cNiAz%aQ!AWfH=nPzTS70ITZ5k?$?>e~ z(oYp6pfa+ZEL#(79Aj{8ONr5k9~Jy*327tJqQ8HjoenSHp;oRHBAWfO!qst|>pte~ zT=VFAsRRB#GoA<&KOgOfSBt+ z(YkS*>4S~o1k_k_D>NRzuv;D)RzAVw^TXQgLzf{HZ0tp@E$A7w3Gfa+5LJP+`UJH z4`gkrI+9lT69h?M{~8K@v9g`(KZ(4neZSPiE4VrC0W~^dRknEM399q&yW-XW#&Jsh zK-eKuJb_a|QJ*EWDj=!7e6*h_BLNLwPN90<;{8ksxec#PN;2fTC{bM@PX&$9y%pqQVP}Mi;yL5+gGPm2ve> z*Vi6yyE;%=fBvo8xc?w(A0C+Y+wiW>mfiESDG%3`G@{cQ&wXkeyyx?1Eq9t5b0A0* z&YTvkC)?+uiDU+sbUX{k_+-uUB*X5;qs0$nrSVY@XK2@o8fEU;7^rxO{Hrh6Xl(PW zKz9#*%4+qaz;jKsd0J!Pz!DAPaEG1ph7PWdRizI^AUu8xyYI5>4{4Bfn#=g>*5vZ& zuNe}-^xplT3RPHT3L6et0aOcCxQno z%TGkn8po=M6wNA*VuNFjikPqCjoL;h+gFn>4h;^o7tBqn za*^n}j#T+&Cnx!)&!u{%?&U*xE|ol(yw|J-xpFeWgvrIC|`JmX^WpwSD=??YNJa_P^#?{R7VzU%ILI>)6#b2*&|WWKs;eqZmzK-9LdB)IrsRNNrKFiUwkIe@}z)3Jkk585_b+_2S zm~I5fMoOUos843jo4RirQ0x%1G5hX?X_wIS)pKgnnG;jZ-hkDqU!j;ZiIBm?<**kT z*V7i)0^XdgDj&9%*P^@HeG4>}9{pPgkIN|({x+s4|1>xu^Cg&V{gOB zdt$XxdjqWIv`pBRsdSBM^>M5tH97~ymbY{&PEfGjrrv`HruLT^*co!>@ z?KUr$7#g4DVQGpGKGrs~0uO)UzHffht_K2j<)^;-4nQM!Re_tJHue;}*3f zyPh33k4UGkRZf)jO@CYCKvclr3eL%`z;L#>WOk@z44$*mqMi>W9zS#`M(G}ns!zJguFg?6n35ZYdA=1$*sB2= zm1yiN=8j_#Z(clCZ0XQADo|THOlOzUym~C2hf2}}<8lu5K`UfQ()MPQmFYS&mR32`mU$h4};D7e@crLRJ?eZK>5BgA zokZMf(RX8KCd!$#SK~(K zmzte&%22|_K7Qdq>xIpdvp(zLz6Gyv;eLL%Q{)L9zbPwk%|N=~a6Oc8T`l}Fj=ghm zndwwaqm))C7HAXM?G7BDS5Lx20qYs+?7AFtdbqFBv|sS(G3P;XyUK6tk>- z$zFUxCaDM%fI&T#mg(?)vknf855lU`*a)CE4Lhw>V)mo7fpi}Nk~?&37LMO(6#O&J z&-zu#cvlbS2HhsnrkKhaW$#; zzoCf3e_d+6F0b)=c}d#(cF4kO=Q1fv&j`NbG8SYwMhA55$5&zn(P$NO`(UI$fmsw_ zdkWvB_6SLwA>Y$+-}w)~#U)9VW|`_S&?hF!B-IB7aSKmHL{>OFjRGeyPbT*6&f&I8 zr`h?;bsg8bXXxAw&pfZ<8{2Xl9p?EKfm>JBnav${K);1Qxv}OauP6H#@F4XMEVLLz zRsp+<7b~%us~H3cCr-wE_Xlvsn-Pf_)l4fKQF}PoPX%A>v&gqg1ndVP3>s3H_awLn z2%=wRZF&tPjSZwYPBU=Jr;W$2C5r8&N|RHP=E!*D&~Ot7(87H}rsBCps% zYHD$fUg7WFfz#oCY&y#(T(Na>Y`A~E@^3-HnD2WcIt1~Ji8p-eT$;7;w9GG9s?p-(VKBdoHV0;h#Fh3i_cy2xyb$XX08X+=vnU0ewQ`LU%plf6aa651M&PVHyd*u@!~qv=R?HNrN1P^|hjkTp{; zf}Ytj$k}h0n`T)S%B-_F4L1|?aqzi~<{~pk2?bnNo^3aeIM2ND-kfR7|Hh@uzr6!O z_o8v*Qy*w%7k9<&rsf3>YkW7d_4?+5hoRL1Nt;(?JZ=QmupCNlvt*tXBh?_KZ3mwk z>ZUmRhEr<3`cek8a49sAgu77BHiyBFMG z1GJVH-Bf=YHf+{rISvBaMFK~Meq=2C9M4Ei0asmsI)Bf0n;k!wn#4tILil4M3|TGr zoff0(9p(R^;o8oBg~H}>?Xp|wh+G-Np1}FeUO=F%K>C^X7bG}ym9d#QWyxW~-$(36 zlfFF;^&uen8W#{J-Thd8ZJ%3lB0`8 z1z1grDtzE70uXLzk`=wj9MWd1W$ziDgpwvBHm-Km;o@bghX`e=&KZ>Cn~=l`xdKEU zd$P@#r)tGCWbMG(m{Es67J$x7P4`_-%J7%NtjKUae%fo;il+IGzn#g1|98X>!SkM; zuy~ufEqDnY5NPulxsnUJrBCOq@~l@HbA5L&at|7Q?(ed%eLHdvc%wPF7IEhc&!15N z2Yp4+=lidYda9K6)1sp=5&38a`a2p*5^0V!ja@7OZtKarnPlRuXP?jjbJ2yEm$q#) z&SrDno4Hkv^KH9Z&%YktLLxiP7w#rBL!kfEoh<~!fBI`J;WRH@duv;l{l3Bgff_sR zw+&Wp!meavyM?7u9p3R0VM2UnD1$``zHjJg0D4obOzIcq-+>>^|96h5|&d`xC$*{-X?wuN!BObcS zRk3elk{4gnFFDT*Uw{|o|C?>sxqYBQ{-^5l<@Q_PW;7@itdth=@daKQXu+PuXVl51 z7eOSt!Ok6AlpCiY5m2p4`-`+M_ojO?ClgwR8;=$mU#89-7uu zBS;*YSR6n3cwf}%=PtZFL6T5$tIZ(Akc%GyFg>xu`i_7XgGzZCF3rZ0yg-lN z3$Hc_W9N2f7d)oi<{N@pov6n2d2;6U(fbMpNxGhtBp`*(ot1iI!0TGA1;qn4#qQF4 zT$*{oczn%_l!mz;1LIrBo0tnC926ZsH)P+e`_?T_jlgGj_v`Aj)R$4&sq+6|%GM3S zzrKag_>#V^qCxm{-?4ljI>E>M+)f)x+0tyG!^HIaC^aR@*N!8;9Gbhs4aHWTjnJ577&TtXWwhB0%>f&uz>l)4f3BbM99hku=v1dv3a)hf4{@ zI9Aka&KeBn1S(!m>xo?u>++}c&;qP{i7&C;YOni^a@vs=-~Tg@*v9^w4=O07QZ6oR zog4ZcwGWm(miN_(+QUR&-t0W*P2fgN3`!^>)Ra-}OsdTQ@8K2aBT(OE;Pmc-o{sP( zy11}}jBqfp%BJLb{0hH+oB3GaBghBYX5ZvCIM(ToU)lY&G1Bv??v(pKyjNf9f6dGx z_xskCr_>CMymzycNbke)+wHI+mz^m}iJIL@yHnz_V`Ibao1-J{lKnWFN_(Bs&*7!D zrqx3YuG#!mo^lTg6hPOj&F6M+Vz^*#Dr-S^92ZogRRKm-xg{+H+vzKXVEA!_^h4v1 zdJzR}=>%9cf$l@J;!;cXR1M1W1@5$q@G}O-3*9zK3NsJspf&oxa}3Q!Pe%iXx<&+Jdf?fLMquVoAp9Nr9R}8P>W3mZ zv??pd#Cmq{`SH_BC_!&8$J#w|y$S@yfNZVYpTz08{gd?{;(_7Enu(OVq$C{)y&A;G zYkm^}nXOb}qqD4gWwboY@~$V@$RLH?3uGOo=Nl;Q(NlWk@te&V^_sl`|qSyNRcZ!Fo!ydeS`xwq<;<03r2R9{TX2^Ap;8uQ2r}pGh zssrmMmsA8Yz#hC%9cJl~^PV>Kg<{fabEj%%rp2*?ZJEw1oag5BJ3crZ7Al|%(Q4Av zc~e1~ifwC*iveVX9DNgpcC2IEnrzM(4$$T5UwYPOSngU+9y-%%grJ&IBaK;W3 z9rM~X6-1UJBaKJZZ^-i$FYjjyL%Ct!~BX|t6a|HBe6n%Z&>r|KehBIXu`|j$;9?y2-Nos)qa~l zSsq&1xmJFoRo|#OXN}2Bsy80Z9-&@yx)y7fVGAqK3>i>9%NCRu5-mx3L?O`Zi<~ka zk%VS6iX&UgO`VivkdR^;Osi{aj>nKLi9HIBuDF>Po#U|@Mp7Y(3k*}>f2?a5QR(5k z^zMj?o%GWw%?I}6)JRW!NOLuZ6pt{@6tJav%6}p}e39JT80{iUCWQP?N8E=8{STq0 z0j1&0%-HzQ;pD>XwHGRf;B`Fp>4|>Ai$0K6s!u)jM<7^|5sbMYRXyvjLNC7a<@f_Q z5!m|A(=RB1-jkhPe5B>aUgE~V^o!b=ZjWtb<^Yv_*j|mJFOs95q-?6q$ttth^@6gI zEnk02ItHb|K`Zafe;67eeQOA8_%i0OPU7twI2P)(I{h>_iMB|Dsr_~yZH=c90iF8? z4IH5VL4yhihSnsckdeqrjd8F03I1l6iBP%l$V#mtohHMqb=qKVI1XV0cuF^m+LapJ z?L&%+O%}Q2B)CHDNxr46JbdEBG`h<`7UZoVpb#^Rl#sB_hma@}NHn9Qr0v(m)_Q1W zDj|(Vsjo(()i~Cg;3{Q5Spnk#m7*(XJuTC%L*HYBMf1Bj?f16~7&O-iH&5ZiT+9UH@Yu*dsiAQB?(nLfch`brzwat+O zJ(H4E`JN%D~7O`ONt#1p7;b?%@tdB>nIBEDK z4Jw&QaHozU<2ZZ2rQ`0rr@T#?jpj5mAS@8*N5>#mJjEd!@yFVo2l(37SDiZD%WN)& zp4L~1WHE#PLm`Bu{>%JoKt1;hXfPsq+&`RH-Y+u>2yl!@VY;@#yC(a(|4GXYHE*1e=j=UxN@+&P=PlOWji z5nTXJdz1OVlRjv_l#w2$U&>~*#hoZD2$^%=5c>>GEkc{|txDQ|YOZbg{r38*`nLSEBn7k`SvRZ=D zLXM*p^N2iNJ6_*L{@=bYfi>&EJ%UBXiLul|B%%q~GlegIEaimxhlE?8VBqCpNUW6g zx*6%oBt$rw;D6mCb3P4jO`%RqPH`@gK3T=66wdVJ~lnW~jNp_p{DW z7+MiOI!>^rt})Hj6yQB31LwAjfX^M>6|A^uO!y%9hGeumN|fG2_7rO#^=D4*lL7lD z)f|K2CL-P&uh;1bPqX{Ay$r&(r*2cYM8-HN)o`-iUma75wP_ePxL;lpQ@ZUcI_r#0eUe zI0k==nm$3V#tAw3)_(2IY)hAE5RiiSfqBwS899ji%h!mCTA9v1#^cEWBUV!FY~j|# zbcf244xy$CY#q0c6wFXg0#RMZX%7PHw>Gz-{)5~5$}w2(dAx{p zxBanivs;Cq^JATBA~JI{jV~mhKUY_-|nNzO(zQ%|}yA%>1n#gcXZ(QX6Wp zSgSN%sR!BeU!a|=s%`Zc__!Vi#=N$zB%b7?BM}2i?U$h{C&-Ta;AD@0r}7nLhoR0Q z^4$hHI{eX%1bxWUCQi3Yg7ujvh0SBmGtaCyD70^tf2t{^??2$m)4O%G4bcZ`5O^_p zB^!~tweGk-Hko+$yDk&ctTs1m1*rjQFMhKUbTBt^GHJ6!oJ+(Qfv~~sX)re(IH>TW znl^+ULp@8J1ex>NCuXczQPSO%yMWemqeHb6fhmPKF)_u7vQdEd`%=@ZL~H7CqlLwJ zpv4W(zx3@i``xWB9}Y17)9|hQOV#KFs=9kVkM)5D+RqQ3qZvJo+|TkuUA#bcF8dHl zUOE=F@RMkO6ZUZ&_E5rA7#LrkDpNu^4Wxg2jFR0cVwOV!=fT+vnuGFe&5iOwJ z!H-vFv>qwO3lABv8bXYU?Qh*1-!T7ebhB;gW8;C!vv1PS{5x;-Du)W#e03#ZR#9|Q zMnwYI^4X4~JB)PB{Z=ll%iuEIXizjVf789fyW>lHIqF_SLuz+B1i}0XHUBNjf4L)` z-m{m-ekAn7Oo6KpD=*h*a|`<&QM=yujw=}=b0_i^|Y)fWt3#U$ZjI+T;|?e5YaFB_jgoE>U9 zFAFcKz$L!zbUDc#X#HWXTgU%JNI&OCxSsbBc~$%Ea=&GwHR^3+ikr*sBCWV7wTz!1 zZAr~EXuSj_IlKQ(Pq-H+)f?mc>Td=4X;e!d(%s)rvU=mhzd|h&FvTVZeSvJ84;4UN zz?&aN(~S>IePC3gFko`&7)rO2lTK;_Ph8(Ol9X9|#BZPz!f_%aX**Bjig*82M_&&Q5d8^2P=hRG} zdC%QTabP#O560Cdi_{D{rdCzhrYL`4*Uz+>a>Urg*f`gdU_9TfR?I;Z`aq2qj5>cNfhts8qz z1&k&2lhvVN%-AS5Z`ZJ`kl1c-8f)E?7o1B-{N1+Ez5@y%jwxg`MYva^6KYBR)lXuz zR|AWhs@=?Zv`LRr>skbfnLQVT%*Wa?fB6 zh1lRJ0t&+*i$wuETOr%!oe#4_Pri%gv-!4N)@Jc_B>g8QPOV*c;IFFX$``Kmv|qpT;jh?9V##`6AFOJDYn45q;l zWX09xzAtl@7d}?HtIYM4-8b6zw>LUJTqRmBZ{_tl$@h}*WC#w&AFJv7oh)zgvr8i+q5eyC5lqcJBFEuUusQpXXi-;e?w*2UWH z%M|a1y7lR-Sn9gvw{S<0+r!DAbIOx0*u7$#t7bTQh9+gM1 zZVkdBCCsP@M36W|KVpwoPzphAW(mPQE>U{ba74;y)E^9mv}eCBu~uWdp4Z+LGF`HA z7-w#v%xX2|7U~`@_Ys}$lnVJ)=4f0h4A?#yznC~$hDHqEouN(SQ@V=4kgwMIY<1J> zc(?nzDd|7-DsCdfq|vKT0fQZ1!Ks-Gdo?tEV&0~vC#kFbQfJJlkJJPjL^3jBju~s< zV$3yCOPg#ciG+?1646(%QW7JmY6bQ47?Gcw6DE>v%D;_uLTV+&=5P32M28~D zBB-V$)D84Wsd9AD30GeNZ@RagH`whbbjc4A`fnjb&TzeFs}>pWRsNWrZ%$i}Ws+J; zOiw>e=WcVkM8hOU=eyQxEPRFc`L#V;})Q9b2jJNUR9ki z->bph3M%;CZ7Do1lar%*G1ue#0*f@WKtETL#qL+GVwa+mW_zs3PWWX;x5Q7?<^Zlw zq@O_!_?Z3?l5&6)dSpF#HhKAc+i-65tzViE-YUVI6*1}h9a-cXXMnO? zMI8F1ll<{}P_G7B9W7FHl2mVG1>_)$ZK6thzXHoF608B8_`_&zT%ECkSDDPSGwom| z`L61VNI2oFp+-&u<*!-x?a~j3bAGZPbv1bJ-RR2G;!3q^NCi>0Omba6vGw8~pe0dy zUs4G__)n{hhaF+P7Z~{CcXfad@C$oYVkpalLPpPaE=nsC{?gS0GzTZ=aeSiI;Dn}H zLn_=8{OBm=%R-%h_pZ+?`n!;gFG+i_-rEa=EJA#AA&{r(vqlQ z01}f*^`Bxhbs+?)d>GKdqttoO+gu;=`+`wu6foTcZS!CdNE$zYN3r_02OnhBFtOKF zh<(Kk%Av-voMJ&cu?`w1&3d5iH65z#(p%)g3Yg8+f$S9Nk4A2g^t_oA{cvXqoln7S zCk5{Bz^PP&;9}(wq--I=bt-PwW!o!lVSr0TtC(j4e_9Q;KlMF$w7iAcfRZDAlwR1s zjC6ZWIjec8HCW(EK@C;QHK3fhX=XgPH?0zBh1juu$ed2sJWrgIaawk{W`vNe)h~-6 zq!%BB{xilg=i&FkdYB-f*_{5l81e23Rm%FR__t&HRhAa#)C+tSig|6!bvyM#C{P(U zMD3M73a<)wt$*7W!o`rdT1;dc%UdgBnqAAx~YG(QDCF)r4cn*&>W=ILC7axzVF{jO|5_% zxA9I!LUPxse*5Rd@F{f=DJHxbOkc7dCYulst;u{1F(jgp+QMcDu!!(P9-2f-KAo2I zH2755kCHeL!}FI>>2i@*=Jy0i^F8BSuiQe+HkMKD6%@)$GR80ScUCz!vg3A7*%&Z} z4;VS5E#HuqRF9oFx(KkE_rD81ZGQ)@3)pi#38C~XZT9e`YZf~9Y&;&}!1|MRZXHa% ztAA`9xYuj#xHGl1tJNgy$}4xOJZHQ6OZ<@M-$$N`EL)I3ckb z9IQ`9)Tg7m)4)*M(DunOsXS~cCatuhPn%Dw6VhR#5pCHOZ6_StIr`Q_L@xqcNzYg! z+(V&o8B;g!OeQT)^WjjGHS(^WhjP~&`;F^ZiG%qzswcKo%X{C13>lEUe)K5?h~97@ zR?xs&y=5h!G8Zp_vBX=pc=pgcMqQVXup{-_^}ZG>|N|5x+4;aU&M?L>1;1rO8J zf$RMJtcW9wOACotDSiHvW{U5AyMpV}CONeRt~e#6pw^tKcjQfS9C!&BU8*S_*|%)W~D=*mpRPf%PKUH+CRk~K3& zPrlu0*uYvAOf;{v?BTES;ead(qq5Jf1zWTfkhkPx}Dj0Y*D)ciXGBFnQzC+bej(O-5BGLh#H@y6{hB zOF3_vl0RvAWb39ltX4+z=t=_>%rM-jRTX@}$^pGk=EadBE-UsX?IV^`$CrF`k!DEZ zcmdJ#KRUEr!UJ6ARbn6{e~C2Au8~5GwN*~vNbz2^kQUb}liIu!1^f^_Aq&lO3;mi> z!L>X^w3yyw_^b=Msezu}cWz_JOho?nS55vIiOO2nqhv!l@O$m| z&cw3S!}g7ZX%^4H`v2NKRs{81+1xpQeAm5#Yz*I(rEs(FvZ!~;s@>degukiX?ChOO zQA{npDQg<5e-xR$wAM$+(g^uNILo?zX$SMIwCv~k4xZrok&}l$E(jYZG|z>VecJqu zKWz7fd|1-`Af2cHVs;>pV#|mUDOuv!qmNfl7?l?6GjXD}>=_EWok_U4nphb;&hwn% z2X^TwhaiVdc>p>pxY8R5Cv~3%7P7^<0d-#)+BH|Pl7c*?y8%*BQZ*lyKW1XJE#YJA zQLl*ZrlZ)hW#S$2*d(O5pgJLJm)h#92OIrCf78ezg^N%!X&<+)SFbBt^Mh=+mr0Ip zP8Lk3PNNLb;&r{19u&**=isi}^IWkCT9z5t;FbCCB-T2HDY4)wS`@(7xIyytBK~un zpJJDEx5hy_U<-WAP{+jN&YfiL;IN6QpoJY~20(RYgu65iPPGRoLb+Ah`gLy@%qsa7 zW^=)#N1m3ShpF@SaM%pQLDWatoo{59JHAn>8TUAQeSTe#H4?CJq2x+n@Lm$V@kNXh zS*mALv33gmaGPpG9bE@8he)R8UDC$|^veZaumh6lmg>|$6@c7a736OtivZAQi`GQ< z47!q({@yLv@uI%2Cu8SY+ic9@fU!~SL^<8^L7z$s=mEAn7JEqziaF9{R~$acUZeZ$Uo?0Oo`!QNgS2bPML?4=a_H;?+$A|<+ z?HB1g9u}c{J)4u)m_dt}EqgHtE|O{=%BAx`bGpzr@Lv8rzl!vaJ^?o?SUeL3RvPue zSuaSo2?pCc=-)^Sx;NWSDxfH%jBYk6FbC>c^%(5&qFQ=wTRW~025vGKyn^tsFu$mN z44hVStTRJ#7~?qhOCO;02#U*%b;tgxhTx|g<7n=Em&st_q|b#F5d=|5<18g`v2vcMHolxr_QTntfN^kLC&Ls6!a8w-N+rSJyPqg@UCmERD=maN!ZR1_dpF5WdO{iS50V(+BPCOeuQJo1{) zns_J8Tm;q8(j0EP1;jx=HJS!wq2BJ` z3!9yXuPxz;h3p&F2#%6azbaf0mt%M$RckW(R05Q^f$N)YVKF_T68p}@4pES#VCpp{ z4@p>3-bY4i8q&D3sLl5_Kgc3}f!@`~@=Vo!q$i2svkq$s_s++LBrHKs6Eag?`FIX@ zNhZ#`O)D~rh5lz{FEUx45{Q&UjXb>5%~jj{#3;EW6El5Q!@&bWkFwkZ8sZ5(8Q0Hh z1;<;+IVUW*mIjawcf=8hmg(J3*julp%E#ajbI+jH_7ke%#ZDK=CD6@lFvfxQiLP;~ zFeRO|jLMFN=v2Jh?AQrAQ-{t*XO~(3>h?(DrI*@*_Pcg3t}9y@5|OClv0&irr9ZiH zm^)j()p5aPqCo!hH@#Dy(2@1F=Ct)iRDcR5ptjoV&boZDjRL&!2ZPM&XSvf-B;&zU znIziP!7)GI^F$@ze!zE?oQ^mWiUexbF*FvAUw4u{ZgwoWEocWuzEdIMbdY8@He(Dp z71srID^~-PqEm@Q5f6qNR7E{B_G19_g zNAAkxQ3A^vzC%PltROH4P8}FkQ5>o_e#fMjy@haL$#z|~6x2{la?eNP7RhlFv8 zr2M8mboxai%hZIo_gw*&lSJ$r^3*^KEyYmpXZeoI?7?&NSxI2nTr~#&JT?oX6*>hI~rDoEMT( z%zgU_U-{0zFi-mXc|%4*qMy{T|D6}d!{?EpDYLDLCafAHgF} z^+Fd$y;GqNO13U0ZqsXk3yhY%sRwtn3k$7R(yIu*rw!j!^Vh=8@ut_7nV8rj~zzuS;GqZuHMEy{aux5)*f^lq{=t+)$V<#^fTs^q2DoL zu9_(boZ|C&`ldqas6_kz?m;zIaS^4G#FxA-=o{N)vy03rX;Bk?`}wq>A^51uEEKq|4ET13#C3{wf^$6|RgryU<2L9RZrsz2h_SuOH^W z?vJG`gy*H!T^J_Adu>1MtumJz?vEe_0~=ak?S2>RjtuRxMw8+&TB6NxA$qQutfOr& zM70*K3LYDB2}jR+k%8!`y_rH0NQBBldCW55ZuuQUd!VODX^8dE876*>9S7}2^dFYC z?)=^(Dd5v1!-$pN;zc!ug$AdDK=kv1EB!W~ggs0JN7_g4hY~cyKX8MF_L>+WFgN~P zkBX3mQdSYe)&_;Jca6HiBamG;c?k7b`Y!%up#LGuDQY!~B@Qqb(rAh!`LlS9_LJ_X zvEpg%BZdlN*`KqTSGD&(P`i{xKevq+f!A|{BR?cSn5OB6yI)4MKrxE9W3 z!h4;27u9BmRxao#j_<)yFgMo3-OW`lbv>4_gIH!K9WPV}=j0jW=;dVS6$S10QAD_kOb96b8)^tTm{}?( zLncmuGe2PO(->h#7}MyCO-F$eWlag`@L2eKTo-ca1Z+J0bZ;UT*ktx0O7&5WdOyau4)ru> zhbpnO)=85~*fh=Ppa|CHz_Ket1uf6OgfT<#^^MqWFAPxSQ-=jY8}awGBy}|4HmX$?|;3FrZ%hJvK9+YGs+@S{NUXdTIzo zKnWI@EgY}|?G^QC`V(Ux7clcXhyB}dT)(ywB{g=*RdhA`tY3O!10wbgiO{H|+oWug zi>`W@fwV&7fyn@=^MIJvvP9laeYVTu?ZibpG0ih5->uoX2?=w{(cb2clIKx}U#W@s@O$3kBgI}L$)(!kEZu~Ue!7`8vpYeV? z%`KL+$K5VwG5t0w1iy`Yni@0AO?F`=@6`Yjt**ChpLS7!q!m6_2sjG3(x6+*^WH3O zx`m85X|+cgt6-kkPkITktOdLeSIcdsBTOC+i`~0l-dDiF@2@roZgA@KE5~-RTH@+4 z5QFYv9O?z!C+I~i1f>v?+E||xaGZFOIbw-H%|*fFVb^d*PFS-9#`Zi8ZwVe-2A>dm zkQ-%nJ0A$Xe=cqnd+dfMju>?O{#}4tZ+uVxo?R`W*qao(Hm}q@m@X#0D^6JWn_nOq zZbXa~qli^LWIRhvaH|C)#igca(r8$+$pQ0SZ#SoqpHH?6J*ZtDdy)g*f9HX5nXWY| zw*etEv>lxSf#0>}^Q4rn-p?|Q%`h3`7LgMCu~b>T3fNLI#a|Y?2cZG9^>95$Sa?vM za>LHWfRO+Ez?3v}Je#vL)DNf22 z`%A98DL>ml5At%@ljUH0jX$Ndki7c|Oa=e*qi_VsV&yi}ykjNRN`AbEm8nHX_l)0L9Wjxrt$T5D;dKDWw-`z# zYrw>6*)H$=(DOt@ST-Q?{c{CI%X~aW$UOHrA17VQ=|Mfla)*r(eCVE?D$Q&AMfE}E zKGKGlR=W;VBIAzDfdyjX#9mdy2MiKUy4H9%93|hci`j`C?bj*7c(_VW_)5OP4jprX zR~kYrkSkzVcyyCszIO-3PzQdlpp^hNe4=Jhf&RmIh6upv4jN9 zNyhW~*8u4DHj-odNJ%4IQGL`aD4}xlUksPz@Jw6cQESNa3a=NwqWSWwB|FZld|QTW zT|$VIjb2+)b1_21#yPTPpf5h*M?q^RYa0ounS)0Aa3tdmtBnuS%AYf|#aLzxNPNbR zvq1#7tToT160g0{`+Xw0bjqP1SF)ckvDj-f%tO=XZZ@ww2Jd_e(-+I0d7^nydEda` zpr58t%mYTelHj$y0RbvP7Bkk5&R;meu#5-?P>)1~$ifHVgP39US3a6CQ&22@$rv=h zy+U41leg#)SrU{K%ys@P$E6E4fSfYM&p_K`+o$uu#h5=DEYh3zI7}`PS(eR1*NCy= zcWO#QF>lv*jC~@^$t(b~2@jmQlpWjG>*5esA1?X2fDP$9+eCPq4h!ig8f7waO)CDYAH$*cN0JUebc+sk)-I%|&y;f8ipi+V12oK~0v3Re z4P##y_${Ww^EtyaQ_^DD%~wvWDu!~bDe@w`O&F~Id znD0T=+Sc^^zV>TFLIbpow(2u^i_fbN)4uAwm;tRdfW{h=$$KWdakWGAc)A2QP&ZNj zg$Dl*0EIw$zsG;kM+jObry^`HF!~2kVL@6k9=!ZO84-qAOH?+4>;i*E+!> z1eh>QqI0&SEy8j@LS(nZwoM;5q@qL*)4EK{sK}to2vL5>Uhtyau^_RJVAY2hfaOne z2J?V+IHJ%jb#G~;F(N|nF3W3uWO40V43vk53IY=bh84KKHNj0JpCYD7B<(CVTz}+@ z<-lTg)T?Ndls;f9ITdbDr-`SD>Jsl8qe7v6C|;)pKY|?=?b1xF6tVHP6P5z^1=#Xv zZ~0h)H{-9IlG6c$*-h5vhO58GUIlWCQbPOI=8M>tyfGbiVZ<~HrfP+GRF5x$`5(v` z)|qHJg7J>bV~h0VjOMW9X9L%)NgfDAEq)H zS8boH;BW_!WMV27)wfVwRCSV@d8!>wHtux2l!l-vV%?oE6bepIo(cL1c1VepDjUMV zj@BRQpYL)K7EZET4aUNVNOJz3HA?aVlp?ktHRw`fG?j%8(-jUET zsi%mN$F_LDH_0KC59Fp13HPn;G}cJ^EUGTiy>xB+z*iNC^~;1|1^ah5nP0ujpxFkq zUBTpKs*1aM&Z~s=dgTeO7G~xE<`**9zb}Jc-+XO2hEE?oYPN2@H7loQ{G0bYHu#T{ zND9SnvGY+=p?IC* zHtf?g7l^`&jXFsTEN@KBGE%ri>1({RbQpiTGX{Xl!1F>jzJz!tS>6>WE1_l;pGoNR z#0ED+Y$~(G55%qTe%C!WRo0l{5wqR|H&G2K5pPVdOe%!3-&DAw%tRZE*3b5GLtXLl4F_OCoMC}>nVX~c5qriaas7KLR#rRb$ zkHJo`rx38BcCSgk&}iB{MU!DpG%HK!3`pAOerkpYWgCHUEuhO*T^J^{k5~|_dlMRY zku)J&jVPTjn)d zU2!)at5UHs1c%@0#(#*;gpoRmYuIb9Q*I-T!?LBH9N#99Ap+iyq%wII@d)}uH29s2 zp-o@n`UMn^sIM_Uk#G}ohd(T$kCA4b3_qq1N#ijaGa_NO-78kesF((#TaAiiZOm<| zUvRqMWQtJu!*qvkhAvSZU#fF7Pa8K}&$U7SAT4FJWCSo$-HWbJ069;QP95wC>qtT* zx2a_`$Y1r`#97Uv%K=7X3*+X5*M1*hdM1PU1q1u{XK?J8fn&$Be0$seqnBRHfBp88 z)yb~q%(+XCzHdsGxhk#+*Dz`-6t6G5{OnfIy~2M!+=lNhiMgd$?EdWy`{4Qt9Jz9_ zS*p5LE>(r5+W#0bRY}@K&DogGAlTdWRVVKpe747NRm3NsJO;+#-b-2&*V!!Z3%@AD<5>84=1Zg+->^4rFTkgdHYP}9ym6ny*Qj@}w9J_V zGFneGtzz0EWK%#G@HS2JCwOd^2I7VQvF^ySJ}*cvGX{v?z>k4|JWcwDy^R+j`%xs> z7lc7}+l+Q1Vy;?hor*4yQE=$$fDPUunu!OK@>{)+cceULy=<7&k!(7N$VrqA5fY6o z5n@hSsvGv3mfi;Mq9kxsMqqs(wOe-tme=u44Y!nNHQRvbOQ=CXLkjd=8%=^7S46h@J88eE z5YYI@;!jlOL5C#^c-OsMP=18w8Cua<% z%F|p8EG!t?@55JS=j_uBG51p8C(Pe0I@=#U|56UsEV*+Qu3oaRc@x`RF6jUUCB4_(d-LQxbivhgd`bn1wn=3&fr)TjaoXUS?h`0h3+mSkF32E0)&@=+ zN1G3kI(4nYoJ-A4h`IJZS}&Q=%jJt994}>x;Ppn#CF4PrCnyb8p7FL%^M&tkwF|jk zWk2;Oz{e{&P?YuwBTBUDczhECkdD5Uljgtg#A50Li_UOjZlW{=VGGj6#v}wDKI(_k z4n0m)`$=-GffCGhCNf-{B4mUOEhc2jP%`I&`tCLkUl*IaMT^M{noRB?X+apqUQt(aVl=q+tjdMf&;50>v z2!pza=6_bFf#px@yd~VCHgwQW+i<~i}Laf}NA4U1b%N3Wrh42l4&yKJS@+GDwyf;A(H0ct13i1?|B9BLE zmjtBlRawA@xv)XGI?UQLupin=ndmq~<>a|D$#{ch!h3^-=O+eze5eLEVGT>0EF0~2 z>acx3=gC{vGj&29Z_>V#LtVlTZ`0fn3p+A&(7`CEwWQrT!X}~XwC;HSWT7R^aM|IA z_$yuxK5kjJ;dM1JJjR!#B zL}nDESOqNY2jxVH;bP&0&+WM2TdNKF`o>W_>aO>~xNjmdh1w&p$1Z<^sz~-vt!BwJ zQy3P1Zd6xqvG_WRXeUT<-f^~;l70p{l|%+A@hsTuR!!NcZqL(KhA;pJD~ z|Ng=GNRB8JA|@RZ6^hpdmd=jnip$Y+FO3fue+Oq~;QIzs=C5BmpU*9or>kDDaOI+f zjjI;6H|kEdYz0}lcU-TYAy>|rGi}FT&W`IGXwVSf^z8Ik{+94z6nC>RY6qcRaC$NbGmx(ui zA~_vV$Xc&mh6DC)V;}HiP?S`0mz1B-1%C?jht|iGf2v-^Voggym0kaU72aJFb0l0* zp%v{vUfW~Ax_Nk$5_8CNl$c}QQE6F8e{LMRHZO`SzM%#TCM9St@T@|!5ZjBOpa*pY z7r60ha+e@&K5S1mN+uWWqoE;0NH{2Dk$Sce6q0Ck8N6XNT{_lYgm#5x6{{g{gfcNl zLX(;Xo8Cs2){;uiPakcZ(Xt3^+@J?>{z>jNWtSLnTn2`uYnse!eULuw8i~1J=9g5D znf+(jJ50>s!#l7XyCUX-h>a4?wES?fvpz+TEhyi%e)x{cA3U_PQ9)>l zoj$w9)|5Z-cQ)3B(-E@1NAM>RbDeq)ZIdp9CJbZbwjuTXjC8|#maN-^KZud=SU?bQ zFj@Y%7h*pdzS$Wu*Y+mSLURwT-sj#Dm6FO`=WAF$8POXVUsyPTJCp49H!w9YpSXGj{_n$w%*DIjQteIt^>;qne_G5h zg#w{#JX9!NS6DhbzOA@?;M_~&M~lCAUOqp*ePuB}y0U1q;t#erG8k>40ib89edDSP zLEBk!D7`PHL8+b`YNdBZ-)B)r>~o2&77Ze;>{o zz`It25r)(D({RRemxz*+l*foA5j8N-GbQF4K_lUt@Kvfnh(&`ZE}B5;;L+`-=k|&Q z4=1w4$_@f9FM^@sI&* zM*~+RTqE?|U4De_l#ksuDF4dMMD;an3yhefNjD^tE@h#k9D`X+?f zbYC~QS|JA})%!3V-XGRIB*H!xek>XCh>F^4GGI>#g{_%~AC!Jf`AEp-eULF+T1r7x zrqtlsiS8DTj)Z6~zCy5BZ?P>SkfPy++1QM^_DNI?(N9abUN#C%o&Q<2v~@J94~l@y z!eFYLL1$p^URc?;FS~H+lo>X}+&_Kiqy1lDiB>2GUL!R|p?G!inGbL8D=zOE4edLJ zTlqI!y`0~_yqLdrWy#L1EakAd3b4Ii^rLxJb*82{S+(p)TSBfvpaV6(sqMhx4LkUW zEPnx*35v!PIt?Eap{7jeCS0fJnSimW4U5*oZWRNs-2{qIFb;+aKr(h~lS)jIPLPP3 z*egL#j2W;YG1vZQBgIRV=me-TfPRr+p zxFW{W;Z^BtBj(}`W4bXra3NZ;Q5&;@JF>*khSOR^={nmukyHZjFPH_0vM?TF+ipzo zA^{WLre}0ak4gUk-u^VE4PUDq&l6XJh`^_+1iI~GNio_iH5UZ)NevN{6V_~`i zqnEUuI>n@(I#I(IC(C}rZ<$9_u9Gyg>xjvSIcI4zBCTCw)i~}5hXC*K6?D6Pwv|Ls zpa6mxk|JCuVlL<*A|yz+*)DyGPJ72Av;6Kaz-j98Y7hY*P$yKDaMN_*Rf zqqN0ppzjW`@bL)Z{XNplO=Jw0^r=XF??!hE4|F`zrgufmxo6ZMN$1JNM;m^jTNHWU zrY^AJZ!|7v(Uk{9)Q+nMaBA`Fc(8oY4z{*NM6Ui@cn#96^gm#a_q#UY2C|pyUV1LktPQ48zyNW zN?Oqhjirb(#%2)t65vZh!dSx~C!#OH@^xh%n90N|n^zQw&1Tk$1c_XB*!Z8k74h)> z+eo~)-bQ9_Ninh$*kZu8Q^(SM$seCQBPigpfM^wDbu$q$xea7u#x#z=1cp&`shYre z$VQrE)S><^QVw#LVu(``4|W&nQot2K)I}(J&MYTZXppD!B?ox0}*6#l8(bgwe(v=B>a)JgOu+ke{7g9)Q7yZ zSst5GGp+oo)@_@K=XGa&4GvtOeMu-`-PGHKniDnz!C5Rnr2M%Sy^gsI^rECK)tnTke;v^o}SY?LuMfwk03icfR?CC0`%(XPUe>PG)>iM2XosfW3Py z964szPuvFU_q;XRJay7MTYUOQx8B+N_t8vIylHVw>We~gBk}krwjUb};nB0tj9~GV z{1%g$@7Y?n_g^|UhP5jew$|&TuB*cw95H8{jpDlGV7x;A3(F&9JuEQKJ)-)(KvEFz zlg+HRfxr0PQR#tR441g$5(~d(w!~cZf-1k088ThU4n|r>ixJ7L(zM;FMGIQBjeG)NIOLFgJBLIbl+f*ddwr(5tvP+b3-?Pb0J4psh zUrg$8LdOXU43)dfN6d}|hFIHU@HjciBcAO?hXtTJ2UP|sdKASD@?97?T7TF$;-85d zp&WqA;{70xVwRwEQ~UjzG~4({85rH73*w#+l7geCZ~s5DJtGy3$w~S=b_hVMH)%i1 z`VqZNh>~<1Bj#fAu)2cUPNHVH7$#Y=7~gX+9L=LAVWap0IU4t(586KpAMwcI!|-9_ zdSaYxT`MF&j5ut+WaQn+k0rZt74#!fr4~{j_@Q6iO__`+F^9dlEEe?kNUf9hE{=+i z67BS^h~sD*vBZIuYMPfRMlZ6op#~?$$2~=mb|jPzN=uU~bWec#r5K*L<%Ma=(0yz3 zoU|cJ4-9HQ8&nrsx2F25>xS=J>(g87`z!>v&{;=Ik?LIQ!ffE}YKc z%94fAX6e#Ee_)_Ds87zR`c(Jp2B76NamK@)u4irNEN;oOV3-1r22g6kC+vaf2RZ*e~vC>#mvp0AbuyJV4R+#TDxQQ9%<>`fA+YB=5+K%z&goZNbBq&nsK%0C zt7G8?WJhHGNO46fjWZG-kyL(ibq{53q>$Lb2rm1)P~7kk+7LD9)6J}|)8yB0!Nixm z)o!GICve9P#Gx&V9WcXFnCP=GaUhoxuYr;gNXG#_5XhzyicRtp?T3WW+{aj(K{7_B zV0)XUam)6z5<;bAh+t`dP5g*Lw0^xA>)uH2#4w^3E@@B5DPBTu*jOinZYnPMNpI%P zc@Bx&P3QtxBqGA2LL5;ZrSCw}ohMml^d z@PpJOri&4sQp#HAC(`K#Bqvu$q{MXSKTZ4E1uA9P=|`h!PSg$>pOgtPJxH)bgb|Yk=EhJ- zui_F0@0=SGor^7$ODEatGjR&;_}rOSGTTs2d!?BjZkg3)M16RFe|K$e9=o((UFwCE-`5}fJhz?VDpW+NwqOF z(?c+Wh=&g00q%>M zphV*c@rw>(4(Z%6$&hQ>*&ER61Y!T0LeGj(~lN5BdUyA-)NT3*gp&mmuv%YdapU>0X0A597UBY>cw} zHbtDc_&bE&g$mNGenuwYZyM~*>Qg9QLwxC@!>QsjzyDD7{aFuw@|EZFJI*|v?|=FEF`RoThs|{h zqb&#SokV9uBXv3Y^Xf|28#5lVP0dr&PI@gLAKgqE5p2uoF(i2n|oWyvrCB zWHQPlg$eXS=6VtxbAkhDyM^hpkArWqdc~DKpO>vxh{GV}rr&@RR0sh9S1}6X|e+|5`;!%uO;^woRVw12F17p*PWP~unvnIPpkzs zZFDEZoLJ|=JeBtal*65jm}~vZNR0;Ecwz7jrs8OXWqb!%R=FQU9;m}s&-pn9} zeft28-EQFIUD@dFw`E&%^X9iU*X%EBtmkLm_x`C>mMw}m1$J-sDHN{}zVy-IgT>{C zuP){9U0Jekzj($joIhiyRDO+G=AlSAWd`52hXrs|w%r*wMkU>3GA< z`6F7Rr9-JaXtN=Y3^+J$X2!Kqg`)@}20-4c%gU1DXhVhDqEF}xwz~{=L&GEkzi0__ zML(`yBUgz{*1Ya%AT)M}GHtlrmQCw#ouc^2GBh8Ct4Q8Iiqjy!?j0>^G=PV7PRNsq zmXtK{TKSj3T9H8S4PPkg<;LwJw46k8PCB?C+{qby#lz)iUD>cOfxZuavyPfyZ8b2! z>M6~aAa}?Hziq!k5iWTR%eZq`#re`vruBRV6IL^p&o*qMt>4tTc9-G)muM0Rk^yKH z3d_cdyO6O+rBg?7TIk#jTJGUHzMCI?3d%Xr9{eqSZ=38uOJ6MW(R^!LNZYn}_^gyk zzYy=;knv*qY^8QDDc43_9yj?##)a_F_fhP`xlUrPesaW|yGR`a2^)W)R$L%G4kI#R zwBJwy4DP$gpeycaX6QT^y6Zz&q*Ka$?y{C@Ibtq2~sgPl6)DbQ$U&KX>(6 z3_+Je@+Z1CfI-cG*J9c`ijpPTGVMRYbjtY*Q5RTephJq(3kRJUl@86yZBiNN5p6(L z@*0Lm-;=&E6sj#3uOIO~DFLa%2mKfsvxDw1HfA*c1;dok3WWZWh9;e^Dz+7i!x7pJ zSR9>ygU8EMpCbxkfb08B3t(l4+7HS@{DT!f>DIdu>NFklaJwLN%!2>sh&klM(tk`wv5Y>^2x5I%J+ZdenSz(1+i7-}|S2i)Di1O@XfNMWJ}jv2t-- z*315LUm4C_cxilSFw^^v{=od5ORwbjoOx;tm(BxRzF72ad0l-6Q-$Mx-D$UmNM(>$ z)8v{ilpIFDh8Jd-z(h+i0D#R}2ozYNXED8-DSE(^Lc_-emL73$iP$M%M1wWRV4-Pn z!MYFBU0m)oF()Vr+;RQCXfUAf?hzAnv}>#D0VU!>Vj#Tn`*Hc&Li2~7K-->$*1inR zQe&s@;u}A(*CCMf8g?Uq$RbnWpo28dM} zeZdN|RL8xI6V_I08c<^@*fxtDV$%3zGu^Nhi87*E-z3DG4dY^Q8_W8K=qBg19$7@p zv9?X}3w2e#Y%KN~?I|laOm2TeYMKy^Ty~NP<77d3ZQYAVEn|j&Cq$`U&gv!U)55%u z8CkgBku4-+!d#JN$1%g+<#F3T#pTBRTP-&dff93}Q*VG6lBe+#h-mV_XKeTu%kRVC za{$@?MiytQCE~R8hsFcWaAV;UzbRslwl~ulm*MDcnr7c-W?OcojtKj5(R$Bj+S(Xd zxEO zzP91`)z&MK%!rl|AH#VX<(}Ea9gIbE9AmXlg!m1QT_z02jnDpu)nQtYe&!r*2Np;* zl_CCc7)ykY57%;o!tWgIMVZ2~LVRPQ{Ze^JTfyBg8H;Ei;QUbe@Ozpu*3TAn`ZLZa z6Us_;Y)aD8mK+KZ8;^nac|>24h7&eMP(Ro?8S;EK(K?4eqnUEnf3Si7MvztnQkS+u zOxX7tW6)Wrh&ej!xDFT%vVJ_Eg9+CLa3}5@vvJ9=)@rb9lK#kkO(SCq_7hV!BH9Pj zIgr92&su9=9lD8@1y$isDR>!Cr(&1DGJg zQcHBOiJA%y6LZnHNrjbu4Nnn(vAJZaMDC=%upFc|SJcQwf5BDc7fmdmuVFEJ_=S6ZhMB)o&IdWjV|*030|7u>XL0?#NO2TH)fK z|L9-a^V^_!Q(?#IqC)X%;qgzcmvh|S^8d54bDU;M0@_uLU*)wa_ z%&b}Kw`R}GKG+X$c;?acnrFU}Zae#I`k`l^O1D1#PzujI6T|tl!$%#~XUT2c`_akR zypYI-e|RNP-b@rJXMiSaP^pWBVy#9a$y_yzo+1MbG4mp$$=4)ZV?x27j#3j&XlR=& zoCqsXU7BZ#mZal3KgJ5ChBM_mX5LqqET!s&7E@YSNi2f_&%#~R<(0N^EIPp=QQqiG zCO)ypDv8skvK()PJWfy0w$hMJ_qF+gVif6UU``M^ zI!;!V#LqKjt5!}os5pk|#63EnX0Z4Sx6ixr@@yC6xH3MMxq|*e{R|9zttRHmQ)gms zkedXL#=30PU{+B_5v|(NvZyXLb}^IlWO|ezS!!!yZpf19`{_KnvWx17@scH>;FLi> z!O8V(Q_xLS+jLq-y`YJ?v9UF4k}qKw#siJm#GJ+xLIRF$dUY z+QeLb0Q{Bau~@|a+AcEKDx4^hp}-JazNfT^zH?U;Zo0XLgculY*gC@r0!b%p`w`_q zV~|`YhM~aTjr}rhVor~hsQ)-TJN-(>O1o4-Riv4qvw+$p>FME>V1%4>^ENsx-(jD! zI&vI0q^$h9D9-^7Y+}w7<3Ixph=S_}?IbE;x-eq`T~Mly$Cy7tGmKxE-H2BT%d`xO z#VT&T4132zxaQgrPF^3^WPV{boBir-x6RMJ`IfzBR;eGk@pbdBI@Q>PS4cRDKeh|I z@S=pfKXGRLk%yn!Kb!vcmp;2Z_T~GQmwxpt>Dsf;g;(vLi(#=GKH(6@)o{g0TI)Bl zVy<9V{0-KuC?J+9O=a*LyP}q(qqmvU;Ii)K;iJH$k77wC%W!vM4ldM+KNkQ=aFa3? zhiBX=0#8Ck5qGJ^L`*~K(8;4%NxJTy(}C=x@s>c`{V=4uX+lCs?bHn4=12R?^BJ)| zEKGMHw#nPrW(7`}E~%!qQl1=!G@u)N-myOsq=7@A$}#efS6Bs+%>O- zZ9^!X#P}tZt+%8cSBGvH6diZ;R-QZ_$7E4e#BW2HS;}HD5hkne{8qhcc{0sBabgZ& z{rEQmZ?UMH-r5f{u3AizBz9}2PNTn&$I~*p%DE1Kz8uoDz=${75oLx2Q-J0$1ttu( zq=FlGTBEa~Wh}A21jjbjM1{RgGViN5s>@sY!oe#vEneve{V@V-B~gpz1jN#p)Vx5O znxUWJSsaIp;2+NbBxYHT=w?}Q%p+0~c6O1J95D0qlcL(bN= z>hd&jAJ-Ff!@s@bDI7nsSvmL6bth*J-gevk;Wyv1clRpczrOKx^Se2RyYNa0F9>7r z!Y*8>@R1KZ|JId0`i~9{m+w1&Hof=J`%`%0;S`>Gdf2+Uc|$yl^}`N9J8k7_t1(QR zm;A;4fx zK*Ah>BpPBI|I*J<@f`w3#Hlik%#HZW@~5r(g_@YtWEgsOz^!=3z(Kj}X#76x+BP5Z z_Pr@5uOuw)QLGFNf9H0sqiqa zePsHA0E5!QElRb=@r)>R9qjp&mM))|(?GdBF{dAHGch-u&(j}!P{Q~Z&TY)Pw}`DX zBB^q3F=>;a{j(-1J5HE0sL3`uO2H9FeOw_*krpSeFo)J}VKb7i$qtpc@ex$ADJz@=D-Cg#AzLsdcD5Y*5_rlqEi~aV zXWM|=-5NpA5>eEt)AsFTb^L34!)Z8&Yp{ys?iAfyFBvmBuRK?}Mx%A**ti{1XJT$l zGl3r3mISg#7$Vje~*WE~05SbizVypX4vmbKf4z<>Fqu zyPsA^U?bV`sxJC6c0EAm;^;auAZ2Nt@Z2YZbPO16oTYv zpThFS-gd$vsppbm@|Fi8(+Rm2;JlnlzX{;dU2NgZQioB zJc*SR>jHJG!gvk3ihAv!&~a>g?Iq;D^dlt22}#HDDju2Uu}z2_EecOOO_3uxu~t@J z0ShI8l|9;oJVKTZDM25#grOvf@Hm+`4=c!{KoX1@Ch$Yo_VtBkJKG+>0y&Xeo;BX` zgD;rO`|w2b!!=9?2GW-jhZcHFF7p?Fam+vkm@+}!V;Yz7jyjCd9NNF)Qb!(1GWC-`F?Crsh%Z+Z5CU5?A0zt9FJ~I_S}fW28o__DJwhQ4`TlkrfM6-fFWTVABDy zpy)IUbU~=;RI^cqwu4RGTJo9M>5Ta)h{0&hC}l0{3E*24uznO(x3#cmBn? zZNcI$yo|y&vbPJnaKXY;rx%y4ey+LuWBYG-^nt@~ICmy}_rXE>p2r_rhNmB0DWrqh zM)R&G=E6L#mD47l1VnmeoLDs%WW2n@1S7%5M-qTc;UJmB8F0xAY;}+}=Se5uDo|%7 zFMEp(07nd&WoCTfI1$Q;b5__$M_}_e5(f;yIB5iTTL-LijH)3DQ6OC)kZe(FzQ^^uZ=J<7e`EO`S4#tJHTq$`_7%rW(JlKDV+xp6P6;JOzXCJ zTukG4^2FRGZ8G5Z$P;s{SS9~-^b!)XMO?-OP39~_)BXC>vnsJemqdr$yi*mIkOSuH zFo%X@&rY7vFUaBxotWEPNS--!O^1W6TDDxkO{5ME8y${+6o@i6z3Etm@mi;fB>~EU z=rpy`i=<`GCQQs_8Sal3CzWboNX1EV9UJZC1m5jjKPfz{_|`t``sZ*ld>rD$#UWgNRSY-1aUQO|dUo%tUKRe$ zMHk24Sta?zyWYL`>=vxh$7utDkSW`(yjx_2>hKKlI3bi_5-z z|KYL4{yZ!XXW`h180N>~MnSF>Q<{ySY6KE>;-wlPZw0knDQCU_=z%ifx7tC%0e4C= zZKOQ8=S4VCyXrFt%*7Dqb3QknGw?{L*MgQ zWx<$MfjgP90!5QWxSFa!)n^U|P%-J`dRf_aICF^L66-t6=Q%y1g(<4nvc9NHPbt%U6P#dSq^3H{=x;BB$Ata{^uYQE9g(o53_N@8V9N>Pqy5!&V1eMCO|()Jp4LKMSp6W5 zHi6Tk+;BO~H;!8eMouWLKJj#C(6}pw+*4T(=yj9*;|m%R(Zm(K+(I)tYNAPPtXRyE zJHskHa}(`ywpTM6ar-#l#oWgn_c z++<8Pdb!#$AjVRJGG&m|U3~`2jPxxU;c6@kI4Rf<6*fR9p>W-8OAyV0e%m7X2jusL zJs5n)+E7Q=*f0PJhJeW60p|#DxlN&N2uXtD8 zSYd+>l1{_>8b3BtcyAyGT&wM-aBa4psR|2GRC%+*F!F4OYZ|6p)5ei?jUU9MiWO1r zu;HYBk=K;Rw|Gv3Fb1s$bZs#&1T!w!c%rQcJlIBREiy=B0<0cQJC1iXQoZ3k-neIz zL0M>jz2U1@7tz}LAz53;9eo|=YtnW!-<~b?Xezpe9Pw$%Cn2{beYOE|jAqBvVbyH; zx9pjgb;OgO0~p6BE3f*zCd-_*GEB+H`)C-|Y6I<~wU-J9=2Q;m&@0k;-}+-S6@IN9 zPU1%&x-Yv~(d$l7CHeqcz;;2z4)bn+Z=F}JTpX&!g&J22%5iU0tYodZa!N>E*I+m@ z2$&LO+oU&x-|9jhP+9xsuqWAOwO3aXEliG$F|r{GQ~gANliS?QEz@L3>!cb`Q3=Gf zV$jHb)8j|$1^XhkFfYi0U4Tsf(GkEOvD*3XMh$5b(a9xrvEV+10+|%&i{*Od+{!zi z$MCAlVz};P43}RKKYis@@wbkj2*0^{bm!mv;bRA04R+z>6(-~5UD$;e67Krgx%DSi zk6&`>{M+Iz{FBEXT)gw%PacFvzOW3Be{s1n8uPu?zxA1NE9JA?IB3-ij}f%k`cQ4L zT5d?=cpFlg!`soSBpm}S9M_nv0U7evy9hHq(KwA!v%&bzM%x$^Sv6PP>pTomHdeUN zEnI;)mjXnUq@EX0a~NQZZ>!1q4rZ01v&>N+DO)E&li=1kZ;@O>T`4@lvvLSPz*ffd z;Se-#+P`ro)sV*aodP4OJPU{P>JL^zCMCFYmxcIkS*r?lHH{+11mux?Bdg{OrRS8( zWvuMbx1h&p(tq?S4aIi_o^Jb0IdcofNNu;QC+hg^P2wxEW}G1k%#MNbnjncDlXVE` zgNvbHU5=pN98cqu-1NS9Y915e!N@qW$dGXf7BpnO*8iS^tmfPoxDsPWBnOQ*(*gx?Hw1CUtfmqZ+eAS8!RZN$$_8 z256AmziRhl`)eXe8)98fHKst*)8w2-8wWZV@R6FBgYkss*&g^W6QknJ_CeV0eBP%? zBZvYf^K6Hjw0F;rB08l~7|H5f5uR^eD4;k3c4|$^)v`IR(=Ff#9o<>rjAOhNd!u{y zc)*mJ@dQcBW0?#E1?uBrG#-qhv9{Bdxk|$5*j95{W1-_cLq|zu`|Bnx57pV&L3anS zG@RE+5GmLLoSsfHzoDz!UmqjHv4^(VItd;-p~kwC$HmI@9HO?ORyyDGpXN>4|I&Y@ z{$qPAwQ|(DSL+nBi((v#NhtN%eE2=Lzn-L9-S35P{f#la<*l=D@x}4~SP}c#v<%Pu z==+ZE(+cjw%PLIKfV;2@FF4%wv2)k1etzKDrj^V+f;1E)O5Pzxzx0#joi=WqjON|lf(yC*i8%=f z5>{C8!;EbtH|9;0jUeSqFRlCmaE{hB(pzayEu3a(31f8|Pnwvcl$;PtDUC@4ncjYh z$^*WVBh_C~%7o-L+NSn=000Fp(@D2kPK}b2AdkJQU`FB`yk|5_BzsmEgMKwvk>r=4 zHK(0m5+wk0WRddJ+TRxCO`v0xwwJtD>^mL?2&>XD(P*4POATiM@;yB%K?~Ld2aQTtp^)tNY7vCmHWCs#z%@#(;a?tdni11dqNqwOf0dXdOk>mOzSAi&Dw(u0J=*_dRdb#sYN*Rh%gCQQF&AwWfEEw-+);hi zM-9GAMbmhoHA-%zUHh+Lf9POsrFVinG9=Rwm?YVxW@2tyak1p7?a;w}+f+vlw6PF- z=rOqg9FOCrGzEO2mL7gOp%l(MHD76%VWr$g$;}49yFOEHqbOrO6E4AuId4M(4+!Rlzo67{8*8IZ_KhN5 zRM*iRV8RegnV56WzA_Fn8grd%poI>Ny*b*%-1rBLrs55Oc{I1u*%*GXfjG!l9GQul zEI%An>HHH6JMdN~6-bXqlm(O@R$hWf82}N~m-NxuOz6-loH8*t{M2@fhO{>hdl{R+=(h8~_A#sx&8m&YWyoFNj9An@Z3TlEUSDg20H4l_S$rOkYq3g&gNCIxFhL zcFQ=liQc}4dIy3~*JfPd%9T>(3Siyy5`iNAKGBMXYHes8IIb+kLT#~#o z+DgfR1A_DcN zoR}+3g)4g!(2S&u8ZRp%UKtgOFBO>}fn6hxq%9pJhMCRIGQ=87kb%K*!ZLRInT!-B zFM;%>ykp|-l?6)B(>7GSmz1n+om#dI1@nTOn9DRqxi&|EK!1AJ)?rTNQGMsx+E&A0 zU<1vanA38qNV_kSLH`i(MY%z!tP*WIF-Hp*dEEBlc?UIQQO@uz^IvzSp#AbSq%=-A zeh|l@5syMGICgByiMd?Q8o_OmnwX22&uQFJkwnJ&DDO)wp(aZ~p0O9geEeeT;&7ax zTg6>}Du$cBVHW1|@Xu$*;y+(SJ^B9kAKQHp;$7{Ilu% zAHMJKjweqquYdaVGVDLU620Z##u(J|c3{@SY2#HcL;t0aL8v17klBoc!1gQ@NgI;jJ$cBztQ3U`@TzKuo zWJZEB>vVX0>V}kZRB8zz+re`>V$wF6o`2B>rZjI1W#Y>`lB<{4*Hjrn+E=O72xJSN zc96^1mdZl4al_ew2s7@3kQ%L;%U`()mbsTk`zCWC5{#4Cf)I!K*lxkd8w+Lyc6VZq zjPA_4>F?-PoPABsinJNz#sJufMa^r#+akZQl16^HJhC{sCcpbIKF z2vPKBFVxI#f1(IS#;?v`ha@s2bQv>blDM>+aJHS`-tgSgRi*t+nNt)IDNj8bF@nrW z`old-3Pz%_a4nXixl~v7EGlxvZ z9&{4}^Yxkrl7Ox_3JhqA_mBl_00?x>OOb`*R8=;vdU6me-EjCYqG8jmu^mB+FrP`-7+}8H4Mm~i6Y!feK%%e1$MEM5HG9A-*aEDar)z!FKjK6sp^>s~T4MAR&gpX=g@jxSN zd*&qxTTRT3q*@;sB83yj&)O)Kje3_LFYbyz<4gz9c0*g$1y9b%MOz~IHlCW?W(;Ll zLp(lBM&^xUM{M6T-;>c{V--@f_A*&arkYUU1aZmEag&`P((2~3t1_Sj%WoM1j(i$M zNC7NfmfhMxkaIAx9m@q#5c1k!Dbm}`l|Lyb$|U1O5)^8`Noh#yfCCya!2oy`81(=) zT&lbW%;w;;H92 z;I~ks;jbWP)Z68$j}I*`g5nhAXjG9Wa?ptAF9_-d_0Mu6T9$ zz$)2;@B6XiPljE1*@a1vWEXbfDBKQhyIz?XDDs%h%D zZ8e}@ri!s&ebo$O(B`RPTI=z(zbweXfJLSR-hy>D;7ruTPI5XyG(rH*Krz1xFfoTT zpqtbODv0m1PL`BRAm3GPkW&i#L__kLl6H)?{TWnnr{W@Gu!6-`B@kCC+4EQ4bqxqJL%~fTTgdvmWes0^K=}uqUgA?6rFFvn(dK{5OZn= zm7)xoR|3!!dI;@IOR=h(2y;`_!fftxo0Ml`;TW=5${a_5 zdM_EDR&9ySxRRBxqKvuM6LYNF*at#dA8u089d!zc7wY&m6;qUD9#;nkA}?s0m^`C6 znwPLzSE=!-^eXFnYwOzw)1cll*$wI3K6a9y6oWM7Hfm{~6SQr^)>_-b^uKOo`Xy%5 zuWYPJ0%Tm3luVw02N?6lHo_RE>Ws7t=Sl8jv2qL58v7Tp5t*1%lr~~2b+)X_a`;x} z-m%$6@|JmTebtTzv_w#fO2r#Mr4ku?7}-P`^*%LVnldq$(?_^cgp;U|sI&Kp2pXWy za$*j_pK+>882D5^LvqY0nV8e5NG@UUG}krYBYhY>FQcip90$Xtp@boyYQhC8C-o=h zQc09-_J9VKPRw=R)Y~W8Ii@LsOhKiAXM_YAiQpHAkuEEzh$|Uy+gT$RSA{jIDaP^O z0IW=ab{e8DTfA90fpRPKMPzx@1%ZyxH`X~vM`27jDO6(HP0Wch0IgYMvPIG_E-8)LZk z+W6?jm!x03>dNrp)uVfU_(v~#g4AvoUZSCe_I6Uyhi;86S)LDoH#|W%*0F~1`b1z4xr<3$o}aKY{M)|;@8vNF4qhw6Si%= zZ<$I^md1jMJ_EAefyNrJdHlEfn+N7};?DfilE9l~`gjN8Kjk zx=ObpHv3Vwsrmx!>tN&F#OhSlXzNV)Oi{w)N={xX6r;(Rt++_S%3^C0k`ohZw6QJ8 zRnLyIu1CH%Hf=t)+@nm)m2RJ+P_5is<{anHq{}yC#He=f@kJPslL#V-9HVxXjfaDH z5kb*t7=+eVRd~=nz=0Xt4rWr@s7qhBu?qX5I`UYgw$(qVyIO%b{92?ym^X$&^Fpm{ zv1v`>K?sSSBxPA>XGRt6j#Y&@#swqb31h7F? z`$;=(`^MwVe$0jITnAB%Pf{s1$&}HSSjIuptjd*V41oa=@kqCX?Yi7veJLf8+d_@V8Dsu#D@kuf{lRU5)dw(L&1< z$Xm*F;9!e8SpM_IF-n|Xi9n+!%udqzGANN*^}Bb^d_)6Qx$D^oXe*sy-il8po-C-y zhOz6!$T%>rtSEKifx1Q+h9Ed7-IMSXE}bBF#ycU!GQJoc0f;hSp*f7;)yScJi4*4X zk-DjRfltg;K&3b_O-d`nv0LZV)uAZnsVcCnCL)JQpxQUQw5ji8(v+b(*OoMR%#@ml47(OVcOjh)zK! zp`j^7Be#TTb6XeTixp6GSxurR=Adl)BBNJ~zwW2z<5-cUzt9tNdhuG-e@XHcSk)ql zwLD7w)Z%%HUht|>#YON`hKz1~rh$9<7f0hb$UEbY8CN^TS!hnojTz~Yoen+5Woe%F z036Gph}fmxnwV344dcArf(^3T&thZKKh%B+D#SKg)Z^Lq`iSZBnl^Enm0xV9IR!!0 z!J045-L#{GniF%1IO-~SLFz{Zl5bz#{Mr1gjk#XzGAs5bZC1|BSHAZ3H-zw-*M$2o zzaswH6<5aJT0Q=g@BhJzo^Doh7hV!!D;H%KcA*vS{N?9=WcBk8AN-5u>+k>c^3uhA z49mk=*xQSn8T~~XmfF@Wpd7?#r`1>Zu5wSH!HK4)=Rg2$@_jpOX+xkU=MAfnS^q-mlfUUL8;vlOycx;rsfcuis` zI8K*&Ec8W|Z8z=6j~tT*QAdatvXL;3X65V`*=n^Z52>+Q)Wg2)Ev?%u+3AWRC&&?& zTg9o$6>hVLOg4zKG_U~l8!LPLE%dTna7Mg|Y9ViB%NWWau?r|3Xtfe-BT~GSzTp}{ z7ma!i$Fo&xd zVN(AT_IvC~ww**~dy+IS&M>Y#k>|#=@p|aQyst`|vbs7E_TxDg%iu~{*O8>b+TZ#p z(_;-YW_7kPG#2azubqngt9r-}?yzde{*F{W5o<({5iPAcZK;R&YN|aUOJyPLCDR)e zpf6NX-Jf=KrJXcz$7T`<%vSw8#$}6Zn%=5d4D#!yR=2C-#E^-u9%WlvB{D4}2#*v? zIjaSW7$-4`%6J8vWb8yB4G*@kj0<-l)~tl6S#9m$xxgG5uzgjghd)FA>VncpM%o{< zLmn#!p&tLy`0}qamZZ+IB4H|T+YAPlo*UlO%=k&h)QYC2Vi_whF>hsEC7iE(?DfCH z!xR?FRo!PPTz+Lby!F=kb63AM{`xA}KmPt7yy!2&F1+MJf3)txE_A|2K5*uZtDkp$ z<&ouko_S*VT~9q4E_?Ek;XJv`O1brCWMbG%$_)qd`aokVfn^|3)Ej9ru+Ih<2M0*^M;7b~FXPcAyBCzs+5^WOC!7KE76LZWdMN+xw zMiUP}LP&WM2{l86c>x&Z8^gfTf;`e{>yM?VfvuVY(UBnoDMvlfkprr}j3?L^rs)%N z74%!B5_LMol(=9{U}PMO)T&>pm{U57W93k^4iPuIszf?aL@=>1Gp+>0_Ed@K(!|A- zRfW+r5rlKvP*z*#ST>PxAt&a5JL<{UZX|MnV-}XstBE-?zH+gioDTGdCIfrYeuJX* z7YmM(zu*&d<3$;jM(5~B^&oJSik59k>cy&>ECVAc=1>ZqEZGa*jfnKxnN7?g@$O5; z##1uUB=uJkF>OGal>NoBt<+Z;Y4RzXrp~Mc*&@kH4`a~~W>Kc&h@Ax*9J9(~Ns}t= zBt|e{73;^g^iu6EC*~-kWf@~-Lm3*bJ*D>5?GMvE#`rd5HPs~SOY&Cz!zeUD#=p8e zb(;W=1APH{C>jo_Y)jLn&6uDkCgz4;-RkN+pL%55w!Dl@Onx|4QD%ne?#O((BTmeL z?lU#8%~BuDa#v={Fxvc8!r8cTZZo;L`ggckhT|tfxaMRCS6vnFx$c_TzrF0T_}i=0 zzx$ovcl-<%y9+O!Fm1H%!Y(wzM?P@oy{n&}f9UgzJMQ`8ML0Y+3-h?QSx&n?SMD$k z+gH~!_=DldN<~_207OpEz#JmWEr9OUOo>~ZFvF#s9$2%`)Pe|KBe&o7PPMI)M{u~P zgXDm7XhUyePR1lKMs$pKzX%J!dBR2bznw)w!hlrOgrr%9CK6rRJ7H&(2If9>6E5?z$oy$rbPfq*N=qB230XQ+5ThC<=A^4EsCsIK`1~ zn`$Cs`0ZtPVvbB(GEd0_bnJ8+Hx_|fm4z%x+wJukDqp#B(Gbo_B+lZzSZBQUvz?g3 zHb7h_8RuzLveI^7=PgriXs3YADMefP?M}?8b{`VDZ3!u+XpJhrQUK7djJF-!s2}z5 zm9LNNm~@LI`$j#r)0#u<`2&g*I3GF6XDY%NL3f<7PX}4q^}%2FrHE=w;M0t8jXjfm zR(NrA;uhz3?A|PHCg}DLQ#e?puvk4gc`}4=eEU3H{_6Nk zt0e#6JHPMv<6#$GvSIpY-GyC%@UdSzd*kZoyPrJ0{Eo*TUcT$;N5j=mon9%3WeoHA zY?Q7PmT?3-Yoie@MAJARsz(9R5_L-aIxr^cAu*KBD6rq>S3p4G=?KToVDnF%iVrQ{grtw9TZm}r zGp(ZJELu^+;EG;*jFfDm&zRgzacgxBDep$X29$9nFR36s5eH+!(RbB(Z1mx%40M?! zT@+(RC=lMF`m8=RoI@xyuAB~_f4p3TfAp1y)3<)^PY=WM zPp@a{hp(^B_6DV}UMaVkzTYU6!JRX2_!Q>zjIigZHNNx6&gO7dAn}oaPBQnVE2Reb z$cC07Ld~uL!PCvDPCY1V%THxNXm-OVnA$B?hvbxXcL9K0g{P?y=sdaaCjmBayWq?X z-T%yKB)rhGS~OjDmPJX?6FCCFtN&xXwlP5}^_45ifT@6it*#of7+0y1fH%>#En$4A z@;KkEiMg^;!tQ;P%rM`?rp?+!g2vLV(BM)=>xq(h?XT>A&9{MYSM;=nDd2A}hk`T`l@LW36PLjVI=jk^! zC{ZVZo+i58uHI8wKo@GB>>)|!!tjZ!6XU?BPHI#wvssD#v=)cBjz3#VWR3{Kv+=|% zl-E4&xqUJZTV*2Cjt-xcHuo#ba$*Yw9aa&OES6EnE`$(G7hAe$vy+iAsRIrFge{pw z>x&p#;{atuZS6B-BDb_(LGLJb-Ig#$42H7#jlE@9tUL#M&iV+F87Vh1q3tLOcASws zW~JhkfU+Tk&pV6_^2!qJ#2mL7YQ>L-jjM4i&|zgi)p9n!i)>i;N<5fxdljai5NMGA+@p}*hohFN&q9kX!JMe$#} z`ik(6SC60n*1x*9+t&IL3q4J_3%g*#Cq8uMHLIT=dFF}qT@T;8{N|?~O(&muJcRYf z9%l2w&`T$=7?yEj&f59Nu;}r!i0r33Ifie=8t#^klc>`H5{bmMKv9UnoDU?KB0UC4pdJxrfYdHwd?Ha4npzH8 z3~uU$+@PZ*8q(>u{_X+^`~YM&oVaGq$o|+ zSV^*Th0>FgxG^336AsQ(JJxRvTDASWCntXFRX{>#&th1SzBlydV2fHl{aR8{_ zQ7*t95I@jf@w9BxNW+7I>QLBy#Vn^vIhZIiW9)^Ck9< zP_C3E(R#gOC#)KB^rzIFEMp}YS-IN;3Gs4WGdXW!j)`U~Q5f+a?N_e9421MTkzoLI zQWU(2xiMmhi>1uP>d*RXt(U$!tXIv2lPBZdZ@q2yC#y%l_N{+)@7JfWwF_Un;3K?U z*aZlG^6$>B<>lIQ&!^kYKDYe)&peUd`}sd#hNmB08-`hk>%Hys;Uf>rv>cbzM&Z1z zRYcNKr_TK$g%+IAQfXkh6w1I)1>`i4r@UF0io0WlavpMai#xJNeXI?N=4a}Pwboax zJPK-Jt`rDqTq4^2l!aO+)bi!}CXgvc*=A1TLcdcUoVU%2qFJ6`%fU$)`}JLDMCQmg zwJ$=;q<>|_3?09n*u>m$>o}T<7iiPw*!6mtHH5yb$Bp2a6#eS(Z$_*_T-dJ(;>Qsz z1~P(G90*#KLA%4Gj>f`{3xZ-KE{-%YS5z;nD`wJB{0nAzn?#lct*d0Ym2xtEnJ!S) zBWVEJ@(TcSmn@BmIn#15lLDj6^dX~L)`AF7UYkL81a*LudSc4M$d=x)?N&RcTsip_ z)IZ9^TwYmgWEk~^8C7&*ZlFozx~%#I9ZXe@?XAkAbH1f#UQ~HxJFeh?P0ShgT;s>| zc8^IiF$d#VjtlftjXsMa#vP0q|5Ogl)?shueMHQ_CgyZ~RO^@a1$#*JkR%XE8fE)D z0B3F;{jG|FdT`SlTCr?m&RZ!er(J8aN2QA`o)C9l-5on1fB3|l%wugUmID@r^Wg1x z*+k)Fn*j;5B(y2&qBk)Yq)b;nWIAp432UxCcWf&m6^ncjg%fiBWO|$+YUQG}6|V>^ z2mypyM*ovUP&R(KeXF4A4Ip8{#GK&5O_Z`SvET#fh&&CuZ41YbP3ZB}oR}N$^9Qo# z^SIf$cK%@a_~LqH=bLYtg*)Ch3&)O!e|F>b@&8<9dGyxX_nw}};V!($VXCO?!Y-^Q z=8ms^{>wAZr62ynrw(p?{GsK^=bo5{gY$9oMVP_v>Nlt3#fYaL=G{6FvZqne2y_A|_mdY1-f~|+;mQ&c|DGA%9Zfh!yZ>Zc< zFxJ2meV^%l{2`|Vj84d!##Uf~;!%yJD;YHK?5j->xL-q)A;7JzMJm~K+G;f4P9lIj zw1WgFwq3E&QZ9rQp>H6Y<42jGw`~T|9OxK~=_BJET$#p9M^EOf-1&|%Cx`%dyOEn| zC=ms~JLp`8=hARCft{Em!TZu&^}AJxo(sTzkC5pT9p#WT!Xq9i3dZ+JnQE10}c_~>`l12|E@;t&ttD#FD>Apu2 zf*Fs*gjLJ3h=h_>3e;w$)xK848Q(5qpS34rGZEe8LJv2bTu)Z{HczhKtW~Fk)Y!BW zv1+3^D@M_-EAbEjd2%HPZ0+?(o0i9>XA@gwSbukzDexl+xracoi@TycdUjQo)w5$$ z>}B&ryOD}+!E=MvnSaI!gD>8Z=J1JCn(AJ6i9)xbn z#GDf~iE}p*1Lz|I>n{L{eCA_Q6T;9e6EK)-(8n8m@h#sh#n5f9A)U1p-HADcsfU>1 z*r3ryuA6B^W3dR~;2?x6UlYPL*T!)3o8mpU-8TEPRigjv*4y`f%i(AjzQ$o|6SWIp zpW&{5zyJEfgLKPR9zOhu=bl;qzd<&cRvmc{TOe~(ZDpu0?^4|-?gtTr44(cP_>WHI$(h4M(moZiGo6I0>5R{H(W3YF)D|M`c zxij$~x7gSOlP2aA5EQX_SfEOtgh=(H)>zi#19St)vD`52!4e(%m<}$i;_Qgt@S`hBbuW`|k#3SX1Aeu% zjpNOoIH-Z0hHFzs#d6laQzquhPlPt?C|HJljyf@iIdCOvdt#2;eQMX$*7NAsm8qSr zydIRtENk9Lcr8*s=4lnrJ|bnz2$D%y4(JE3^hog4RD7ZMA{rNTlb)EPpHvvqy%-a7 zL0~vJGLhU7C+2MX11r6L@FEOg_35ed0``4FFRFVGx-BN=IK58Ts?judvfsX%HqdLo z9Z5lG9@)g)=6=*sQ(#bZkXICYNQ~)}FKLH@>Q>g_i>|ZT>S__f;Xw%Vy%6?JgmA~( zXW=ck#wU-Ti2wA)*Ux@+mGSW#Z}HXvL>aLyKv%O05t#H zDOr&un=sh+s^G@7WA3Zc_c*>9GG*#)d9ry4!gIE|xp_)IF=qrEzvjTm@U+UB*}l1r zi$)G@XC%~7*&^L$p2)$ck~VLR@rhzzAz6A15I>p9VPPDL+@H}3)s96nV9ofg4+gQf zGGxaNw-Z@MLIreLI5CG40+>nYX=OXA5gBsG$wS2Q5RuAwlcP633y@adx3o!R$#aP% zzxaU5t!7T7jrb6$K^@iD66>c0t7-zl6afu_AC_s2U1O6pje(9%WcYVT4=jQH40hr{ zEwXU+yUc*tLw}*tPYV~OTm6wmx70@{4bE;f-6D9dUsJ}1B;bT!;XwC?l0{F%OOkQK zM*h^#DcEYToL99-$w9T`zKoUjbIQjb#xY>!ifIJh$97^J`(3~>h~n`b;n{I&r*+x>V(K%Qo-b% z#h)2NSfy3nR1_3}O2#9k;+T8WM{(H8HebceS8?l)K^!hZxb}t+uDc;Vf78vgJMVb= z?9SDrJ8!&UcCTf67rvIEW9@h0>pgt_kM?g~{k-j=`xk%vxv!=lx%aMv@ZjecVK2?Y zJkB?(<w>YuK#!f(EWm6{RWuv4t4C$0K`&lvQ}rm?+w;6M;4g zqCMSCfj`Aa3z%`av2Rh~xxA$nK){%SYP+b@bp!pffm2)y-U+RHu}AE4nVA?&?j$*D{%+xiEa&B*K~}Y%gdJZAivMQ9VrRjiG0E zH4p8HxgjB)m~)EI6LV4~6v^_-`w)pD_Go;k(H$_6s3KpJ;5X|_4mHgDi8*a!V@W${ zVs5039Oj82qn`;D&`G@A13mp`af}z_#9Uzu#f3FDf)nT@TCVc}o#d^?5nN51m`nCi zW-H2+^R#Yvq}-P#zfA z_KVE$0w(4hn@kl)Qp~Q;dXGU&%*}=|uuif5Hsju^!1b2a!$k_mFA3q2SBHZ)-x9xY z^Ud)OS4sZ&cfIS_A6TY$;cFRs;<^i8=i&2zwEuTjKRAPzXn?InvrYmtI8L#}UV;;p56D*R zb@*;LG%ZW)w{{QsCh;X*1ZDLimDEViE19h}!6X)R;OcO9>#w5j!A~EtBq)#P4}f2? zf$qCc<{A53JpgA9&a@`xSlzuoa<_v8DSjX?&eunqK-&=soaz|LwUmY-OIo+1O7vo& zrf24iV;H{~9DBZ-B-a3TDAQPW%WdiDB|=W*wK~PEzUL{(%Lox7-UrgT4YAUQR8=P6 zMAV~$y>ViWe!sHttvkl~R%<&nCd$#_kfzAUn4zGAS$l$oLtR%jsSaCwYk92QbzR&x zY}h`}8J%SRm0WR0#+{f`rAGB|Dr8VR1b+(3>W^|;+;6D4y@n~Vy# zbXry@%NAGaI5DRvc+f!2ut)aOtfP@-Ev~fnTC3c-1Yc_Gwww0!V(X5fW$f%~VfXLG5imJ9h zn@ck>hjzg74W_8Z8yN}3cC3BPO*^i)u*OhchOBPGY#qHybas)#BBu0)*N6RUuMKyt z9{=o*|M*3}(W})iytrYy2Hb_OtMJf02kVt`f92tO55N1F$Cp2F-)9yl?*HsEESJN` z-gaF}$#XNNgu!u<3O}(+LSH^&iWES-r`t6nnrx@o5TWkQRx^39uMOLS z70k_ZM(05qoH+G726Gj$4paKMGco6&7c(&j#Z>pyG48q$Qm*`&aOPMMb5ZJqi8=i| z89Sc}87?P^4`GmTjI`c~SL(LKsPmEpJ?TUc-kZS@V>U52luMv~caZiTHS)W74PjCS zjBT=oB&O3CTNm2^vy6VdV2&lrkMw<5>dpSEDKx1&5lhg zCY2cLjLP;CbDmyBrv-S3I)?R!nwWD|WYdYc;y3CtO&59%C}kD9nG2e7DwB+F7G%p* z7EJbYwox*R6{sPhoKVBZlR~yb5_@o~GHqfGDLYm(vXs+ldnq@q(sjC{`$TpyvwC(# zQIg_d$#3pQnn^qav(u~N(A!l&2`Pt9cKY8`+$CkJoz^{iHI5}t??f!x;4zMfL}JXR zXl;SjnH>`k-JGRUnSMPQ*4-x5Ibc32nOXJC1Zza6Jds6?9X&B83Q&B)E(Z_XgYiJ^ zH)UeZT`RyMA~4gzF^px^0`m$zv(}G^!)KBACK|br)J^A#j|kyc-#!; z;f>R{dBD8&YB&HUIG$}FrkzgAafibs6kwj>!Va_M%?1`k9Luh=DES5bY7g?Zbg46q z#9Uiso#yKBV!MNZQOJcCP{B`bbGlYVCDzTa9U_?ibx;BZorfOTjLv4m@Yk||4o=Lq z+C9rF0e-lG-ES{*Ay|olNnR2Mu9=mbH8-Kl+pr7zWh!S}P4PwaRutE;_Jh@<=B9sml(ikm5_@R+CfmZyzeopN zgLIn*!$Tge2emNZc6g(6iOd=GV0}DdAECXNA4aDuO!OF~+YX7n7!z|eD8CK*If+Cr zZ4bmS?9^bwQ06j6KWYJIEtz)5{-Ju>DYY@^&9+6Or))9oj4isFk(QUUG_Xx5iQF({ zW2XmqiaiGKG0C^5=`Ts6m$PHDI_56uVCR3-<-7_9H>X)B?! zmXQ~OCWCA-w(^9yh4G^MNS-$)(O8 zAyJVkdj1Y7oR)5k6t`PBn-k@dR33J!X*=QK&W%1y8Q>>)pcFRB zG_e{xV_JK9J1}Dn363~1N7%HEiNpn%kCr&m4G{b$^lTI<0BsXGR|6n*46vKnZGHhd zq1z=9hd4Whu91xFtsZ2quCKc+f7+?y(B2CuKe$3!mC%`(V?4KXRn6LRAsxFRZ9pRRB>JOXMUkl1 zSJKVVMH@H`>B{EjkI*S{oKWvBC$$ABz29RGi*S7(a zta9WcqzN$n&Pw3DxAp2QH?*d(yhGqIBw(}S?7ARf>_rF0s8Gfh8lfcewCn=1GGStl z^31hLt1LxMy>!-vbm_`GX>1E;+(5SiomRc&=QyTf)2>BzsYH^XeY7Z{0{yS`T^-@NfUE5tE;wi6@ZOmk6D{Bo(!+iJlVuTGNoUoX_FM_ z;pPqS=|y?sPbcOGBb{zjHFljXLj zzpRNl3E+mL){Dt;*6tI8k=xt#)|xO_rvyVMZ;aU#6LYpCY#-adE>}fQHcu`#Cq*Moa>4O+1KX$7$^aq)kYw@cn37M;UN83Qo zr{cudUBQyE5C_G1sn0ed}%KcUBk6YtQV;bD)f`<+P>xk{=LeTjUco zfO}?Vb7Ib^J5epRu309>JAny2#gmM@vNWck@&LaoYmx%5G{8r^itUy#1t`1pHex!( z(GBqBa88kmNXM4e_A;N5vSYtw6*|jZ6^qdl4LY_C`z6Ubwd<_g4{e9FFSX>hPIpM~ zNCPg3&G16X$8-36R~|)O4J1e^i7dA2Xx%>chzWv|wwRc!I*S?!g&Fb|$7J$=j7))= zP>y^V1CoiX5D}?e9wAMmza8wv;DtTw7|QiNtR?7~bCV0tBE8eVc6^gHfv{4T z*~Bt2S43D#Th+k=o7tl4PpnCY69GVX%<{8pVA3cKd-K7S-``JRvGVKZ$Cu&y8$x*J zJLlo**UtXmy}j@=*Iu`G-;FoS55q2e&B8WAd>6hB!iRt1*|)8J{_bNBEx+xddzWuI z_guVqu|ErO9>Z*&fkY}m+<;{Wkvy`l)tHtTJR4IrlA+V(A?nCxNJOcEI+p;HmTjg6 zr+8F8Z^>R$CsfA=rY*1w66V58GFh%r5@{x?CwI@U<(pA#bxDL& z<;$rP>sGU)qvfowFjZmP=duXr2`)QqHHHlh=&$~&tr-zT!xF51Z#hkBDw^@Kc9=N65FD%FSLLfBcWkSBAY zzqbh~CyTldbl~Hg1iBGSLP1f*ajG49a?!NqmM1--k{@~+!?Tv`4BkP(VQbr_b6$E% zj7lE+c93M~uEK8x4n!2!7CgGFm=dLE_c-!Ee1JNUbj+VYCUu$|iO9*ygU1t#H#((N z*#cLs+)=4y!w3WEHjP4j3(jJrBOfwMGfCu(Xo_1{zvm0*ENtiaf@VM;l8u2*eag?| z;VH_Dp$t7~`^!q$nB^>7e9>&Pb#<|RlNHmr z4Qm|y_7&3*FRnemNXPI)_bF5~hNEpss=+YmPCaEjX?uZ6R_A5Tgjsdc(B_4j_o?h; zuP0z@KM(zschDe$g0WhTa%7Ocx$uo|Ihb6%<(#OV42s_(FUjdss4{_dOR7OI8x9VH zW>PNQMhwNumMjkE2vE0?iAJFODpG`sHz`+m>pO!RZR5y8x0i`i+CIC*n=G8rLLHAF zP5@UVSFoLw$4HhVqQig(@`^w(mB%sa8_!uK8XQ);#InT0>RdB9hq6x3+W{i7O^A~! z)6nz9yK-+6xLShUY3~J2B&Z_0$+T+z((PqL}&Zd1h7BfAd1jeyK&gJNG#&JBaTs$mLdlerDbY9-v9C7nad zo7SsfI#cE+5N$PB>!OVOS1ByBO=aGCX%g&g6YBJkvk;+SZec z_ThfL1-UODV-PfQIv1Jfv6Q@|E$5;>t#QM#y9_*M0CIUo7RZKV=wyHjJ+XiKdj5Z$2k9Z-(hK@~> zMUD{OSJ;~F3UkK8XtQ9g)kurk~0&oVJLMl#%$Bvx7b<%>}c_Lkwb*T(1H{Fd2Mms}ElY4!Bye)LC9 zoM}{b7cOAv;l*8eg@@04{QTbP=f)=*i#{rsm7!bfB!fIxx+Sdd^C6(NZ9#yGEjd z%W&BhAzXhdhD$FEAAJ3dv;Xy?6Y&e*^S#F&>DPJ}UTA3H#a;M12%q`*`O8;7KmPP% z%OASy69+e+eqi~U=bs%0=iXin^;Eey0LabPT`KVEZU4{?S5Ozy2Fb_LkVtimCKMH? znoQVScutXxnX*-_za5Er94w9GAqI4SD;`1!7j2{EXOpZ1&s4w0C6dN5eQv`jvKZg0 z;Z#j!MFMQ%6!@eB?{aBb4-vs5DbY>CYfugE?krW2fEh2VqA5hg^&Lz`pr_6Zl)NOTZ}jFB<3JV? zm6mZqye)mC3!96Bd4!cUvCK|4i3ZpcTb}3(NSSnVGUiNo;Af0U(Nm5Qa3^`hA=vf| z7aRxG5%i^7>r-76>if1*H!`G3Ao5ufAa|fABtcZC-peT#U|2N66eo0)4}5VIA#rns z8nFuz29W)*OoI+(0;9D;=$dM_Wokl!6V$O2FEt?_D|(dic9E;7FpZg*qm9b>b63R@ zJ!>XRF?o5xNXZ0Gdfe@8SiXH^nBm%!>xD^(l1^${+t2tm%n?3Kt{BJ>g}NRoTFzrm z)~b+)+uR3|SuH4fUYgXV!H3%Ip>(LNfPD#U`-7Ta)#MCx*!I)%B_zmgH_eZPhOQ*E zjvv8t#C?s@`qZ|(&P23NP0RFjz?X73b{g2G@xa($udb4Zk{}JcOwc~!aYrgn^MLF( zdSRrI6Lu`hn6$D|C+0H!WeP>O)-SX64^x;QOX0+;QaE+P?BTcFKKsJnUiiiD`QBr{ z)GllnE=1_*{9SkjhsPe+zxnxR(jAX{Vfo`vo?gE9Gk| zKvem)09n&TfzX=LOw6^|#BQgafx~QR7*F366i4dOZa}T^65O{q(~!PKH*%JKCLRKE z3D2TD&t7*bhFjho!{wL954`o( z*}q&x-E;dL^DmkLcj1DCo{HRsS8#ajf&Ksb>~rbweDb#s-u%F)7uSE~bO`6358>GH z;X@3|v^iC-j_AB%P67!)O-i|f2VA%15#wmB!OPw(&mpspp8-t<#fqPaY@-5K8N6*}%9kOQix$x0Wi(!?Ar=^-xv=#|eAQ|U zcZ*kpq3&d@NNO%1NKnAG8K!z^iAp-8;Hi!sf)AA!7@#z{N5Y*U%e(?{TUe(GdRXQv zTg`wzj38{XVw*;i%Jdfp^ltwok&1aVt$uaduJu-ViilKTt=G*pK`|)-wPN{UG9Ccz ztN7Hc(4vkaT)u$Gwp$a@yJL_S zTUXb;z&axiAR4~)(o0t{nS#xSO&SWDtqSB5bFzR5y2Rr@dQv$)6y@?y0$8`U=4m)% zfwT)Xtk^#Kf|uS`%uHP=dQ`r+m&MhY% zsXaW+?iJw?@#MzjB}boh?LYwfvd>Uw8SGc}b^GH2W7HN{Va^;zKgow;%C)Gy1M06U6 zgrExudgMV`H3MQ5zft8$WBhujTz;8YCn?3f;-!%KuD(U}p z`yKON3A^y3g`=2(U3i6rKfCkHKRkan{Wo|0-r`kX{Ot0?!Tt)oFJqX^LnsIEZo;TF zVwf~B7seFDSuFq^9$N1!pc2_;V$K5vt-GAhfxkAUJ7OG5KcWB&Zpj2AE#3kVdl6-G zPh#7orS^;TRU~|RK_v7c(|9F}c$0o~Z-zEt)~)Fzg<97_1i7>HX!$MjCVAqQGBK%3 z7r?TiupPpdwwn~*qQ?vEIeCg)udg5!l|mc2cH}k=5&8f$ZIbsE$a%VlI!Fu{r@&>s z*RQPcB5(H=8TMoto7!>d>)4u_Hm4M50_3$V0(Z&P1!H-hnLu79Dm0Dzxo(U!ZMFb< zGLerE;ur)xCl#|K!w$grk!5{8V|ix0NvW5K+yyL)fq-xUC+4gn(I*eF0gkO}mDhF? zb7M)&NO#8^c__;DS8Ew1Ky`(QDl5dufGX)6>_Kebv@u?arlI0OCy)YZt8j5NbX0ks z(S&xGjB9|GR%RBB_U=fb)y`hLTNYHr!#{3$Z4}*oG>UnjJu%J&kH!wL>d0uR3WTwj z;=t-rbB;jmBM1D3tC6KI3h80fSEQ>E%sfeignM%8Yq z9ZR&lEyQD+Ow2L!B734WF_%->5A}@q4QR(OQ-oPRcA}yBpxj8OR7;$BnODp$$KN&M zhszKS7V9IeLO6CJgty&33vat4u0H_r58nHpy?=pCu?rV29Mv4`!Yd$r@Si^OKOXFd z|Mvb*hxquzA)Yuf3-kG~gmu_a2696x_nbp2r!$cl<(w;IirnTi8_o}HkPQ)lb31Hz!;Fr zK$*43(M!=f*TTyqc^s?j88VYaL{z%GT^e}B_dq6=UCQx*m_t80*CVy9;?+ZPD**OD z3BS({@(Fm{=)5>O8Z1m}+WaAzaoc?anNZZx(O^1jV&DfnPnJ5ONs6*G+(fv-x6Hz) zu#ryM;cJn4{QC9x-8?H(txn@(oXLXUD^~Z)I;qmUGh^UdCt{-pbUUm#%d1ghK^a~9!p-d5&jux zNHvg-W_SYPP>!%KL!Ouu=flF-EWH{9qA-I6`+>E80J>PMEIkq&jEXR3?m@yt^>AXd z&`Fh)%?5pCWLq)|V-P4bzNb_gyrr4UxsQM&5=m_IDWsM>_H06n{VDdOo&ksBmX9}9 zdL7QK)J|Ip9A{Ua=JsgYbdNhM#^PF@Il4EjXlVyfFIZdQ7nG9{c{Mr~2sq_M6BD#> z2}aaTR>Uc8AR~jGH>huGIl8~AJ*)iVII5OV;}vz5T5lkTW=rCpWw9UAAvV<5UxCf6 z!PPa9`U3jV+mWRhZftqh#VXEgnL*f4Za&TRI?S-ZD93H3Ka7iPf9oV%5cqhAi{s>6 z+Dy(ZSNF@2@cO*D^9Lc^bW;p(x@nl0`+GlmY&S9YB8C=<-i23a_{4|KymR&QZGZ76 z2jBDL>E*kgd14;UJUa_}dn zPCHtXim6XIl!lkpYYhg6A~5AHEjJu%pnzZDa=%tegP@4*Q~Fw@!)7_6=7{i%4pgg0 z4G31CG8jzYxnvkw^O6*D;+7%1iS6Jf6P}g_rj4=B7l}NMe)lI5C+WCR$;u-wz>jna zvS}6X+sc?k!fGsNq?;g*17(}VNS%o23nGHU4PPErH(ue(*i?02M$^!wGetQE!#1+7^7k#Be$Wwg7TVD zj+fl5hKEKwi{a(3&=#?T6%`o$%HzS|`YWv=Tzz#2*IW}1Za5h~{I=WTzgs=}-FLrx?=QLyunSv< zyzIj#K6K`%S3f_0*Y6#~d;e?^_l_M4v)Oz#AQyx3$;t`znLNlc2X|sFiu~SIO~eO{ zvs}EyOWoAYnV8|`4)fjMd9Ql&*FPCHUQJz21{gXXL*sF>5E zga=8?LPd0-coQ?1fJCGTUF1@i&K5k-pZ9VyJ3Pr}n5U6!vdBtIFZ+?uK!>A4*0~Xc znDZr!J!N8>ux(z&Q|8BBo9-ax7#-#ElFC84(xIZfczmf_E5Q-3wrLk%JrAYPit$m@ zz_CXhcmBYbOiu_kPF8snbJQuBP@uaRhUmsR@kx`=t(#~gyotHt4ZBW@<<+a&K=wS!%PgEjib(1|=CJ^x{yGz8tv*D@sJ1`0o3$%mpu=O*QeE8+Em^>8vodLnsdh-V zJ}(Cs*0v7gkP~w~z2w_tD*>&*ws7%;jYOWD=15_Oruf`8GGjdiqCPKfkl3Tew^z^v zOfZRDJCZ;ctD&ZREXPur&_IPX6pltglRCDOr-fGK@FD&maD$k9{e`Cmso5 zKA(qKjGK==l&vEMtVE$)^2kO2C=FApZ;R;`lS&>HluDr3sNZ(%3$DSASf`MKaU&p+-6_r(z2r z*(;~s`VP-l!E0}L+~8y?sTU`>46?Be4*5~SB=3&^wGNP<`ZdKVEVUe%$aum0U0_V; z_9hLsY4gZ#I4{j{-gxep39ekK505;Iv%V2df})jh(#Eia7xiiRA^P5P#3Q{N?!Ae* z1oueLb6^Y)=m82Eo(`f4wAzoN$zj|h!ATQyLxE5SZDjlvkCLBYgizMJWfagda>u9< zTqnM2=p>pynUpo1>%cP`o9mf)J5pBVBmfjf(1D5{+R?#Wj;imd;V_b{mTqeqtpIR^POi+#ddG?_k)!Ytax@jviVWeG+d;m`5}Bhv7yw2)GoXrSF9 z7}*9(6Ki3IqFa1|bbc42&49p_jx>SIU}df?b=3!Ha^tZEOjGSg`o z<#&`HHo~Eu9Vf%%ejA)&ZOH`X<(NoQlL$37M=AKDi|QZfwq+qM&`;8@Me~Ze<+7eL zms98K4V`%ix7{)eH@!YSc=1KyAARR{?EULi?3v52j)#Q3T{vR+n)-IT@Ru9zzkC13 z!g{6LC-$%T6teE3n~X0BXsqV6ITUVi~h3W~_6AeG8*Vr`wP?gZ`(aC2iUw!_vO!3Vh1YiNcA4u`Sa~Ey}@H zPT3QB*c-lv7GVaHM0nJYTUrm77w$;tT5-B6ZMWeGzvOWHP7XtT8<1--?Syf>6=9=u zt5ap@qr8^JtgTw}M77Yl#J0w9Ij;wLl1(&NwRG%Dn2Im|D~qits=YpkxEC0!=BBZsW57l4NzJGma8jMkh*< z&`JrIilaTYb@23%A)6W+*6~qW>J;J0RR5MobjDymd-GXzZrnP#!ST*X?%wCfWSTlT zH?F))Bu`#Z%akreS-sP0mFT9x+-$tc3l}@EVkd#74&H6%wYT;>Pt6O(kquji#0+F7 z`p4~=PUFe*scT-%xMj^M2wx@EodYE%+rF|QOz1hPd!+uvhGW`9r=jO}lQLxdHvR!! z&49KI)6y)ugK^h_w1sHTduVRc1-U&^F&AO@dOhMHQBE2r-qs&~lpldu|ITJ%^Fhe< zcGmsF5MFmf3@5LRU%uwG@qhXDZ=HW=mFo%Sg#+SF6LY!Z! zKCWUEXscA(Q{rh|eOXOI3SfEE(LK5A@<$++;(9%yw?2FRa1p{{8N;hD4dKcw;+b3C zJp0tmZ;T&ZW&KzG*?Z=nZZNzHTZR|z+wHg_2 zVQ#_|%t0THD^tMkpdQblRuf@%(gE1s7vGYNWZPX-$&K-(ONk+xxDe{fKNdXY2=UFc zbjDncL&Lhmo}EhaZZ$Cn!r9nrYtK;A!mHd&7?bF{VS8X7Dn~pGHcz$FD6dlPDx;$R zg$SC7x<*|%?2r}p*P1htEv-F4$8W709mVR=*@}K^41ow)x;Pe&z)c(O0Bw<&D1gSN zrW7yz@{Tek)SyhGlPJe(0)`u=aG%JPrZ-Wqk=#t@RzCtGh#qA3rD)k6BL#*Bx*fwO z;f)&AN(^`cT>%qwO6`E1wCxj%y(}w@sULxSj(W8yo2Z^sY)5<{J6xj4?}jN8bEx0t z#GHDd)7yXm1)mPGQ5RKbJCjtJr8FzWhD0?%mp^Q_{tRqd4n*TDhD%=+!X3BG!l_g7 zQnTJpQ*131Ae%}B2Pc8nF&;9w~t!KZQ zP8^(#n{(x6<2DC^^#gUxa1|W^lbMKe(&XMy#~`hhI=WPOI}9_l{3}dCxyv+Iq_JUH zd1a+uy|uySk)eXRF^+Uv1~HPhYDOg09iGEf0ZFXs;8%4kAO~5!Y==wBQ^Pj&r*~$T zJ!8vh6oO#``SzMq6OcH_26hTpk8n@Xr$F`f?m6T3NXbY zTb{f!86O8v9Xm{yc-~)ZK9`S<`h{c05Fj7C?u1-RLGUvkalkkDE90+rbY(Fqr)^+WSPHOhg#wh9oXNJ$Z-SO5 z9;=;v9PPW3(Nxa_N;Q9;e2ba)@qQDR6%ZX47HH_Uuu9bPAyF?k^?eIsIb+c+bb>jW zsz;`jiP_7&(Z5?zVeQc~&bg0GLMwsDBS^09bC-33nYspM8FuVxuM7i?F+J?^JRY9ilnM0*;g79>nwc0w@}<>axIdP z1M;QBDV1&v#fOytR#CG!*pbB|hP`7UoVqcFQ>Vh0Z@)Eu^egK{^MK>yToil7XF_#soPR-7Iu)r;;lyYLuJ@}Ytbl1Uv^4oX~ zVS#o)q`l0JVYX_;NaeKRxB6w^1ZJAi0)ip~s;jhyFA6^AA=`d@q);2gLP?B4usBV9 zrIAlXc`LvSw6@Kq#hl(mNcUm~>hMiqp()*yfMElKkaXQH?zS13JRYKTe(a-$N61Ad z>4E7!1G1E8F9;>paF{gRnsDmWTyM-`JJ4~q`7uhRl4pJo_mwPn9T_w5RSh!jRFn!7 zg$axa)??I8M1+?k6?}`5;KN4x%pYm5qLIDYdbu2{P|%l>rJ?;RUw74hR*?N_R*@Ow zlUZQ`=oncci&}Ofx0{_Y;(vU_ae7!twXX7fTt%fcJLmvm*Gg-Vi8*V<#$P!x7j=)- zv_wyDoTb`%gF`&>QSg#J53$gnjs2c?Ll{wV^yNUD)M6ykQtOd)5e-&uv@Z4v2!KCA zQ-`!vu_L)E&XXwBI;;^uF&MdEut{byU7JMX z_;Tmu>;zATgusYLW3)&f=P?tBaskbOcB`D<7G<4;9WMQzG~9N00SzZ~((tGDuhd^r zrB6w>ozme#$3&^`5!ZAA)Wd*g(|zdf*mxplu z$#CW!-!yyV)Q#acR+0bnH@mw0x0(i!ZnSJ(VPHkbn!{V<@V3yqDeR=ahLxH_as12Fw#^|KWF(%4GfDDLLHn$1#0 zF?DO(GN0#_=COianNH~5I>`fe3_3u|C$!Hvo^WC=NhJ^UmA-_TEGjK4?3rwnT12Ik zbl#c{ZM$b{lj!D1CIxjctI0G|nitdA(ssdyYEz&*vO+soxK&CXo^3vImD2!yJ27V+ zYYh7EZ=qXKtcJSSz`+S!vhg#@cGhA8UP_zExy`RtI8{b(lwT=7cA_0AczkR1nS|ajrmZBb z;}Y$`FzGg%4LV^klk!ED)qW`mnH-3O+#bZ6EIF%xGv1p4odnK~`VrQhV96L|`&wHk zu};lHKm(Qu11A}!k&LaA0;=$&bwY=aIHZTR(7ZK@(#1Za~GR&vXO7rN)Q??A!VZpp_Z22f`T1 zS1ZcKd!^Wff-igmlZiE$6Cx52?O2XiP)nRGn5xUcrTLU+1B^;_Io>bF3Awb?b;;F> z`OwdyG4dIMwl8#?>c1d$HY(GT6NDNaZ=5p%|ZC5L* z77a^VOkvjAy{QXfHp^n}sWjHqa?0=su8_?M zBIY8&ZXGVSTIF(!3-YU07BQM4KhunAX6lE9y4hftvW>rR3_EyL>fb$V7rbD zr}bCnD?-DDA^_5tC}U9$kSOTpRHeTY$OLO886R~S(9}_YC+u(Cq~eH#7{(R5aibUV zHpo12m#eRK@8e4>w9AV3Ahu&hD^G!Hb`>L4qpU{FqWg_b%)yPb@L7jc`*f%Ww+=z9 ze3Js2b+XZU0{dvOvbtLBbW(ifwg+0$3e7ifcEaK?gi9_7;pR7naNTwB&)#%X{N)?3 zj~`z>{M0vm!~DEc`(2n2dNyDeUdG|h|NH!AV(#>Vi*LXC5BI~l=R&yXqIp;kvgLBQ zS(ciW=Q>!hthJ3ggt+`jsASd!s5|rS*m>JuLsg{_mlzdbWR;rz{4@f^Mo8>3nP+1` zx?DlsTcM-uHg18!H#Epcto!_n;VT9+ZYJQC>o*;X_3!X+9lu)4g%9999W#a!7ZmlVY0>d6lrlftw*|9ifC;~(JrE5)DBdJ@lrH;?VA)zR~CGxo*MfiZky%Ee&_uPYAaydD*af} zxAa(|cXTRG>X>{#@{RArq)x^Kq*w!cSNly#3K;|CE8b{yypPGn+ILcJ%*YTjT3_Pm zm2++R)#M6wXYk}R!NYsul-)2}72FEM~}%5FlYS#>Uvj@-ADlWJ|JS?RwJN_ji}>uCJ=AtGc$n z@5wesvg$A0*SD*ytE&5U*E#h+r%nM_#9XcnSGGt$;xwYB8HuT&5Z%D3&IUsP@9b+e z1VuWAoIj7in$<9U^$tAT-G#nPv;6mU>w-aN13l)1IlZ?Y7Z#51OJd7ibMkO})8S{M zclMu%E;)T9f~W@2*nraxHcl-Vdb}I~qWsOKYh@X=jz)oN?W9bE>UrxEbB4M~RDmN( zbBan$=@-hXU2YEYloCsu0MN`@$~OeIGHBMG_5G?AgLEOF3VBme6oO0n&hv{wJ{?F> zNyr3XP@poez?E@?c?ZpccQ!O2PR@y+F(KxdP)s{<k5hW+vhxpbuQmtM#k}si3@QmT)MvHeh;#HsXi~W zPMalmtF$_mogAIeN_0LpIgg)SH_BD=cv1R`WKLC_&0{Vhy9~i%dbMffTwSPj6K(pv z?7|dfRw$>$I3}-4DNbC587GHbUoz03`GaI-G6Yi-kQlkDQwZW3w;m^DxrjMa9xA_$ zb;-s6$?U}RpH*~Bv)njasOS9Ny2rY+0OWkMWFGC9t4~+on{y%Nv_2_KupelvRY{8F z)u(5zOU%i9;s;PAP)?^|w_uh``owozUKu5k>>wxQkUWbS)!5fkV+@Tg1X|mfj3;tx zbrka+Eztu&kaI@6q)wB5(hkXCI?ztlNx7_Cdm^vvyZ$n0h6JRSk-g{c=J0!@d;FzI z*$GN@uBpxZFH&?aGn3LDl=BOlw=^wTox-X;W{&>VzPvo8Qn~p`A7bhV*1Mbc%(|-4 z^iYH5cv@ z%!^QGCCQmP$~~+*89pW4^9U(tsv&o@*#(kB;`PSqeZ*A~Nu|_Wk@v&a(Vw#SSb0}n zU4D-1cYR_`{D!vlkoyc0jWjTh zxumP3ZE73x21RNuxo#xtEmf3SwVguIN;b?(10&fH6Fy3$og)9lkr0+7`E3gY1f?Qd z+=EaB9YaGChQ?L|4J`-?v;z%_^cM@*F$B#ty;wxaIik~+@oJC|Y&pm@zr0IySelTb zz=KpETneoz4D(br=h)O#MzLO)TA$&lsN_)4Y=0^1K*EmP~PV{ZdAej+>$?mUp6i8^RZQB1GtL%!7eGr6`8>9s)g!5G-AVprey}sHnsoS0^$Q@38F(KrDe``fP})oZ`7n&&a!6&DfPH0^*r< z`&gl@9msfAX4M|@^(nPK7qU?hYLfVi`SZv2S^rb55Gd2JW_c!tnP~#GDoTu5Y+I)L z(^D*+<_iI;$ry&veu;n}|Cx+s&H{Wk4-Xk3t~r|pl(k9TBV|7$=JNI1+z1EAl?OS` zL29Bod&&?r*>8cAXFj`%+}A*)xgS+9FU&=fXDbvFD;*iih1N7M^a>@7eUjgXKtjaM z??$k3J%YA2PR#xCFBLs8_cAcsTkCNF;=!+$SJ2I!BLn2;_C6K?TkxT%Dq!h6f7P1c z5EVQ{i-V>p;X*+JWW`dkEIO|EIgXKut3z@DY2VFJhtVM?Y4#)?q?}^h1jw4~Xpt#R zHQmyu<<{3#6Qm)vD zD$^5i@5Cs1Dk0`djKCvMYGTA3PDnf^1cgwK(>M`Xf1T54yPt>bDI(c*Wy!#mY+c8) z6j7&Otb6-rC+65sk>@#~+;3aFS0LVu`mmiw!K{^c( z=P2X(#GHDcvi6JV{j8s)SJ_!BqiY6EMQiszRco6VX0tg8z==6|(aJzjc}Ar2Yrhp* zEHJh2bv|CkGpdbGX76|Sy)d6-BUL+o z(OMmKZ<8aKw$&1%>rPfy?Qtgh{mFSj>w4fBmnXcxG>U|#RcjFh#R!&Pf}nRPI^Euh z?`>;GM{%nEFb@Zo6$_6!$bMGqs*TVg7BR;YK`lhaqSE?IJwcqB$uH$*$>&(_t6apK z=`knYd1aayuLqQ^-gk)C%l$OYt=H9c98-4aPkUAma@=rHo+N`l^UQ*4MBzGuT)~1AE3hWS0R}qSqoWRD5-;c z(t&ge5s=eeozHmIKPs=LcH1neq4qP@Z9~>MNXv+6pD2*2AwnUXEwds91d_g;9w8ChRw0-jOXW1ePvJR%v}^+h%l6TPxg4bKkpVYpI@A z=aGZCNgt032G2cQDeikbTs=KW{$O&9{LJw~0ObjQ<_44yI?O_W5aM97$+h@i+wxF*Cr;o_!t6gGFDsHGi2YbX883uq?^(9}eru>~`- zj{f@a@n!1^UjPpe4-b!*j8jMB6?F4!NA_3W`rx;wmkpgJtp!v}I&UKSZ2)E34gVqy z1FnIY%Zb22?B)z| zb>i5T(L$mm+5*zgOO7cdKhIlV{%9@8lTr0TGbksMG%x4(5RYTd&cOT_^O!3X2(-1t zuxUNOH9G=2{)9iFhwj*RxhLjc3Oq6Q8p3lAS4wnq`{-bN+wPsU>-tZUwKL;5>D&rw zC>-Gl#;sn;&##hK;83PzKHIir+nGRH$tR2XVPvX2)~-ow)om>ynonx2xyHb%`3n>^A7ENL%u$?*a|x%Ho#Up+UKTNz7RComIfvza*BhNf#Tjv`kP>@|XgU{)`JgjS&tZcj zHie80jvAUH=$Idq%U@Thtymj8L9_hc)~lKxczGA<;o;%&@^JcSZ3*3Mo1Bb$CdT8I zas`k{%t4Hnbadi()M~I{csPdfF?wvABvWFU7hV`4>GjL{?*L~WCUI&6lkybt0k4o# zmb}U(=ERP}%u|<`gRH*vJWF29G9H!=AclR5rFSS{<)7Wf!Gh6WJ$?&#YO(kx;;69utERb1VodTcDx26`-Yquo!XU z4XtQ&UN44@1sK}rVQ6Ya&(jhgYG-w;o;%o@k-9Wa++xjwzxlBpdE%Z(`z#RgPhw*srX#SpvNPov z%9RMZ7sk-L3~F0<6wj>L5IjP&{C~?Sv)y0-Ij;d$W~03A%Xx*5oki^;0S^Gos&l<6L{BDSDMxkBa7 z0s?E-0<^Zm-@M`a!e@d2M%J$@joUSP)PpDHULzPEj9bnejk@>kto@g%@%V$s4#Y4r zK%k+>J17<>N3i8`O}yFsdnK}$(nZv3Lj$6pWAgmjF~wR8$gMzYW0h=#VfYtVmtb~| zLYdXGDI}y;ka9KYc_twz_Y8};zMEPVBq^5#{Y-~w{5O%oPYD!Q?6(p?V;fGq-`ctm z%v*rz2SKeu{L0<-gIs0jO$i-czAetyz=j1L=$7J9ka!X-(nsb0*w@@9s$P_0VCI&G1 z_1f~7)TuPhF$ZSO3=wCYW5pUZnZ}$pI;J0KIjmcew@ijTf|B>uAm;S6OmE=C91l&x z$hnzv1l4K?E7l`ex*84iF2;9l+!B17X4|`Lb;E#tWgZ?L9_JVKJzedjo2^q*WFaHw zCPw3i>U7*n$3!;<0lIx~kQC?##zte97$?9y?zjgXcVu8Ow`KQAgdt2gK0qdd!9~oG zEQ2zJbU}^@9n6=yD!hJ%vX|pZC$t5p$DB)7a2J!apILu+6CJV?xrjMse47rIwN-Ih z3Kqm1f%bL+3wsG%vKAe<{@P$St?Ntc*Ok6uSLRU8%0i{0K31%f) z53gx)hHPHE*@}FxI@1H8&Opj}t&oy&IJM%W`2;a1%pr+q9RIKinB}{a@bGwbad=O-jc$JZg?-fG&{e z2rIM`r~Q6nbRj|>#EPPyjSQSJ1?keqS_O`n(n&f0B@%PIp1Bcot~NQ{)?KTl=C(={ zV=`(=BZRD;i_07_?#^6@xg0In8eAy}cDdRnYqLhoIYwL}r-PUi=`x&Ln##wV(!2^` z7}KXLf=jn!ShXG>qe*wX<(*Cc?7k`w4-b#?9}@#n6Wz2Qexde`YL$H8^y#>G`cxcD zjK@nSC&>KaQJQCpj%}-a{D}&wN4k`;f@Fh?pc7&^ts^;4ETt|CXX1n$aYH~kPNu}%v9&u2hiAVK4-XFy zj~^!v?+KZ8f6cCk%eS355&pj;1F(3cpCrT_?X9yZHOdN;*+9WTtR;E$6q_(ZmfSJn zTA(yf{$}zrPugYd7;$IS&&U(AhLO#kMU|kofskMJEX3SPK)org_M#Qak(`l{z3O6i z@zVRi8WU;ETbc&h01@#!K!oQ%9SETSLrC?BYK=gtfj~1I3|({@I>y7pq-DVZ{E;YzpFVLihQ2c~3=hOGF$qv%(X?6Y zIkr$lz{X5ialA3A;E1Zau^iY}|lg+tws_`p4e!)&@_^og+Lk zcY$MUAY=&V`2^&ou%m9Wyh6xOyF$#DoN8LK6N#@Bq}^w+kt*i+}eQ$ z+vlO7_HH!Ty%*uH5NjHCd>S(m)@V<~L zrz$ZAe37M;VBs5sfpHLXAkTFWbIHLu5_7WnI>cOEQZ7raPt2ufx)gp=M=oo5^NBe! zhwFYxut?H6ZIYuGL9V$c>bi+J^?Hc)LpX^!r2IaLheMnM-DcCaFjUjHK3($xdKN;o z;nLv1rmX>6jr9vFHxzu_Sq~47*A$+8qS8V)ADo#XZ+-Dd41Il3=kz35KRyx98yThj zVVQXl^M#l&{RkpX^snrDvMdDeTxGdP#&AQrz;Zd3rGG467o|vRd^`&=myvQ=Ap}gh zm_y8|1(*l<#pUkG(~NSF@=d)0b@o@*ew0!Q2*N0aN*Ke6l?c{df?!?;`pX-x3jUsE zI=W&-&<`GSf+yxKaEuKkmiq;F|84o#CPv7w4xU6XKFAjiVACVnBnSTDrtY#tc*}_r zvd$-0Nks~w2Zowy#fHli*UV+sZCy4;5jHUgVD=9PDIFro300}GeOf(=#oCCtOpK{C zdUUz;ij8tJrCTTF;$%N1=Hk>tuEyE90265GK+xWWp=T+E`Abl>eI93`vi*@0SjklNEajKf&$sv+KT?u z*m!*T@e>jBpN(N)0FuR+7(rJmA}AKIV)&5DFlii|Am*|Wu0q;L`6Ck~i2217iJ;2~ z(@-Y7&dkwgc3cp0t{jSN)N9f6=E!NS;f5?yuU;!V8OHK78LlIZ=f{2+W-OYaV_jw} zTC^Bo%SQa{bvrOK7JYHWir{`n^E@2z#M}jr=N~C=r<4`{m=EUf#5a=m&Gh9W<_s?_CozXi*>0XD1~T=CIsQi#x5zqfG*~3n zCFatUxe#;a?Qs!vn(Uv2m?QeWu3jMJm|J_w22|?o0JYu5q^Fda)6^7{5xnd>^O}p9 zOD5xg3o)!(hfi~&aBpo+u1eIW>keW|{L$2`v25xzxl5)g4M`X_@ z<{T2+IgZxis5EU6RZQyK*ZYy<&3`Ug0xW zT^acB3Uh=f<}PqNeecW%>E@Gr9*Vl3do*k=77NMTdO$JA_;LU;a5NFixrnK(3M-Yp zl=@?#b_(`V&pErqaqy);l5(n6@9vb0Q}i~;o=&$A(A-HR(rRt79WLbZDd3hOq^!^6YF zA8lx0#S61MDL(#9n85RHC@wN$ZpqTZFBFUD6DLo^oyT5`U~~k*!~{;J{`1&#+{h8fa%9X4 zQVb}WjMe2>wjiO+z?r6-JTWQcu`1)$wcGj0y7NhPhMmXJ04quQv*db@I~r;%TPp)M zsMA@;O&$(-V(tRPcz>;#ZaN;n zr~1M26#4kk=ScIh=LnQa7z#y{zU(GbZxC~u7O&1KS3Sk_E@3uePA0vg#2m^x7kO3Z zNX&^Zq)tZV3@rvh+G%UVoH__WndO6d$}wv;>!gYW1kJ4g?Omwavlvaaw4)b_E$~!J z8+vU0w!$OD5)8EWqLEqdfQN^NhsSx0uYZ2(8oGJgf!)Wn<;k&gC*~Z)ky`LM5_4J|bCR_nM?7lVU5m8Zr@b=7oG4!% z4%IK(7$(&v=jsr1YG#Bqy+ZzOsm_5hKgQZ0#%!t_UHk)f)?+r#X)F zF2>&D-owM=qQw38&0I}4KRs|ZUOqfP77h);B@+{{a$*uerOf+J(U%HjGBT3@TK`Y7 z{XEY$9d2?i8-CivoPMfZt}Bmm0T#@*O2?6$V)Dx;(qNd)yvy_ujYmjThFVOLX{{Tm zd|JH%57MMN{{8<`_&aw?Jxq9F?gGVlf31gZR)7CX<@cOD7X8XdKW-cy44_nkB)(is zI58)GV1wP}#GGCxk{yapNS!M&CzH+ItiBmR8wX@;zTU~{F1_vo4d=RiV$NBFAmNmQ zCNU?H(`hHnMLHqn=%-pG5YaEqjR-nAF)UbyVeu+Fv3gU`*WQV~9){%4UOW)>uisW6 z-OHS=3LYLF9v&AEzW({CMD2a%(V5?)V((MsaSYXI3^)k5d{AVFsvjpYQw@bVTg}@o zYqdir5ogLiq^SACkZ0l~-8i08plGkNN%C5p2kUB?#JT5^jMiY~l_2KSn`s`(E#5I< z$ROvkjd~N(`>y^-NcmaJ@EXAN9hS_zJs2Y4u|PlTHe%Rzb%Cwy{;3rk@h5v1W3Nwm zcz9g2xc|PHM4E26q+v6a4?7-xr1tK!XX2kab}WLy0WMoHMv3zZ>sQ6Xh-wUVF;!Fc z!Le?v5v!&mg7QTiatl>nu1?I!dYvw8#u$7~LfbrqvL+e2hTUvKflx~maaHBkB7WJZpnES84TlB=-9N~$%3l#evtT4;K`}RIsyY}ES;kN2bPzb95 z?Q}@;u?Q@!14;=l?cGyt-MRuVkf#XeDya%FXHHeoJC@X1VX^u3OwF$2j%4*RWpj*y ziOaTOTK}c;42cH>x4eiBDRtqc-y51B@sguTGIY*EeYC6kPDdBow|Y}B***^)q*LH;g%vyeZ9l>5LPp>TBc9^dV z%|3NE`yEZahBzxt2R_R45fu0!vPuU$P0a|px-oPwK#y+R8hoeJ0QX;YQ{hKBP51Ed z@VKZj&=>ba5iELSXLZBiK)j_~A#a_TCYKKm5SX0g296{y8qQ>&IYm>Xu|KMhi7qRV zquH#~Y^TCqgc#_b-)IEY@5#ge2D7 zyiS0wE|^)j8sES5GJGG+_MPjl4))h?q=zTwE-(!Bh0GDRc=YM;XW|Gxb8t_%;^~J% z2oUp@E6^8(#k7etcHB@Jox~hb7sE(?LpRlzKhT-X{on;7jHq$GqhjVb?hymFF+QmDTHUykH61 zLsLI_+4Y4VIveWY;o;%&n!%ojtG`7D1RsC=2bJan&(s$0Gd>lr6 zA&6p$KwB$;tF{NQer@nP&34D@uMNIczmXoEn7hC*)ECa9n{|61s=clMMD(G)BV^(6 zgWNLTP{bgXe6UEi1e$7T5p(v-nRQa~9IdqMi*3lx%FkbM6{Y9eE79eV`gZ%Q66@;g zb~mXtTCtpqiNMNWMv`(oPvYT>nd>fs_HGOv^HJQ?f_~UJA3fUDg9bXg(NUV?iOa4p zoSNlIJUl!+JT7qTdAPbQtdXnsJX(GCaDROBNI$^z1cIQzR))iwY*Yy?ktP)1WLIC^ zly3~Bd=98j%%yqqnW*eMZThRpV&xEXS{XS>VwJqyMkvMCD>Sc$ynxqQZbu$xbLvfD zoi%5sO%Nl7kV(ubbZwBtLn08yF@1hW61R5wssJ`$S%8*SPR#ANx!{R84-XFy2k!pn z42#FUBaGk;wHmy8WHi2vO>G?=CQzQ?#9WYgwWobAlff}Rmk4h;Ny_oQov5V?`Wy18}l&f3lUpRC42?T1vVbmhP5Xx^GPHTnqG(wJCS+|M~`;ROC^6Hor28G z>ZB3YTpnUp0wRi20(`bH0k%aG_FZbscOMfD#UzEaRO7a&F@fOjz8JaELwvUg-YTYW z@pO6*10Gt_>X&W{N635#+ckW#6DsL+2-A7!oM(x_7fuC+>8zS7=>Kc{;)7DL0EfL= z&GM(oEwAk$Us&fC=HDrTw|wXJb3gsatM%cuC-7jLwO#r6j31X9H4Bb-hyYNi!-jyp z6_Nz>0znTulPX#HyP3w(?MQy)GI3Yz*N+2&vLN4X6B@v(xCM_-6(vHqtU&*4FZR$X zV?e)@cd<(Jr#Yt3)DmKD^Yb{h6iCC{TV>Ze5CM|*gZetNlRvs%=b{PgwVfT3F5peX z6jDUNe*Qom%}3_F5>g^i2zp0Wd9AA%z0S=CE0)AFQ=(TE%mX0u01)G0VSVi$L$M3wry5G~mRt}y${{G}i3q%|3X_lQf}Tt-1u1&@hAsSPkVBGVvbbgqIOYS`07dCDiL zw~O4FhK{^kk2Q$t3W9Am7l+^%+u^BIC@+2+K2HRKTMrgQ&Ijf5Z&iP=*(Ce?S7R4X z8b9A+u?^oV57&|Rlc80Gg#o3OX zY5gD`yD?TAjd{Z&BCW+Tkn4Mm8hSnh8uIr3es?nw_?CzSu42=|!sJ7aoEYUJVN|J;RE*Sgl(+dFgy zY`wl5?y9!704<~1o6faS5_ckoGGS|N`J8l$M@6A5pyE%h^w#64;9))hQsqj>nMJ9= z9K83C0ffN?{L-c@%UZ03B!E&4>67-sQ>Q8)+YhYF#Y^`qcfH6YKKoMXHknrqTKGBSLm%~b-s7Xgz#GaY9GXfrZNwuQ``N7uk+5Vr~*B3 zmJP?If|-UB^4G?5=VD_d7;`Byar2pcH0shF>Ai;{ctMdZF3BRX8~xRuP=f2$zw1zY z*7dmH@1|meo9!uuP94+!6$ekNM)Dos9nS>3DOQ}F+;L@aM1VjQhQCNjM)MiJ*bu0f z!#n`j1T4b}liyga7E7_6E&D`ii5s!kPYTtW_CF~|ttMxG0xw|ppF7|TDBDMv7;*;= zRKRHa+F)krPIXOZ2+2+I{M=cXiF}IsFVEneJg9JzgQda??#?_bVXPFD_qsHH!;?}a zd7C7U%Fp!T(Ck*l8y!(d(SWGl{bDg5(c6^=n{V=B0^#Yo`K9-M61Tpq&4D94`~zBk zVzb9mWEQpyuKG@(h}dtP=JvhBbCM1|yuebly^e|JH*86|OO}sOJBp|kw^ys3 z(Bnx#@jZFQ-aU~ctLHbLHv|FLT}#=>)v6=FM$l2ON!{gq;I!1{ZiG5G1e=yKsEpWb z&TG8o!wyk3+Sf_Lu>m9{kO3Kw8=1LdbLz)6 zjkd%4my6Ul5y~X-H|wr|LvbS+oHlLX7hEC=&fevn*>(xjGwSayUcO$7;;wMI9ZXiV zS8Nfy#XbPCQ9k1=pM<}%{J%{p15>`H9T~_!rc@%sYdSKaaWxg3PgNS}`+Ay``#~IM zkO%+0A~8zaA^2I`s<27$RerCIopu|p&lk}aS6&itVi#3}?_(nxpfqYjCz7{7XVGm* z_GS$7VW>`QG!yB5ORLwB>I8Ulk13}b4eCem&YmkhGF$H!-jlCAMn21F&pUlX33bA4 zP0#AhAb=TQGgRNV7XRr7>@N8!B*MPwyvmA0+Vua#x5uT(o>!~q>lWqK{E(tVrcw@B z^SL_LnH<;*X4nIGv=m=TIj}mOLZTT&5I%MTfsf8=9ehnEWPYM(>+p&G{^Zoc)}|L0 z(hZ~0c_|!|6+Nqr5>s?+jj-fp1C7Tjfew>s#*I&s*^v^B4N3GOPDdimagIV?kDOeO z)$TOfCW)gzSkjnr9YRNil5uV@Xu6kO6K4Fhtb%{mX2F?X<;9& zULO~%MajW3mI&_jmo6Fc>M66&61;;LLx=?tBKc5L^*DV&)CarevG<*lW7B=1FkWnk z0RxFdy1t&|IeVu6U~d+zEFJ>YGU#_~`1ohb7+jQ9hrdw#>Z0E`G>aR|`I*M@dF5F%u$b z6J*o0+!Jxhs`_)S!$Vz6p_P%rt#z>kPg#%)V3g5ytd3PA2NP@TQ_)KhZ_lt(9wz;v ziKP0T*%&XPMj51#It94#f$;dR`;Z!J>@81V2>cas!@i)eY!YPgux5@u3R<~L{DhheOdD$=Y&))y2I){2eW*FZ%*&XFd}3kEZ04gWEToi;Nxk6; z!<3C^0psP7axCzn3$N6_6K>gxGM+qA@DLt%`C$jRVl41{E4g?s=fv5^4!{OhiV|Oh zUc@}cWrRPXpa7PG$h!majCC=%#Q4f;9cHM;S8_zI57;aUV;>B(HptI|YBbqN`Jg@?lQq2&)tay~75ua^!+CGr(f0c-g8{ftgq3}<*W2x0 zuNxO{v(cJJg{AUdnT~UG1hlh8w35@X2We-g5)s7d(kb+N;|Iz)xaudRCd$HSE0CQP zhWWB)@i<3lz#(bk3Gb+8?Bc!y=RYWW!vC}-49juki#rQ@{WEwRl+CeoA4Jl{SMl#m zYTmCt3`rw8iT<*Br;S@O1eKB5GA|gXk4#%;$Ezvdx)1gD9eZVVXLXrpieDuOx3!|) zG^~~F=RcnZo5gSEIop%~6W^VE0&0Gy{CvXY@_^B9WeYen^obyOc@E=x8b{T7w{@g2 zB5SR(Xj)PH??fU&f^e=hd6{7^YFkPwI?solJJS{jxv^yBczN9^cX+Zc@@zE@y`=!# zT?O0XeZDWUVtXFZRz*ZJ5fp+oO9a6vrM0oc+c#`%s$+Z#Tmyij_ir7@taOcXcF9xrNW9yaig?agBoQw2e-`JL9$hbUUAYfv|IkS=qGEpu3K#}`DN@9 zslZ9f7>GE8V|anai4UJ}bu~H(`h!SNuG^;06jJjh4eA9WlfBGE(HZs)`z4Vf4BkEg zFLv$Wr|3VzI&D`6*IQrE?gqHCJjjDqP#|5d;zke;9?CC;Z|NSzk-Y5mHR3b4T6=q% z?DLdhVu{=dNrpmn^Mz`xKo)-?KyrwGK^oPpR%Rxkp#eS_(w8{h^->w{b-g@E6XkH~ zf!~5~O9kEib+%u()pKlF?Q*=&YA16@TKRYh1D#`BC=UZDfdT9d)#G$#?9XD12?mc0 zCLQWDo-NObNR}^>k2KhFBvg<9tg_H10Cq&hJEq<{76T3A9GA^i56?^Ej^qCbdm9f+_lFYO zkF4$qYYhzkM!do$f0f z7xX(S|3|CI^=Z9$oj}lu^hD|5nL>nZv4He_{lM@@<97-%#Qj-fWMw2yGO78!6>{08 ziHy9*2?i{%nlxthqQSvw?1Gb(`N-dM{KO{o`m^kc%e?}xL6w%760JXKCZ5ZrLA)-- zx6R4)fN|-uOspy@gN`82QAw3IVM(YdO7S4#F9Qu^Zb#;vd_rNrfn%c11E#gN{$dBW zuj4LdIjSl*J&lai@A1&~a_N#FoKvWn6VXGOW$_0MKD}r}3`e7lOoA)Lg1)Z%5nu?bFoLLH$#r2M8pD1QulvdIM#JkS zj_B)e{QaqfXymt@cXoBJN^}$waN_gZFT7J<$mabp`K{u~>OD*~fmJk-`NvR25N0$X zeyw5>j$v4>M05+59bWF>+z-hXiAgJ~tzz8;81p;nmRZR;Y&Tj{d|s=@W!2FK23MwG zt7Nz`d$Fk*)z_MC!>bkD*ein>6pT{?xFnxZkSFy{kdLR^W=%W{Q;R|}C!zgn zxr>5DUcpVB$k2hMLlZVY=>7x$i+b7!AmOysWtjquK?}ynolE^d)Dm%;{>}K<5@p>W zE3NHR0g}2=ApN_*&`WkB38d315`O8X+^p#?>jQA$=uBDvO30i-nI|DvlSwS>Z^&bO z4tjyyho(k7BiflhBtQA91p+9>*6Evnh4K2b72{u6-C0f}2ct;N)HuP$|Gu<{I6vD_ z26tB%r?1^npxzpgb8;}4+jWco;jCbJ;unhu<$}dqCWpW$?|d$mq=hB8NrfLw*L?rr zG*BY`km(!ckT#`TX}#4=PA>sbqUofb?!~*n^rt+Bbxe5HNrK2Jd-j}YMm}Zd&*GiQ$yz|DOO*~uP>W2JH(0T7q15xe|NlOj${~?Xwlak60?DvsnED8S7S;s}& z9B*70e?*XgB--=67;D4@-96z`!WPyat|qcsfd$l8>{+$!AGf;wSq0ny;?fvay8Xlu z$p%kEOA!NzXy~Z40F93y(|!fgc+t{=H}1YFfzlylvS(a)m+t3?mfEd**hvBX;FrXA zx*1N}%=oqQZ4DM0_i}|bBxZE&4476Fw980iH%v3kRr+?TV>Nkx6Xr$)MSDFyay;)_ z<b23;~e6c{$5j)HotTGJ#Bc(?Krq;cis;1)SsgbJ$}v;I$c zHl+u!L2FXl`V=k(8NPKkJ{-VtO?fosjb~0o`2sqM0yv&q*9Z#mXAE&1>8Zwm?imfl z6~3val&Wqf`@ys0FAi5ZE^j+t!}hk}dWV*)-6BsVFMd~@m(F!29`6#8=iW;S39EgG zjyI*MBNp)}a3mWAlDbC?w*HN~op7L&60&n;xkZ@uNL8aB-EE7vX6qzYb;b5HiXe`z zPlrlo2wLEJXSZl<{UsQ}fS{kVdYDcG(1It-Vo(Qr)b8f+6yy5+c>uB-{!U6Vvxp79 zew&|tO@fcsJU!^0(a%krbusrSYfty8PE4y%+pok0of21ZEz_GzGYjf2)68lgE-oml zpXp%9Ph@`U{JOI$=f64?5!ZBE&AWqhq5k1Cu5#$33|gH;}WO~#XsdrFiF9| zBg!i=W~X73YTP4z)VrIQ$!Ebz4i{j(dn|-=C%Hn#2I^QN|HV1p<&ztiopAhBpdTM% zC}_%JCf~>(+@dSx4;0}E3j-72F$Lx~W(KLD#$Ggi@zk2l&9wvmYuOETo(5jCn!_B= zh)HO;iFrTt$)|gQ;LIuH)i&RYs`(onNWF!Yl60yXPOy$U^}cJFSEiv~2=%{2_hu;{zD&UwGnj2y3$|iZ3PFkZTJe zZ-9LN_CG|}7DDs6h=H;NaMv$xX30^|oL!LM2!h0*e2N_ts#nURpe>|9#)mZvSDT#4QoU3-~R=*fmIi>DLx1%c^%Tgo07C$2Y)h#2ZOM+@`#jMl~ ze5~0BLmxj5@Gp^mwd~6<9&`)Ee^ZE&>@0OU{k>Secl)-X_WY1PyZcz?9Pk5Knc-6F z8@>Az=b{dfENZnJ((ULwtUF-?OH7X`!1i7cmtU3}v)d$j99jtDiB1;;Zj?DxQ{9eR zr^YL-DaP*U#f83MLL%up8J$_=Yr7QZSS&P<`)+mduQB$kykDc0TAE8o*BHB~o@Tdx zzM*3Jv9KhD!4yaMONIwiT_;o2%umap7Y9QySVp6hvP^vGegqS!NxZ_>pTz~5RwtPM zaqy#WnocE}(-${=k%|M&w+G>tu_9N&1Qq$+3f}=#F#1x# z2MCF<$;rCfx(GKZpBIPMY-h*TqndBgp1ttrcTU|U4WpOlG$=*l5eL^ATVU5&uFrsQ z3|B1Rvi3t(B(Ee>>oD)LUMJLkDx|uMxB=ln0=(ay`C|J+bL3{SLGyf<9KcgstwSs8@zY0dMTY6t_-DeXUK_#G8# zJx7LTv&JW+6u9_uTK$@Am@Vflfl<{4^-n3%pju%bR9Qmtr1%KY$nJtWm^Ak;#D$w#=@ei1R`L7hs6>W$g>WB3 zgN*lNq-G+i$luNPKm)MUnrYm0ZNTO5p2|s{YUWmlt!FBepRCaF`UfqcfIIEH$5Xcm z#q(j%?4=k3KT99plbI1v5%O&D22ceONcq5N#-x`Lhcyzx9%OwZ>4m#j(+{GxN$KS7 zsz1>3eIrYG(0{rsHKse_edHzXa&rlK0@v*C zu6>J5gZeye2c&|5l;wF`bBAU%H+l- zVeiuw(SB!aF1Zt#cweXWL(Y=x=QQHHU=%gX`g@G)BqH5rrltAi*e>aBJ`XER@TFP! z+i#8BCH4S!r*3DK;|B0x;3AAtx{#5EMx}3;BTNkTI%~%~5z#aLp|-_jAe3Lr6m40x zh6Rv%GRLiPDDFl}RC7`?s9=_!s`c<^Rj=40p(0F#xX(_-9(=2f|C#YAeuc(WB)gT#Mw!sNVlWhPtSH6KeOgv#&&{Xz3^;^Y zJCg+@!`BV~!L=+lP9?JA^!q_uIl~>-ef-mi8$6tGRSs0VXmn?tiFPo9`U>-b=uhX5 zVPG0Xkng?V|Mos2zw<|`W6IO-+_5epE}Yky!#+R^Duy*(Z9pQO&U(MkX`?nnf4*6# zzUc&CEgB&8m|i-G>6TP*)l9L&(wqjI$^d@)^o92kX(z((TOLp-uo~`%|9setc(fL7 zrxLp_a16D0){SWIEu^+C%?6*1vUMaODj_bcO#wdQF24g5*FU*b%FJqncob*6TE9)0 z6Fh)nC*sMCVwic_Fxu@|Xi|8EmuDn5#&y|4AUa^(kWjf`tAqSaosKdm)^UO_ zE%_YbhW{jeeLF+pf4le+d3qb~e!EYx`nzr`w|{+wlm*#v1Vl8-bk66zU{TVa2d?R> z9#;l*ph%(koo7qWi4mW4$9UoPpWo!xMHmr|AoD8*3{z^fH`ynl*%Qlxe>^ImDNAlz z;|H8@R0%cW6xplHY)A}==({8J@#yRZE<^LTVz}OsHJ^+^X?{VBo8A`YV#j-aF9_K9 zGgz?5``^}|_;}EegL5{-TS>jyAhKo==0W9xb)LjN0Qn)0{xF5ORI${@7Y+Ovuvg`g zskEmQealpc)I>|HV@f89bGAv$G-?!C*-*STTUHq73r+lpc>)%Y=Q52^3((L6%cK{R zm){@RviXXt1VVc2H~XhMwkD^?!%3ekE!G1|`*59;h33dLx&hoHG}p_V*Bqm@nx(_p z6+M$~=B}2aWxaYsFO{x1XR6nvJZdcq9eWKmF6Q}+FLlHkfr=&f#%Ho}uecv5@$?++ zdkTJ^6*InP>KuDMzfT4iwv1oB(RUa3NWTwBHCXa9xlwbeR|ms}2O+$PhWPX46@7W{ zggh`EG#5m6n*+PmO>NNAyiep3t!9wISh_T8=+>;MG^xfeW3VT27l@$JmACD}^v4qx z*Yw$K|L4+Y$h|=)*y1(6;k%gps^$#0d0MdL# zx_oBTgnRC86!@<*c!-exI$@umNtEkF<2N><<|Oxu81&s)iUmMPc(H6xgJI*}=dJ-?uAgYYTiKE6Lv{0?v+^9?`co|APoFHbV z?)F1M-l08KXh3>$ygCX4Umg8kq?brJ79Hgg@ux=UD*foSa;4GYM&2$SBp!1#=()P1 z?=GX58dg8VM=?1+MjlpdqjNuwc#E=2sl0=b$z_4vPloC`%_vHfncrS7!}Mg03UuPW z-fnlUmHcB1vhMCr_Dh7MxczT>RRXYm-^mU@A%~jBvxpNo`7tF+vzVf#!?XwiO7}j! zD?F+y88Vx6kDl(&K3s4#X6er|P@*w!LF?}OJaA*FZbuLW2QxnYj_Zqr)A(0Bete-u zGrP;KW<4ioh{tB1Jg2=h1p}xgq#V4TgP322s4Tl?4o8oWu0cG956JE{={RUjto*Ct zR--$3oX}Y|W0EqgD5;efX?uznJBEs8=86NN*8HQfF9ouZZIlA#hh#;Q%bSiltQiJr z5Jf?}YqM=c|7n&gv8+mkQwNCxX|daM z0&vc2!-IdN(pbblz!=2g)!0Jjg=}FPO9fWXZMmt@bJgRIL?a)9ZIuha#p>JQwc_8; zWURETbvOwV;c_H@tWseOPR3`XqLOt(uKl4-3^Ywb6$lDIoBCjOa0IR0j#A(3ayJz6 zBqxo(;oZkv9DEaUS#2obU>Nx?)I)>Yy0l&hPOn}M4m&VU`~yV@Oc-FD_$rtUB3CmQ zWQ(}@QsqXQ^)b~Iuf}iPe&tmdD;8CWg96Rb8;Ctgj&-4j397JDyK#d^sL9!TBZdkY zaggkF(Vgb^c*wzy?F-mI6bRP%?UM@)%Z$R#EP6;6X6QwkuhQJ_PrjF#a!|!Ev|!U( zEbXfVY)QzqnFKIkCA+ZjIV0_D8MP~lWNIbK<~eGx1U>zfpdC(L$y+eO zRkJ3CcF0Q6WEr&NwxBJ_c|@<5Z+O9+KujVV>o;=C?#l#5a1zNY3l-V-2?&*&>K|?N z$g4$qh827qTHMghsQqyMmerj_P49A!!pnT_Po;AZz5jfS0LR9f(P@3+_{npTRwXbR z$tya6M8WdFVwL_GNDv+)h`@E2(xexjRj);%weGaGr*qh{;iO|}3MNO3Qu5k$-Y=lr zu76qTx;@6wZ;ADs>M7mutEUAMyfvF9yYlT3jtfFh<43G$*|EYdSIY0Kl=`RU0uID8 zSsslsfJjWIvr-*4q&fw)H6EksR$w9CI9Iz`1asf%u?5u--ptI);48Cz$@CT3i7v*|GuV!(Qw(^jR}Ysv+JgL6nnV0`Xm@@NVdLq`A+QaF z+7hqT0+Jg}+fInE5CgmMdr1uflaSDQ9^CM(N=h4JTaCD*PbEtMbxVn|pt6vUKQkL6mM5M|e3-iA- zUqDT@;q;8U5v=h2Ht{++w}~4%wAyTJN-4-H@p^+Y^^KQ0N?YU5m|1=AYgZ89!$(eO z{~p}?qKKN&2Z#k=e{11Mt|#QR!T^qH>)u({4-HgH;wrELu^kD|={i|Jmz@|8sDcGH zt5sapBuBznAuA^BKGtO2_Fd|iK_;oqQol1UB@o~(jrMk59w4{2>}`F~`oh;h+wSZd z-@Qv080LD*DGC}%y@8lduQq;ZC8o)B7IpgC>bK0XInvM2bx1?|Us9G!vg#S|)SJjf z!Wq8QuL{lWmj3*20Y7;z#W->uU;6sBpTPJzRlSF1Ci^!$l^N+lDTnm$Oojzp-vLT7 zZKJdZ!)3iNmCc3^ce5NTXCrtSQ?kk|4t5DJ>G}Q+0vX1~GZ*;WO%*?095^~lkb@;E z4d=nMBYZOAkwv?f0iUr>+NvPa6NoY#9m6T3wSIqBScQRz+3#jga`oD2coJtN{=Mh- z1i4*yQG~;1m6}^ke@LUYz3Be4UXN3M`4>25_`=|adcDHWwFRTv0akT!*de`?Ijc2;) zLd_abkJYqiwWhL?LH*7w@Rvd0u27ity74=ERhIh1;9CXeq35~0EHl|EFn+RIs^GW3 zVsm9YF1cw#Gc$yYN(lIX4q?$qI8*oo9UPyX)?8cD92ce2=Hi?7daVBf_dOJ?VT7z} zy{Rcv&SXT3Ep=ykKIZe#rApn|2|dgXB^34!hjdH=I^G6Qo9;#;dXgcMZ2*HcdtT!U z&paJGTd)Ox&2e&S=}(@Li!=tw^=9sg70iRd9;Q#+-_T1vZpoD+_+;XSFo{H_lt5;8 z0M+WMk9qa)jStJATD>m5r`ufVc%6JtN+T*LC4p@8k7m}HH}2H_Z?Rd;dBpQ&!I;)Hc-ElZdNz8tg^gktkHu)_~=4^hjur1=GvL1@|zt4Bj6r3 z*t#M65HX_Jiz+s8@7c?MeM~&3aXapPh8`8ofOW%c&=4JA`3o0Kk zKV)Y_^kvb{-~p_ZZQM4cFsEY^jkwyfJJehCs-TZ0Ij<;8i}@k9%8n<~?lYbSMT}LV z>2Qsi#Z^7QU}_Xm9vnzbwebWjpgnbM+-@xh=SzpL;^#Tv4g5>{9{L{l)9xj|X2w}j zZxc0Wze#)&3|$Bz*VoK}(a$Mh1ME_%)g}BOYsaFd^pB#OPI9my%g68%P>40v`<5oh z==_m$9VX`2F5k*zWZLX89=!kj6fH+lS`lo7cI8j$*=39vzYM*!aAJ{skw09VeednK z;2{S@Zl3h(mK!&|`<`LlzXWIpkAA|$UUng;HoLn%DL`cS^@u}92tX*J-RA@OKR#H4 ztOEo|a-jTH@(=OgZkUX<1&cpS9wYr(X^ob11sFg@RWzIj2tEZ`(m+CjRMf^ht^Lr4 zYF&TEa?;G+y7rKLlD+=5obbM!p-y};jQ&Wsl==giPN)%6lt?jVhz5=W!%f=79j$3r zXY)4`E8FPEhGe#noY-%|PIt>6d`Z~fbsF)^_plu>^1fe$!HIpiu^|%25@jy$9d)B_ zK8cdDwwCa3*a3$r&Gec4h1oUhd^_zt+AS{%&*eF174DRUZH)W%?|Og3hEl8nmZYPC ztq|qoFzJ*4>_S9JWaWAySmC$``cjl53x~D($%5HQYE>b|71(Hce@})D-UVf%P^YJ< z)m82BlnD;Nej>8}$-#A-3RewFr>kWrw!4mjcFYxMW)c)t-^1uu`@gk1h3R8a4m@XM6GmRZp7w^yl!vQTY zJ+}TD+*k&#&2s+5u7P7YYUIoGMY3XQ1|-V2ITB+mGdOJJ(l{8=@*z<2J@i6#!J`aR z?&DI;eOcwdO5?3$-{!^A)v%+F!dZhJa0nPNA4o8 zichX9M-_NwiVb+n(f`anX?_)h5hg|Y{ovf+h)#eI$uVSvn)d3wkwK}O`Neg^$CVSU ze^S;hXOkU%qny@A#|=(C39wR3_tW9XLBbV>j&4pK@+Hbgj*vX2ln|&=FF3tVL85f8 zGq4KeyBy!#alkJW@Tf7vwm9~SAC@8{VY@sC(^BMAD0mq$bds&1pE+H2In%bbZS z!&uuwNYuDx81&Mp*aKs4+7DS>Q0TMzMs26~QFkC0$^Td}6Q4i+N;fm(q)G~Xf4>pK z5`46}oCz{7A<7*6z(|f=Bq&3q4r|`4M990}HgWjS5Zr3d(XllClv4SteZT(C9`7}x zl89EIn0vgLYcG-vjZq(>Xp5||ANN0x3TsGB`zZ}*yX#!1mWs!I(e<($QcGiYK5HeT zLuP16{}~Ycn;Vr^n=Vp@w2Mr$QjxX;uu?PZ_wBx_9}}25>JtT7j2JURqZ&_UPLhM? z9CafZKN?&{8P&xC@9;v4DoJ5I9TnwRz`OAy=oi+Qa1(H?)>lKkvV$1upj7 z$1`dm&rZLivw=KrIHfSW{QM(noFg&c$DRWb6tx|wM&#t&GH#*2sSpsRUq1lLlL5z# z0$<3O#665eG2Zg?q-jTqo-Xv^$+zlvyf9ILQ{o$7p-6O$2lp7!L za+ynuZR%)>weh+p3Ip3GABSg7tksDaVmmil;#WRQ_fy`IH|%sJ_3<5=%F6_1$`oGE zhP;+7rl>A6y4R|=lD@YXC{#T{69dwh-`rpd7|^~aGO{O|lbtm- zn%J0IKa{mDJ66O}iPX!kNQ4+MI|B!h(WUfVPH)nuM$RuJdQ(kh=w0ALG>(4f01tC8CK8K*F&nu&OgWI}Cjb_G6KS~EH&X!R2E z^xlymw)d>QRGO~iwVkxy@PK_6YwVS;yf8(YTfIy0;)z1Vv(L z=be#>AQ3J~xK&Shb_?t(P9}}`7Sp);Y+XTt-FEsa7Iv(3SEtJ2LYp_sA%6ci8(p8E zaGD~7lXbp&Db0=DGAGr;%pMAt!Lz1@6g2Xa?3n^;u`0_#1Unvg_Xgo|BnyFj@LC-Y z5$R_?Br$+ChV_;`xEE!WYxk)hpk!!WT|`$mX#GZ11w((_4@HE+9ex^HUnYwWYdGHu zy6%Hz525wS^@lH8ZIBTv!ZZFst~VcJ^YbG`Y6FG352IsaQpG{93lXf0;LMkxVUI-K zik2Tv39govd}9*KTr*mWhSmz5=Q5v%$CDJYq0Qt}i}g@GER881kQHhMOESW`3~-_r zRl&ZZ3SRMld0I}mOZm6)&DH=fzLTQNV=4GTB811@)i8uY4XeLm1cWh{_n&YqEfLij z-W7ZZqbq`qHqS>q<1HP`7w=6+L#lgk@hHZS%KV)r#uf3zrktWPTXZ*2H>Q?H{a049 zC`uF)1L08n_75yv$=>5{BFZAlbU*K%c_PUdr$c+IALtD0P(=3yZr(9(xi@X<`W#Si z+W)Kh7CFA2vap+;p@&NkvkLuD$7%N*>QVd4i6{^|sao@FPE{4Dy@rk&T-v((bwHFq?t^X4-Z4;-R6@WK+|M zzmFI(^y@!PPT9NLw-jCI)LY2A*V}#XV7Frb<|5V*385-bT0uv}#$y0g zj*!R5jHtHKX_9n8=W}Mi+0spTPBfoMFjnNJMG{+@rIf_N4g~S@`Y@dJa!{c^QA?|PUh_dpB8t-%?+tL|ps2m@byqMNzOsp- ziR;mpCzbvtVo$v6qX)Q$=Ot{(X{pIFQeeh3b zC!T-^G+Ck#&BW0f+p^I^vLMkWPL?JyQQj-+Hn(taxz&a~K@hP~n^$S8Wn<*BQ(0-= zn~P;wH60Te`)*}502`>47m~Kx3c*Yu{9P6=R%ec*-`|!Y+g0~ce^?|VQ5K`_2$ z!SI+OGsaCCU|qUy&w5P*ERY28CV`&*op|sJlMC?AvAI3|CVRa+#)yV_49a_wmhx?^7vB{E6Gk}bujp^cTsL}@5eLv-9` zec}_G7E*)1qW6;2@o3|ie~Tn|IA>k%w3B~F^RT~N#-iN$a41qnC|U+Ro+N8sS&tC9 z-T`6m2S0V;*Wzlt8sFl%E;4$V{Wn(Q`hM4+bW@(&Jx-}W52CEHjmR$p$ixjeOGQS) zVIa~4>)^uL@c87dO%u=z zA;~KZ-t@H}l0Ed3Z#y6MBfHwjYoAe3=WF+-&?TCrsqbUstExIe06)o5-m3#O`Rg)L z3W4QDHdI+fc<2|^guWQapmF(MAh$P{dJ(O! zc{*t|98RByDW~V5J4)oP1yIRaih;;240*-*9H>@RI&D~!yb~ZKJiFN_#0Nd(e#-@M zdPhJ|tXx;#(oL37m2)!&2iXaIX0Zqe=vqfv_k&Z))XB6dWLx z8LQaIb;KA(E(pEUlOjX*xU@I-yLU0gM<}=(@va>hK}H#wu9v)kFufJ!sw&vfYcS=3 zZnvfms7zcr;p&7x7+!T|N0wDqsP?rkhEh`s-_c95@Y);&+wgoB4SDkaX{Xj z_sI}sELE1kA61O6BN89o?Lxonz+ZbhkbS@=!%ylJkkDe@b-w>Vgk--N^m~*UqD^~& zh-E#WLN1@ol0(w?FVq_jYtO?lG(IIEL-(IpC<^7pYr#ldr%`^$4JAJJ%3(C<^XeKuV~MUyh;jXt!LsxR^sE){x!w2DPX*?>5kq;Og5Y#Z^uf4in~WU% zOJDDzKkL6x<^A0c-Mc+qRgp9zh7V}^Dt?&l@bSKHkB}~<6cLnkXvG&+Ho}wsXY>XE zPdeS7|_H~n8Qw>F?dMHDUCkg~Mb_Z?IJ7NJxU3upt;YaG`YI#OFGooqcEqvbvmT)l1 zO^i;XrK_FK0UtOm1fbo&OQ$XNXj%@Wi9l5AtHp@bOCWrIkLyOr^|tp&JL#k;*rsQp zr8^4WHb25de&XPSI}Aak7-2Xa5_<=lmv2n(VQBB(r)*6#ez6v4cGcKgy_wqAg2=v)4U7KmZuk(d$@#D;KT8^QpWbZ-!KMZGOK$r7PNBsAxHfE5!| zJ|@s*Ep`qiYEf4T)Kb!XqzoC{7wfe*NXTNUD9EjcAsdo|QI~s&Sg9eO^JOE#k{4bK=_Prj|DIN=dFTrhh*&|-j zebLWA!&}??)L`D1>SL!!Msq1p4IDwuHBapGjRq{IUZ~kqs;QLFWF-i z5zcz<^HQLPmR6sM1QCM{dhe;HF`Yz1UAXqh8OX>qJ3r>Hou|d5@B1rsEGP_5rX|KM z*H@ZjKs7VEb5YE78xy*T)5~@h>I+S;`sk);4P#9&e-2ea4qf6kZO?yOQGDG@6_1?) zuqwuA#7u&9?SDN}M7M+})-0cYt2j_89}7uiXBEH#7H+miUHJc?l(~dX{e5( zS<((RM$ITaYj44h__8ZiHSDBhMY8iZNBRadXMRrea*sPzl3HG-p;=M9RMuLJh~%Xq zPWGg3X#*b+TBpAo=w@0%Q0Uz(GqZ(`W&I5Ws_Bs)v=IfT(*&6ilh(9mh#^-!5Y-f~qN z4yzV!aqXaBxM?-tP$ci)6}}g~(6r2RJ6$~qP_|BFi+cwWB-H!OyhlGUAAf22x;eS= z9Q+VXvXPyAF`UEV))r-%qHgM#m;MtAR5+3=gO>3IEno66K>J7@dnVaPqF(jW7`WkD9!188ch z>2$rl;4CcrYjolhu(0VjWQ`^avi54#&ThnVQdC*?bXLG<-nL}P!Ki;`KwO{Z1p0q< zxy>#uip&1{H?rjhZkmv3YOuKO3Q<5~F6s78hycfwB|Obc1k^aZ0}Q6Pxs4&J-ne`G z+w^Di?m+)*0ya=C^0B4FWJ2)=E)Zl*JCNy5#;H41ZsT;dc9pUA=c2r_4D?y4JtdF! z4gsp<1XO^2CM0F_ycO^AVFtiT#&`A5aC))t_Hu)I&UaE#SST#?_>k@QMDhR23J@Q9 zed?X9A#@OG0diM$xgA^QtW5sko~Iws$CK#M;9S~nJ>3(<`;4#ClBbiUQmUWXkd^4R zZwr1Ah0)`)t^V~hq=S`ZZ}`lN6D);-pwX|dV|Ip;IQnQg2l*y1?>BntrosK^FSG15 zxgFm3wL>JMnu2_b`EjvnW6=c>y9ndZQ7u>Lzf|mMb*y6TCryRDne0F#)wCzW?iGh3j;g4g!A-Kt>;_Os(3!Hf0mpc9?QM6fcgK$R zeeGk;_%rGLWA#`Q6DS5+PFhfBuuI#{_`$4k7B`=b=V0beGeA55d>w{k^W~v|joZ{~ zz7OV=gG^nJ=AhGbWQAnfT?#N6Sj0}?N+f;M>x_Bv?6sxM@vLj7w&mo0h_t+aZ4OHV zY={mt*>RNxB~PZM$)QNLFi2b--alQcui4(`=N)IVCFX`C7w-hOAU9VCbvASiTJOJ@ zjmu4-~53C(;_!0a&P~O%NU=`Z+w^SD7kXwA)v{rJM?mIAAX>erTile#_ z2vAAYCsP6CNrH8JiCDp^^{1^Zem^(=Bv$GV)MO2V%$Q*ST8gi;rqz`Itq5Lhfcvr@ zWCd~{hx1&4mG*~;%tvA1>K%B}-&OJB?ahwhD4)bSy@o6=Ef~2nyxxo!12~u@Jyy2@ zJc3lA)&oiv(IxIhLde@t`m4XBCY)_*?!^;F%TH`8=a17DeO1-OJ6`5zCo4Tae;KpB zBhB^RN~oC4hW-Ed5uU&xSzZol_i zo>Hmo6iRkRXv)%9TWpb$eH&zi?D4iFTP4{-Wg862nkBLuYcfL^BW26JzGYALweRiu zJf5E4>(^iXk=*ZlIp;d(y3RR6F&jn72}1+Bsk<6O-mTjO5euyuflJyGY!Wk!LWQ<2 zrjGVRjKc?vTdop0cwCEr!fveBmV~)_RhM>G57H=9Oc};R`#U}L(dC_7{vofLG#TY_ zw8QZ7Z1Pg})cYATai5)c8`fyQ_T`3#(0}h$V31wS)@?z!)FE?)&8cho$CzO>rMI(V zMwkA!orGV09AAsACTCWY%jUE4drV$;g)|izcH;~6o=}Y=q2R~t6BCJ}YgVe7-$}yu z#QykiRiOWe=ymdwnDUvJ9Z@z1Ih5BLn3Ffuuc5(clPhNFi$I+!38rN;w#X|j#&d(_ zhytC@enj5pfu}?Cl*(vJZ5bg$CPU+Ahgh^6aV%Ql8K+y4O}!``v1Us#>56InZbGJC zs>>Er_7CDC=V*iRYAkksertJi!HKVT>jNScek7}|tsNOmuoBdN5JbYyy3}DQ^4Te4 zHxAPVqu6dqO5Fhi5A?B)iF8oyuNL4_cuO7o^@9ms&)FQeVHw$#`+*r1+7s8BS00Ex zjAnpj)I0MkuvDcnqv$2q_V^Ea@5f$8$|-jxGo)47);=p5D8HjW*XFE2qEfoI$#^7y z#|>MXt>@fse~m^BDVa8*JXt&|u(M95?6$j;;AgpE77;F2IC^9tb3%9jLmrcc!z(w_ zag{Ts)w>m8@$Pe);50%qGQ`xcARFz-sJQ6dDZMv`jU!JIoqggqDlwPEPy8(K$$s~0 zVQ8`>U}DAqk#nL=(>{ROGQ863s|+@;LO-GTkrgM5&L{Tg*D&q5m##1gEG2~SBEu^h z$Ht1(&q$qlU`{0hYiUvDRrurR?cNc~CAh*vQG;t~*l=oz-AlZ1HoE8eT7Cdd$i-Xy z)bpFHCyy>~GccWl4#{4&UH4k}ojU2Gx_Wy5J1+9|&2v=Q7H^D6&v%JdI$G4&uO5t+ zU4EA`b%U(Va@I`3krdb<;8;yxs4jB4{UV&ba0|(DdrF+flG~XmbBY=*C>b$XC~|V^ zI1yhNsM?A`HgdrsI$b-UNvO7BB0&oXVjcF5Y`(&|h7popV0G+S4)c8U>(z^lM+3jq zlOmMzCBoJ0>=K&n9qt)(t%$J}Ail@Eb`YMT?No>~Aa|yHmB1=ju9hZe7QUv1fJcG1 ze2hvYQW-Q_RFP||G#m$!RR4U=u;Ik+Ie$nwp~b11TmH9K!b))E>X#1x2!Z%Gt>SxD zVr6YPy^D^EfeNaI<;(smsPvz-(!owDLS0Tg6Q8dh_*3asjz)0@MSLeGY(2M2g58TCgQM?7Al>d5fiHp)JPBMmr-}F+ zB>z35&g^E5?kATljzQMz;dFnB-dIQ0zv%<=qP-g4xaU<--%0~`$HuQ;dcW1sI;Yqb; z>YJGJUOxRT?+D?cURP9RA)=4)E2ogz?6CM5pHoxmlOAhT_BR)j+6R9Zui|;lRI3pC zM{u{jr>5w(<<1Y9Qh3s=3?=Wp#;z_8dRR}9LkX8-lzx0bVnxJ(s>^_Ud?e!*xh4IX z8gEI+RLx5-M7AdXynis^!snn)+{_w?h_0Y{jqLvCyS;xWCyS8!5BDvdDl;3(^wF>^ zzIQ9)S9^lTr4C101LWkJUASCO|l{H2<6A~m0-HpOGiZs;T)YJ9NrNYdnqV@xyGz zzVbnnbsg$gvDv7}H6fNMel0_7tfM$Vr;EnqFC>-GXnd_-HX{T{|2kzXNn^7+^&&=O zF516Tp4=kgTSxWF|7OC-E2C{r0lubNp@eHmyw!LW$rULxQ?Yjb+V1f=1%1^noKRI- zbF**A@6*-kDD`tO-<)hSU;8m&RL9>4}7n#@ESdnGoeiI&&NTlR@ zRitDw9pr90d!D+TiHDHRM|QKZiFCez6)~Aroxhh~pEiR?_>?_&Bm5qb9e}Y~CMZ)E zJ73QN^l&ljo0CZwN&SO{)g#K1r))lmrdqaC;i%Iv8;|Al86eH?pNC(aI9mCTG0cZa zK9q>rW>yU$lvmz+o|})HbdL&^E3fcM{e871oJVRF_iJ2Zo8otMyDgP%f3XLWj^J^j zT<{AVo8DAzUIRXHc!}UOP8uJtLcddg9@BRE8oAR{Gouig^`!iqTh%dG#~Kw&-C|hm zDULgcptsR$9fzv~y*|zv)#R$x-yolI=@vOFtPflwvjg+&+R(sfEAtiUnGr_Y1$=Hh&8zyuZle8(L)9 zm}sFwBe0d&yvIi>8Lv2U$fV}@BXk{`$E%3rcc0V|>!s{X>3>+ONLE+sMvo40;R$adkJ*P-^soaXM$;I-Xd(Ai~w zrSI>E!XZHf?CBOR_{1TkH7~P#Mne!vLNGrctII;o&$m9xWB0{X%!kI`yN5HKG5L!= z*iSKeUc0+&a5jxBv=Vt}OV za|FF5#e-170m;AX4;)D~ePy=&1cB`4@Hyu}-+s#)fcRK%d%-_uPp{ms)Cp*OiT#*Y z&GF2T>f%N5D~I8;))t4&S%X}#hSt|_32|sm>KmRS;nA*RUeqR!a~KvRMK&oFCs?Me znf-bsIl6FLpVR+#E&6`Fp#*8i^HJh(OadzufD1j;bJ~a;;0717n_Db>ZUimW%(B8k zvPs^*e8(D#PPn&hF2_ntr72+m*2YIqFN9#W`|*E?fxX>(ythEV!TU=E9FCp&+mwtE z>J!MdlyZwnbo-P8;t9A<*Tv?!&=DEjT@hQDQb;ZMUCQUXFyWg1%qKlEyOFs{!D zv|ff!T!4+nr-g1HyFsI>*sNTcd*bXD3vfkkhV}^_xa~_i%i<7UW+WS zhQNIuVlq9ovOp4li?(5t0y(Ug=6Uvu80j%yU1C3*XaWG!|D5ob6MY`1fa~+!iRoKf zsx7i9pMHW8chEL`kNXx7SBOP>9#|%=q->)61{^jF20*P!A`-Dv8f*R?`VnB%|EB?ehEA8FFBNC_H#hJUYicn4ks@TS5Vk3Mi668!SXOI2JI zZhtNIq@Cla&U(3hq^`#DkL#vNt#paITq!KOjG7rg7+9*D!SnlPDfb&6$vdYL<63Zl_+ulqt?fs&d^d=Dr>xg5{IQ9j!cF{H!Xy?5i(T8DLzT`C zyAFF5@tTLB_+W!{e$lFjaqr@LUFb9~+hD+K+0+sC$ukXJdkEwy9swlyO<uA zTJra$p`SYm&qY0l>+EgL0`J)D+9kt62VE~e8|v{*m7J#d-km8ULr>#Vg`<(`A>WrP z{8mG`VT=xiju=cSqNlz^J5Gg7eNZ-aJV=MSRX5n}&Ev*;3f$X_Q6MHijXV=E#P zCf+Wl1x4f3lm`hCUyp|>!(0Q+26p0v91+ry)xJg#c zdQLKKcj4O=*S2;cDe3>j<)JN<0soTJRz)_ymuBl=`IGaWmyB0w)ht^r5kea3+;9yJ z7n%lmtejzm%6yR%Xc_(!%mHGtrxRYk^1j7STY03r!HsN3-U#3iJ;Gr^>__}#?l<)1 zt;FHyo!PkoxKspIB*vVpTAX~6NqVAld^q@WJ9n|*HGR>EQ6EHkCeiG#r(6(%P&xfM z@T)BwQqtBmt?<0(NuS*vze_tDu_F4F;g5VL>yV=R#_E6pqx<|k8!}ULdslsf;B{W- z2`*9`RtZ93u@sJ1;$sX>8OQc5pT{NR|W0ZZ17? zYiqntmy2$fsUUpx6jmfV^Guj1Qv`}|h6utr?992sJIKkk7G0zI6R#y)C@1d;!I#xr zX!MgehdI=LZ`FtE(8w-Lhak76=I z@PjUwa;nAmqrz#~b%S7ZfluWnbZG^{x%m&kX|n=EHv3>Di-ry90Y;AOo1mCu+J;Mr z=n~AH^R%`j6E+H1T)az%1Yn&9AEa{7WWqds9m*|KI*8zzjgOf%W5$hXKFS8u5m+HW zmN*joNqa$KE-oQKJf|=Qn`bQI@{$qC&0sH>lwv&@8I00zf3MXGV$s^`tf0H6a^+6% zTH`{ybylZ zjU_IVHl;101lz?x?r^>2tzi!IPGfpY$Nc2mhCkcaQ{c77b_^sqwVLfzvn>^I^dt!T zlxvdX82mrubUH%##iR40QCb{5nU?WcGC4}6;#n!rc%m9@NqCd(y1iqL0mmG~wC7(E zl8=Di$(Q&*bJ%qGY@LVcA8c-rc||hTxvj^Fx9q=)Oo|IpEnWELI$khM&9N=1{oAwY zviMfjqz7#4#InC*1`6)8=kc<=Rcj5#OZsLW7QTNQMmLZ#=d-(QC{4toZLTEvxf3zS zSNW>CNMt66=(wWY=CWv^Bfy)uOfZ2>n*^5*+_>bFdf@x0nV=etAuio5burb|ifjG0 zG=&Vp+LTo4qgv?xShLf;@vAR>y}19SeYwh_lSS_5@jrlYjy@D+NyLCuY2sLO5DG~2 zQvw(*@0$F=(fZm~02mo}TIiNSAKuTZ)^9r!)7hzV)|U0m#_8O zlYWW)J$dk9wnz5i;{7E%$$^;K>5A5kxJnuztx)%Dz%5JYZYd~7djF27Wah*NYl4b+&EQ}Fh8L-X!7!l49KZFFp@jb#SWRGH`DzUJ*EdXC z=(9GQp4uAdNRX`^u1r|!teh-78`mtwPOlg$8M5J{`&BR=U$hW~|I}h|_PD4w>4;(W zO@8>PdXJI_g6{Ky#dv!}PNhf=Qa`WRR?AR61O(>HPjG$x`CRbn8BMuIqH9!HXG#~v z;j7+Gww@Djbnnmded@wdqp6SD2^{7|^3Rhpdx|z)Ltfy7v<$^3Oj4Lc@0e{y4<&7O zbcpTzcsEwDhW4)CU-3uIdt38$sMJ;}ClO+Q#&*YmSJ9L*_}QB0hqW!x$D6Ev+R5HW z`lE~W3wZC-L*{*~NPe!l(O=8vyR$slaL^+=?~sGacgNer{@n+QR3Kf$x`L%BkQKRw zgkdg}(jtwXd`H zcEI{P)V;s`cYS$UWS@7m(9m~$zAu0+=M>1!$jng#oX+DA#ZYCJ^QMT>c$LztWaXlA zc9u_ktm<#pqG&!LrMG3XADEq0&>>G;@j@{p%bGI_eV4Vs3hDJt7o&2JlUe}nw!FuU zaqBC~Ba^rtyA5xNsTnw6!ur z_b$I@-{87`chM|-_M0}7oDlM8wUj-NjHO|qgKk@GjF(<2=Ec_oPt=Bue1>{hs>3Ls z&=5k<*?A;9-94j&5MqJUvq0L~Bpj@a`7JI~-!hDd$9$}-A(YTU!5M+7WY3}`IYo^N zFs6o3_4Zm-0!=ts1*GnO0h}mXi`w}Pl-v9JCG0XZI~<+b%I{dIT|3&#_FQ>BzNJD2 zE5Zz!&u3wuT$PF!nz`FT!m!J-$hom{mg95|j;wSX3`NZ!cP+xPt%C@TZ~|by<1Bt> zqUfNOP!h)>Buj>km+KAk#sc+cRbJ_LsbX55x6&I{XA*c=K`L}%?!nXp(tGK`wK9HW!K4yoq{{ETfjF0S7JeN*s1Tj~;CO=jN5yCU-e#{)nDasM8 z^xj-}BwI0si>?-K%?BL$|Na=T&kua}>%70zXgvQ_w9*PBgu9b2daWK~o3@8Jp3@Z#?iry+@w*Tu7GiuYAbKr0*3T<}!(XdE2yRLAabvm_wle$7WT5 z*&ZQ&D|D)w;r{kJr#m&QF?V+7!$$PK_&2n^T6&93DZ#I7!qI0?Tyk8y$P3Kdp@l%R z(uvzrw9q1Zk9=mD0d?>MCK5MxJnzXJ?HhGRf*(==y<=%&1n$b3mdNfK8^7dFtkB1sKwqm|#%u7hICLO;Kywwm=jN0|Pen+g0roAjbTJ6FvhjG*A)27c*@ zHj`^E=8faGM%>~VFeT;T9nW*qyGCBA=-knzs?{Vj(Lo_ycvX;Hp+Zvij=T&)oui4l zrDbR+I!Y!M9YylfP^p^Eypc1x0N*RdJTP~7IwJ3yq?REkpz;2~&hv4@F~^aO+jy;!m!mg%(QGE46Vn2-&kylP zvHN15`5VtH_X#7zTk0HTt3(>B>7W5TvY8-qQ%?3(Lq!VfAKdSwC{|&{!v|h6@PL}ZSeZ2+q(w| zM$siYY^e^l9NoArKwjRb7J^qPFk5K`80n{8Do~5*-YWEGofS9vJnroL?$L!oEyWHz z19V+2B)KyfWo7|Toq20$k@3*xVAhPZ$!4a7*_W-&wETbbr&puSAlEVh0Y${-y@nh@ z2tD<@Uq_!x*y!r8z2_(4QF>>obwwW7_$Ud&v)Q2hl6Md5FoohEELw?7*V$`*LeG*Z zR8(P1QK5dS{Pz$1GjZ+FB88Cayd?IG&vNfA+0Hk!iLBu1p~Jdqg|Piob z%$sK3yTR2$snq{o__jkpR}z0^4-un-b@W=9O>*InStwT@31e(+?qQDBF^l7qMc+pQ z*q`n)lx0k;(7R>N&JHS(CvyGxVZ99!#~zQ2S+N1xfp9uVpOF39_%_wIf|V-QMJ<~&pi)NMl8qo&*_sE@mhsMs!9zi15=>0M1^m*~U9?hyR78%pdDhJ%r>3 z@`gwdJjJYa2*BHo&mw>f)CyHS9t~QD{4O0#%Dws9b3#x%S#?PK-vyV02FdFAzuoDO zEWs$iz#|IaNs_l5d)KS4Zb}z9VcVjKr=GsKzdn@`dwac9hMqF7jZQZad@4-I--A#^ zh@7y!)WUn`PV1y!;;_UTLsl*`hYd5|n~c}DTa%(p@&_2YLK0;3t24|~SkDcKiesf7 zND70oyJ%6_+NGYh>XNlPG3~$IwzIQ-YkK?}n|#E6B7yWPs}fl-x!LyH9m5fcbeuut zXeixWmY_1nk@3$*-K57lxxXLw^V5t!iM*D@;Nkj+5}x z8T4v5`K|>gLw|dYe~#`A)BFIk=Th%><@*3! zA5NofUUT{t|K<2NbSR<2dvKm++(^A6;dGK+@=+nXCS>}{caAJ8Y~q|=@?0O4)R6k; z&WY~jH;y2!ALHy^En?BnW8)oKubqDW{RZeUd^lN!d@jV}1-%D3U+9yE2@(G%v-`7u z^naG!uVT+jm#{6xeXmA|katomw#A+K*10+|=3ik{)#)68=}O<6G?f zi%!Kb@GF&Rq4zG)Oi+<$bo1s5Iw&=9=WV#2Rr{#=`P_%}9U<(eSkIl_yx++vH1?GG z8F#@Mg||W4_Q+tqPc#fn!baEYATI~gNUa2~F)SsskQwU;Afb@H+kbeFPu0@Tfss@q zTPl&;*LC!;S#K(OCu^@f4JND_w_0_Iq>Guf3{cgsbB{f{Q+_u!+MWxG?!e_-9@`$J znK-X_gKQ&ZQR0$QXzEMH>~}!e8QA~6M-~_15DzEY^^GUimU;&Mj#|iA%Jni1X8RAn zeEI32?N3C#CnH!9U6u&HJGYRr?Oy=Hyu3|G&G(zpDOj)fGazIGw7dWIil4GTn^kra z@Rdpo5yJ~VuW!e9n3d$ba_J<Z>uLmFiKr?Ba7lM|2ur}upuBfglt9s+TW6kTx;`ZOt1EC zCmSz-aLB_QEhq$A0oc&4pSL3;MGxsvraU{o^I$27ukdCw#MGM?U}DLk^aDtbkKkpg zyvK2K!_P3Gb|vSY;kcPjbs97`UD7|lIqitp=*|AAdrquW08wMAo`aE`D zIdQGUz7Of$dVi@&x^!x#yZ=(!cfyPFj_>yDVwtgLGLt$b{pVLAi|H_1V3b`IKDtjg zayQ$;>}4*K##`kt?N6C$p~yWjA4Ugxs*;0GkAI8_{61D5eCBr6bJgP4&*duwxAY&6 zOBJkKcgHLz>~5$5S~Bs)ZVMO)yZ`-0qe*lATI3xNjIu$!1m$*a4YB-YBg>S&(4pftHlWiN}$Xdk;DdXKV`s`X@M{ zggYh-biU1W+;WU#Uw^e6ld2ryy+F!Ti^M^%Ty|eFK{u0|E7m55+WQhMm(Bk3h60!% zAi6^r0pWqJIBctLIf2cSp|$=LcQ}|)=l8$@=5f@L$&&i^8%^?}ryQ}r?(eV1I-XH0 z1Louv`=>D?=GzzHN`05W9}l>Y)(IVx)v?w;Ss~bXrR+(2prPDmGXl9bs_%OKVZCDY zoMGT@pEJLQ{LoMO{rz~Xcr%2M2!)*Yxe*scSj1B5CR?~Rg-@E@>U=&ndSOspq*qk$db;DB+Qy_0dQ@Dgk)CQQ_r-q^j_R!L{_n zs3khU#<5w&Q+ySzSHoD==3AwfV*%FKndy!FH?X_Ng(3U&DUt<^E`z<4EKLP`PgCx; zrU0CFRb>I)krl!JCl?<)_J#H zTtMf{C4GLFF`=&y6l^2QC_#h>@I*_mo~;ox1tWCXL5%&FAW1Kf1xo5L${x*qXT~(Zz?Q*hHc%RTw4_pFOKP2V zjl)PTS~oTan4SFtdnoc?ZO0igld9o*-|9K&SkC+bi+%wwwPGo*pIDxiPbj?|q?X%;Izq>o{k_7rnx@m%Ayz330)XPGQlmACDGxTeNW^t>q425)3{j z%xp4ZPPDDkK_~`DF^mxUpKVaP2w#4*98A8rdo4YxMV*K_dpnXAa%66^k4>;K9dU$)v*{ z<-5JLwfJF7MMVo!=VEpv*Y8fhyB`Jv3?s28D^iUAAD{^#~?{e^Y3Ko@z11fg_6{Dsr$%5Go> zq8pOT`bQ!jb%hp^VWDVLDrUq-xup0xXgJ=tNFCl*qqWQi;?wFH;Gy%HPXHJ^rW(^+ zp&LYyV}Q($358x`cy3a(V6VX6m+_9qXGOqJ0G)T4uE+h=;B?Y+tcaVT*U5j^@DXCF zLFD8h*B)9C@ew#}ck{nItQc3cq|G__;pU=LrV9c6YTePQNuwsF{Q{|Ow+H57 zgga!-4+x=%zXO3feaq?rMY5Y3oi0DTerE|JvJ!I6Z)J>RjXYFKVK{s{iSbx1v9i(c zF0o|(;aZrJ%-q6Jx_=#DQVtk4e^cKAo#2UT(V(8LTKZlJJLdJO%HEOmu{PmZ%j`YI z_EFn#gKQccBxj08G=D78d>nwgLIZ+LT8I;b>hvK5xg2EX>rna6Dy4VG(Gf|qNc|;B z77<_W)8 zI(rX)jqdY1fXQW0Ty1kgyB9gu)+ZIO6bSi9E21;8De82sadhvS(6;tMCRoBQeHI=$}#?5EA77SvBx~*k?D?rUl zzFBHHZVWx`Q?U5_&w4(I?!J@;3I&FYhJLa3OTYks7T*0BX1Fsebvj{DdHpbRJD;iw zYFgwI{JYRM(JK$|G#S)D)N6nc(z9IoA8iCurp($Fj)phL!Pih!EYO723!IuOotTUc zHm_81I+8bGE z&eHYzH#t)QlU9AcBVPw&(1CJghyH!m*VOupxPcgT4SdXPOB1Xe`Bg$&<>NC&A=$A8 zM0nf$M?AVCBjk|XJ+{_Qw(I@!SJgYRJ=T~JC{QBvykGPxQvczJL|Uk-0e{P~1So>c z_5^WQ5WKH9yw);IDz)UqqCf)%7Z^&gbNp;G ziO;qrw|@CyCl+z;wOMpDfF`k8G4v2NoC8#!s4u-NvyB+t2_|2qKYx8O)!9?{Y)dBQ zC6Xo4CpkbddEmGHQ=d3L&@vPB(hRCb`*26sB)ed%}F)6-zlael zv@XMSR$$YkX1a%7*Gf8fYl@jH9!z7vp8k(K!^)Tz3Dl~}Nq6|7J3~;HA{Z#-2hL`*nmzbXl(cf}z!fCF+TAIuJqiOP2#ufZv8C5_a|*);TL3H( zz^J>@D&`bi2aNRC<@y<=pJ^`P2@p!URBEy2QKxx+fO~iB$&T+)@!5}<~{vitlVAmGl~Ub+p^cy zJE3pMWRo&jztQjP*Z;Xpg?z;1PWs6B9ko!D@X>dKhhMa)TQX7(UL;}GKd1ME17OSj z{~;BCft1_p0fh>f%QuEZ_QfjAt;cin50Q;mI+_Q(=ab%S@4lpD$AWnkkvi|p;pS@uV z8qqln9ES_;QY-8BluFp^ZFq%>(hg1^BK3dJRwP%`{`+1&LXW*XPMga1ZcoK{Eqiv` zH(R^6W|1=rDFB||vje1b0Pb5DHcz5Mc#sz!^3E1XohrsRhKhWRRdu!ZSR!%sAF;J1 zzyCB!!wkUoMr2jNNo%jAGo$32!D!bOi8M~IuAbMoq7*#2NfUuwHgq|*Ey&eAv@FF@0&3#8BVi6hogt@*|BYH*}t_1n4`Ts<a^ zA6dCayuc-3$W2Gi`Y`qbf=J{HKhuXudT4y6T^%UsBZ-P`Jg|%Ix#lRd?Soj# z;k_sj8~(mo%9Kp1=aU%Y+Nzwbaqmg6c9whOVD#SZBV^zsmJ{^KLMpj4U#%+qO#=p` zs{Z-+zz4Mt6h0DpP_YQaT*Qq)%T(nf4#GasB^f>-a^y-pB z7X4Q`NajT#)szb1!Y5ZQWMlPV1}HWEMJG;rjPZZ+8IU5(ZDs|-KP)IUL*guuX4Ujx zSdpKeD&jq3AFkmpw;m)%~DGZa2)%>Y+1H8w_RThKs8u zExF)LT8JK87{D%rQja0AcRy@~dFn7&fnHMR+0U=^v>fVy*Rb8;8U0&(+G6mfvoW@A@o$TIQa% zVP^1iD_uS5*l;2~K~%`G_-U?wndrka#}0?Apc66QrX<84UFRw>zjIM7;Fhc0I~86M z-Z*-%QbSPywnx}S{Nk#Deo&=^C}0NOaWY$aydz;MhCZ06FAs3ifd~MVa-Cn4*>Al) zK{TO)@a=7_8Mw$TE0TZm8RwPAJ5T5!Wg?cMOpd++(D&09r3F}#`|NTNg(E#n?|Lv{ zxEvJYP~9OSzBQi->o_FS9+z`sFGcnjvKwJ$jRkl@u2nv<-Gvj@%E}OVjn?fIVV6;Q z(|K`scp?@{ePi9HX|nDr!(`CtONlVq@)?0>@%N*4B>Ztd;a^{=08L{wMA%Yaz*kg% zdn=lIHESzf!FvCteN3^?GWj59gcViq1z`lkj1<$}`|sK4XBS0|61j5JFf-Nsa^>kmKr1`Qh?s`D)6O z$$}%+$~VZ1O7JgJGE=DheW@8h$VgTLzx~hQT&sM5^Z?nU2${V5y+MSk+m`CVghQI2 zz)9!|1Ll6}vUXLn5%ayL_SxCBk-g~DVJVVC0FHZlP1n#O4+HLT9?|5ldg|5jH=*ny&)qb{`062Z7DKNMVzZjiOFdfVC7 zbR?B$YaLsyz^jP&w-11xenpIi&BG16tWnm#T;on!5bfh5^g|OQbZJ7A1 zl*eFN!!Kd;E-<~(o7b>8Z(`@CrN>!*%+JcM@km>6=WB-QBXrO>vmd}%prmG-KDYUV z5jGchn`y``e4_QB#_ z^x#Jr9UmN`-G5GB4z*&@aUjlutD>&(q>eRo;Dl77T!j*NNbE?z;jLF?^fGSZlZtF? zO#IC@(W0q)Icly)$jmStD6QUm@FiKfk8X#dlzqZbhSx>tAw=Re*4250YN6~Y&zX3W zOu=g+(`CIZzUVYk|C=jmMQt;KzcbV_=gCsjAx!*kwFc1E{$f6+yv|0h{j>-o2!Ukv?Hsh{!zN=-3lfIzQ7rC z*^zG*dtc@Y4O8wuSBwkY0!ibaRmC`Nx=X~>4Ui!~i|mD;LVL-|e4wF}M3YhWKkN(! zk;eku0?u1jWzo7hep!$D{$t>yo@Gh5z9v^CBa~sHZsbMKl#t2;{8Pj+hdiSYz$ff; zyTgR~>Pj47L)vD6EWuv4tG`)Tw{>a9d$8NMdqPG^7+BC;1X5JPD!IZZR|0SFL$hH( zU{&_?SAZc~iTKd7U(GpGLqK`!nsMx2D*KEOJf3nar2&8Wu%R-yqB!_hEWV)0n*zda zt}u6Z@ZNP5_eUkSy6Ut?X^vftj?UKUI{2UD3+>uGYYnKyD>L4!#k10`am@_If$YO1 zi|5HJ!>_Rva@?G4rVTQa2(^oG!nyIrLAWtzcWhw$(c5H{`b&B!eswPM!rvZA2@&lU zM+f;=U7nJY3J3AKb^@DYMBl+rGvx&@^_YtDt}78;oN%{eyX$Z(947_C+7`kr+l9<5 zfbsk1Mtp>Vx2ysuBP9GD^bKrI0Mr+OOH8HQj9|e!E{k&$*_9g)T{I#haZ;II(L1;M z)MN*xqD!aOI!Ob6X|H~kzppAF3xxXxO|=r&ugSEO1c5pNeM|AI+}eOW5gD2sol|)F z-S69+a0U4L+c!oh4@5IV@H-1mtjMuchtUHhjE-iWCYi*cAhAb_p1XHb%FbtPUb5D1 zvkM)#`)JSj+t%3ZU*NmW4}O z3;F;ls@9*{U*mz$2A`tC-0-qc-gi6)2%QE3&$l#-bpZxI*D#TzXqv24wSM=kFx)KD z*Gf+&>b~hyQ1h~4SLfEY_RpMZHqsG-qgYPb=Hfu8u3Ky+eiqpc2-Uf}r2eGDjpxF8 zWZ|h8E>KuCb`x;ORvxK378<89gy|Jn>IzmQvqW^xekXnH z_E68%7x~<)1zVlHe=3-mUu{`YDI#V#fQV{nFp5Jjtx#^;Ko8*5)W6fV1KGLWUt5Tn zji_MMt}yLAAP1S;64%P>ExUxYZfQ8u=+G*C*2j8s{kDkCb*Z;Fp&!zFzGbft9CX3q zK$Zn4lbNs-;Cm(9-v>p4vbrDmaV@uA;qzY#a16>i{iW{6V{=aZ`4_m=->lOfJ823? zY(R|q1LeYA8TLPW`bA`oaymrU@b~yC@J77uxmxN(V;-fB9E}D5jk?)$lA1P3IO_1fB-D@cL zH1I8fH$lN?Yt~S1m+o%FC+!blK zF!vp@ER7LTsK*oq5v~e%#=6=vL!G7~a6I?K*H@n6VG|(*S?)I|P0Zk}+Att95k7Z9 z2s;MbPxhi0v#ow@CGsh5q$H5lhC7SHRf20+io~rTR5+_BoNX80H?q(EdB)5&HOnKwcR{0IH z(-yj2$M!UYB+O6{!PL;g@gtB2iQHEu6Lvryn`kK4=5kNn*wJLR+x9=Yg9-0mV2W^K z4mqph^jbj#b8D5%yqW$7?OWD0?NeWC*}ZP8RjfzBJJ|?W^@_C>&Ki}sk zRe>)0s`Cm5m1X>$JJ^erZ5Saw&_8G0XMx4^F5zwO$$0p_9+xdWRQOv*bfhtWe#_rc zclvN3J-w*=cKnJpP(A8d3X}Q`6WK%_4FR_%`v;i5|KPyS0I}JD(K7t25(2z0UgfN= zFCZ_6h=jz`CAi98)zTXH%P^Ca{>wVh15n^FB=gA23?>+GoCU9jJZ@MumBAMkc|uX8||WSNuc zx42B&_a;aFr-IZkB5^#`HEaSD3P@6twIoj)X1{|ika0TmH+51+c&=E7j_^!>Y})k} z!=G}Sa4`6Bu{NpFPjG_KvrZpyn6~PZ(y`umH?tih@?_!lL8X6{8%D$D`QVyXVn5It z=n~lrjxj-8u?8Zibo6ixHrDv~Ypn8ZUD(=)cIex~_dAga!?*iAr%i#9#?t{qZsjMk zYZ+d*!&s8~Dc<#6Yz)}&PF&6nrPgoP$N|q=g9+mX=FJW_kSvUmx0lZbq1=6ZIX5=0 z1mlWqMR;MfTq@KmEibn7+uduq+9G^mKwGrv>U?nXjwyM= zDo}+ih%IuEUlg?-sA4v8=wcTSIcTyLPez_Xb|2eIG_M$PAOW$5bA>&VV3eebd4kIG ztOtu&LAY6nK;oFCJiMm-DPn~dPv5WA`!3V#r!{y5puoPy`Ma{!u718UTZHNNE%SkM z|7JWwZyAvV8IY4CJaeQg$(GnB>+Dn3d%PUQy`sR&I(6YBU&v-KMJHEBPwJ}@RmBBH zy1ej23`lo~90v>HA@vuEOjIa=mP_qX2)WoG+&BBcr7kH>%4t1v*3VOJptNLLt~X8% z>0!IN(jq6dL^6$#;HWP2F#hivf!Zg z0t@+p#J|}tf&ntZgOMNC_TXx?5_t~f+<4tC=MKImQ9xhXOWER#P|Yp-4cloMi8-7B zIY1d;+i6Poo=!HjI;q!txmn~7RMRWB4y1$D9wB2xa6ZM1-EE$VLYbG-Q<)*13 z*~D?rKkgrRu|MDqfe0S&KC8L>lL2s~*EB?6F)uMwazML_xqR@8%HBL64WBh7%{;L2 zYkUO&7O~$ph;RrP4#KZ1x5)!yZ+2^5#7F|Q+jgqgw_3jo|(6Z;$Y(!%WT za7$v!DM#F8UacY~Opu$}2Oso*2^9Q*sIf2pYI`#%@ss^Sq))yiiSM2OUAt69m5 zAbV%^rO!mj)p)5bf7;)h$JPgh;L@KY4%I#KMNa(>&_>9E7+Fo`Y8vlXgjy7wp$+wGazU}FE3v%*ff$Zj6^ z#Pr0T8-1xG*qK6eSQOTgaq*9Q=BF_f%}n<=wRnI5FwU7<$UKP34k}wR1 zWfs!sARA3%nIP+=SyI1~*&b;*+N|-roF1wK*~oeX77+2*!*G!e81`_Nujx277$@y4 z7l)%BoxUgM_23-cQgh$bdZ)m-!9=Ewx43Vv)4j7^EPi)4r_r%BKIG#AGspM$?f#R> z(k&84jfoIUPD{v)%b;#r1Wm$;m;;iwZcn78lHw%!hti$$kXXtrJ2(6}gy0k3m8(_k z&IC&56M-}NavDuOl9elqxVL#%r2u!u$wgR6oAzMk0noxAI(nQT2*tZnPEW)5`vYy$ zTq$=_KBW>wE@GgmS91{I8)bUWk7oSOk3u)rr2ZJ)$Dss}KQ9HjllTXPs}+ik-)00p z2$!&?(ub`hOU-yUb0lv787Na+W75^@pwGmHr4MKw4eyN7ls2#f=M*L+56XoD8A1t{ zPML&M6l$)RoIJ+T#0NDE2xgT%J%N5#v~>Bt2w%sd*2M~LP;S?Kc7ks&R{CdaK0;6K zkby9^;~`T2je?R^X-i$G+m$oIx?OZGaug#|~Xh%Ph z`-JS-bj}NNJ3u7}+y4exfqPdx-2kad#O(2k50GUO4RWVeJ(1lSisVIFE#^EU4rHu~ zrTVF_1tU39K`+&F2c`uAD_+zx>2ldEjhEcl06QzR*So`G_V|Ah!vhwxZS%;CL@zBm zi0>hviYoQwJQEOG+(&4c5bCJI`83l6^R)PpyViXeA;El~3g7_l>Cd$>ur%d;U9vXbDGZ;rBHK!z0t zCa>@Bq#7yX&l;N){V#g_&|vSR<=lJw3P}UB1p!hQfJtF_3bdb}m~Z|0jhLYD)M(da zCpD?~_L*Yi{cB`O{8Sb4KVY`k8TQYLbuhzx78CCB`@k( z1Zrp6CK{d zPjkBi^EK!cwxf-=TSl$OgiRh zh}e0Eq!9T`PT2wqB~v}2*dh|PD_N?(c6oo@IQ2NK0UNqu7aC24%R+9Gr|)dMFSXgF z)WRRY6VHQf06qB(peI$FTV@}#I_3g}duPo!q_`ZFfrZg_bSxVgc{q7G{fmd7=(P^iPJ00K@JCf0I}>TuNp;OG zX~gPL#1_l(!*=zNI zR3`301D1U1M!vWFJueXnF>XWC89@Z$0NHb_R9RV*Wypwcqm{1Ww*Pr!!SC#^IdS z#sIygg~{3_>=~31Xj%t8OhL{80YFr`KIl4wHs#pp9l}ZO>C1^2Pa2rXZKdrbAkSm8k1ByLL^25*ga34Ll*J8tf89w0ox`qU zgv(P$+H*+zlg;K70eyu=9{PMB7;qLj}y#qM3zB^Whjky1ZUs zyxN&0U=MH+d0u^!f7ifdEm^M_Tdf21MydZVY&;M_x#}DMnm5azQ~2U+UgaMCTeWX+ zatWFF75oH~@V`M{!TAUhCZq`jpgmb>=ef-(q}x=rGNPi{ueOg@Qi{4ZCSCM|x!Io2t0M zo9Cm9fL!1%QXb*baLU##@?Sq1>gkHlN@ja^@dp4E?uxPloLQ@Y?%rt?c__n zGAu&JESF6hKfL2uBUKAy-+lWf%S6YJC%SLa)6?xKop zc?oor#S!QaA5@mnV1E?`dpG7!=`b)431t>!X3d~8DcZhKpQgo1fq<4ib3+fIwkZ98 zTJQY#U~c;ki~DWwBoh~Jmvyh6FD?{C&VzG3@P!I2f&of8peOmYR-73bu&`3a_nDgd z;C(W@kiG+QCh!u-MUymd(s`#-r8<%xS{BVW8nLiH4ev;xUq+T}zdplF?ax*wd|5Dn zzTPF#SDwzAtOxApbCwy&o`;cMH74zI=*)CeLGtjNA!41hu zzW?lwfLc#L#_bwdRh?4;^y{dJmaphB|^E5@!4| z6PO<+{nq!rK?drArW>>&`DKnY=OpAqi@=p!PDS4)-}8&-xQlLQnD?A&|36gt2Q_dW z3fqMS%P^laSNq8wGg?)d^9t3;Wsx`nXa{mF`$r}9bP##$n|zD4R}rk?W@LSQO9tMPN?kj$fz>_-#G zSF^+?4kXXD>lG1<`@3F+FPzza*=3mshf=wolLnx$BIhuHk&0tI`P~1~NZjzsjO`u< z=#we!$4K=q&~7tknyemlF;ucD32|*ZAfGhf4PrEBbta8FO%w@EGXyMg);i=g7!2wG ziSa~22Njekp&>9YBK8dHTar0Qxnx>}`R?$0I7~+k*uV;Cd)OYC0vsc19zdiAnEnqz zByK5o{k7kkKHa#9-)`7yz#Z@xEXD?C<7Okpgq=$7IxONW*(;wB;dH5}F3nTN-jO0}o#+>`&XR046oc?(lU01|W z@&K1B&i@{nnW^C%Pa~YWwBh{CZM~e%rb`2D1|3rNK@!%^!U}O|@ypLdBtjPK66nvC z!KZeW6q5xF*Be~PZ9oCL2s234>^Mq&Da!pwnWk@YwSjC{RSSRPY+ zbp`fBi?yRS?I98fAV7OCqt#e}k`v@X9yBzz6inXrDcC_LT;4Xp1TZo8CoG!?X8jj5Qy<|K00#kNJ!-JZT*Ob zI#4nu^<5>}hX507hJezU7-C+48JOAxX6rIt!K6?Q7q$KbXz1TjMW^x_!^jM|GRMfI zB+p+R5Eli3M+!jB7I(~91L`ZX zYR0Uz%4F>3wBL#h+Ld+wz)!cd1Gm?9-^VXHG~C#5>lMsFpb_}lTb zmfE+d+}Z#;4gP=(;r<_5k@ni`0#AX`cH!^5&Z#xeLJ7~V&qr#ZZlHn7g>=Kv0e6=; z8dgU!zY-)Z%`Hg{ro;8_7tem9C^oKj->R&2{Y4s44DJkr_b)y;%ip1J-OFHpI}Tv- zyq=S}GpSsEwjaboHvn`7LT2KO{VODu zTGPVZBy4BB>UeFpFiuzK_Hu!E-s99UnO5SzlQwQ7hXBvBmT5;Xx(|>T0r=+3bm2qA zTtR2^p@e4(^F*l~B-&*O+x9NA;S+G2s6$QPZ`IGc(Q*x>H5n7zay1QEjdyIuAuo~V zfOytVeSnPv7+nEKd7GB;RDdbm*yGe}*4_o6qI8&3I?MG5RG8xF0T(?ot{?`&qmFao#pp{{$O0SNUB3elxJcF)_Nz`RBXsfpdpC7SSdoa(=DhluL%&}MGw=d;#I+3fFju5nSvTgw^sn*{ zsu@2optFJ+ImwC3e<+}td#za&C4xZ~^V`x0@6Cb#5ykn_AY(thZG~_F8pvospXM%y z)@HuEd}gPY$i1n-VJR1w$v?b|b!W1Ef$RZpmIQ)Y;~PAG=sbt`p>Vnhbhsbf>z7J& zIl10Ya69hJ{q+>%i``jRo>R*bV@*`;Ess=uOI=sB>=)s^W87<*(wm^4)3jeZ*}9MQ zMF%cAy8kYe?OM5IG6}r3*ynM1afMS~_v2bl#QHuAI>5FcJ?HDJeAs<~cF9$-&lT1( zCw0-8YA#ATa37wD1K;V5MXuggEFZAfBee4xex-ho8Txin@pf1D0y?oGY&#KIaNXHY zTdP}U-M3%pIXN+JeJ6n|oWUW=}5C(?R(8; zubJrg@85e$4jk}pWku5#dW!;5_e4)gp^HFpJrq%4D!ip}t3V@$9=m74R&fCcUO)!W z5pA4$ffQrZsCI1WGo6S7SpHRZ&qWag9gsrEC9sM`XO_LN;!Q^qXjhuz;>8cOSFg5= zJ`G~{j>Yp@-o*qDS`9Dj30c7mxu4CMvn64!O z!T~E3&=WMd>y3PAQ(fDRxx|N13$RwzO?79BfhSxpl^V&wt~QeIz7B##3r-Q-N08-% zp&q*7@C1F6%$=(d{ZRP7F^Ckpo6SLfd|F$*+tV?HRJipN>nvA8qM7T!XtaXRr`tOL z!Sm_N)5CWBF%<j_C4oi zH2jfe{No1&+sj4%-@fvr_stdWD~AWPiA* z$WtSy#IU}y4BBrA{5!-;0qs1QlRVa9ml6sX#BQ|kn)vkTTIju!6Sq}K+O)ia!q{>M zZAqk#W0GFOXBKkyi@418miu7fjfV#7V50b?l6@BB)daS8?9V2i?r__VlzJ{1x_kiA zdEKw@f*fstI4HIA9uR~H3PDp{S*-tbcNR7o^YyN-hg(eQ>zjS{$l=;hy!gwD`cuMt zTF(R2Gz~}UtJKTBed$>>wkKy8PgFjXm&?_Lu1*^~kzc8M{HGU6cn!X%Ke+$CN;5UR zcArun&Fh$eQ*N1)@XF!obPnCq-%tFpqeM(6)NQYQ7J2Ufm?07I?=Kn}2$^x91}-i9 zuKNhMEfQfrh{!uCwoscCMMqYEk$1ZpPAE`ONvZw6J~d1`-0}FxszU?$KZ_)={(gAR zVR$e2=Jff^__g*77cieMY#5)*SqC!XJW>{ zfz51HzUgXkc$v$!`sUVFiu36Rbg(eyUH6`F87wsUhYVmjhg^ujlq=j>6w7V?i+1<=sRdtB1 zL2|g>K;y7xQIx*FPEt4ZUFcwTGO$i;1$_d6)~`HrXYTep`S-9uDKx=F#`}^79s*Z# z8a#6b897pL2-SV^9hnmOI;XRnD&3(z*vN`RzwpL%>v<<1;`3?W4*AktVEt4d4v}A) z3p^q+*sjV4Sx+)=Zd&*{9cO*Ih?U9aZ#k}RX-I7O{Q`J?a{dZiSC;)Uf%_D-W81=% zpDkl>4cUci{nk1%M70=4H{@oD7+3-frbQe<`zqBUCic}`P^t|-&b^svXjS@(`=Jf; zo3o;Jy@7O2Ha+Q z@Y#-Gf6l;R8@~5uWVZs@eXUN74S9?E*qiAEI5nT^XR)aiR$jNm7f*3grRb zn9n0rpl-3lUIz8cddh{)hV7ts)!A0@rc%Br>NqarXKU$tLS3t}-HMo;0?gPOc^au` zH5~oK?ax~ns2ADSiM9i?k!a$?LHuEhC*uR$#A29Gzf{@}ulP}Ndr`o?ABlpX;$c}b zM#K*MJtr?5R(Q>#@Qc#f#D}l9YL}Dfe>&j~alxUZrUtASn;c=OC*K`%$htZ`;=b-z z5aiB$Y`q>(~8zm#foKi4f0wq`lC@LGO!?KVFFH9aVTMcUUHlfV=LXT#QTjqgRpQA z*~?!%jxhbESnv#3f1w~HmF$LE=UB0kBGUi?wp`eR24UK5VH~LFQs}r;xq76*6#qy> zQ+pFsP`xwL-RKrYk)Yh2ZD4n`J9!XTiexNuFlSl zKKFOGvEJA9X|<&cN5MO^WPa)C+T%;|8+lfB@5#|vX3(vQRK8|1V5%P>P)RM;{lPNm zmQ#*%f#+ZDwjmm0ZzMoRyy7^Z8>3W^SV=8-wZlM>i zn3=zE_3^)Z--`Zi*%1@vYS-(itllkH$VI|yrwwm;B%XH9vERV)$`S4B9A|aSD4zK; z6)KchU@D$HRb_T;F5g1vkXhv|13_BNB6SM|c8{ekDJ0-`_IF5?`($YB!{t2w_KVtcyBzndtAWO@@wV6Hcs|*)Q+1a;&JS*L zglTKP>09wzIe}vE#`=TH3n!xq!Qc8Vv(y|Ze5#_Hs%%RAs8g-=bXeo=qcyKVuztUJ zMd~zRG-#jkzA-5#h}0ye;}Nu_q+L-T>y7MNaoq?M1lC!oN%y7~_)+4-XZ+>{x4^Mt zoPsO|PNz7_YUSS^3GlTr&kz3KW8zZ>v_0;?&5=~&aJTQZ3e*vVr?|_b z7rTB70Gpk$1$N#9kP?Y3$z|wMOcG3+S{}R)>@6tW7qHELZH4QpHkH*Xks?Lt&tc^P zwKnp#v>(VfV^NCni*1anbfC6Cm+iVqZ@3Icm8ZL?k-7fGuIsbd82Ob)|R=1!;xj>naE= zLXzwRzI!`Zyd^*P>HGHFVRkDQ|Fd(|y{~z)_uxfFUc;c!P7&w;0$kayq}^#1VW!!n z&l_LDT?MK|o6XJRU?iT1YEv4hOBc|VwEeyH%&{%0)IfvLujD&(qU^0xpGykY=5y5` z>TaQE=SVOV@re?VpT!A_9u|H~0=rH{MWBW~$1bfEDW~FA5=WL%p-Wh^b zcC?at&izpJm3qrznjdZ^&ydeWdRz?Hmmc_p*ed57yOU{Y$Tsii$q<6~Hz(9e?U#R> zo15dW&-Y|VoHlp1!nZTEM`3myzB2*1VkX&DptElYB6{Ml)@Dt=i=yq$Q9SjWe&O(2 z1U$_6Jm2=?#78jeSeT3=#2Dbc0Mmygfa2^IFGs^94zCl45k9_$-xZzuIyw98$mxkr+f;@$7{ z5R%k;DW=VH9*+B9VPImW)z;#h4W&?f4sZ>+tx~3fFXo^c5{zC4yOo1i>pi914~{}o zitl3FTrx4*&QqlMWNTv`^Yi|ft%iE#NVsD$Im~*=@_pbsYAU}u^N$stQsy@<7*lOQ zbRM=5MURXM(_(6V;xS?)6WSjhXdKOxVS zT9fp^%%q5Q=br)i2&Ibslw4yPOHi)Q$E&UXym2Y*efUO-)`-~%k%EAd_uu7^PRrcn zyAiAEtB{?k(k}yvJnj4Q4a>vn;#&c@6+el8m*d9vcM=BB~_PKmqFQ9y8L@CMqvYS&V^_x8g(kw~AEowkw2ZYtceW@5y15%Gc6 zB)-0FPC}8X@0(@t6V=cm$Bs*?62(Zk7vrr0zi@$1uYcfwh}u9yHeIyB z-Go_XRyto`gkYqXmeS77&aOPyUQRw}d^X6pQ&c>%71y##eNcDx1Y!%k=zzweQFyKp z9gy8kVy*=Z*+j+d%`%wn&SDO$4+K}d2@}pjx6;nS9$Q>?yVwu`bEAA>g;lpawn;G%Bk4t- zbb4yCR`Gw|O*^$F{UEvFcvJMpe*3@*sqQO^%gLwOEkw>`@z-sj6@oUvezA;#e8{#; zrk#caFB;#^dfkLFq`+>5#qmY$?GFNgOFtthIDd5D{Cq-^`f&lvcp0bX*F?sN;#lf7 zKX^x7)&fL}{Xmwl6x}mzrmT|&PkY#__l$QHS0D8UTGPkl?>wnt-EL)?^ny%6Y(f{B z?27B&Pp26M+-Xj0|NP9m9x7g17JYy9bnf)faIkhjv^>J6D3;lj49dQ4E957` z$Y7G!)0h+COe(tOp4AHAAlhj}$J7RU>;?ohshKAP#RTS0}+l8P?H6cdH= zjf2*IyMuBCkihps2>2aj#nENBO2$AaCASUC=V0g{$V#SPhmUXe-eN3Ajwsc0AN-XR z`c*?+PD3Tg1g5p}GS0o;02$z~Q;~{>B*90igd}UcGn^RgX(8j^CxhgpUOlD}gbH6@INeTlw zE_}D&Lm%w0S0n(EQmsS_o3nG`z$uEqh~SHUqmd)W4TtUt(JBJ`2bx8JToYQx}oQ(>8<`hM-G3F2IVIL=H1qeSD;kjJA?zVidz?kVLU5e*204qaH;k5KXvo>XTiNS~5glFn#p}h{3_5 zE?R9XYA}~!!lK1O7!^7q2>$%@2zI>~r;Y|VZ@!fP__%S&&!(bwROnw`kf&-O@ukAz zXYxaA6=%OoRof^#aqp@3uXJxjXO#$GVH>bQ4N8!;{8ktKty+IeZPhpP+(9P$J~hz4 zB>Bs6Y^hH*;Qq?9v)7A(zqtK{YU`PV+^N=@y*~yA3xYrWH5ClBo~}hnIx!~4=;G{K z#$JlBga@sp>n)D|5)k0sXm_LwfmZ3nkCy@)CV@+^F_MK4Bb!+$D=IQ_hzO!LS={L4 zVg`kLX|mI*(F?&x3gA9b4@O(}I?@d~DNXM|$HPbbY}iDHZh1;43eNa1`+=`Bt$ZS8 zPa0iWr@IQ@*u!9WZg%zMxeN-rd&W8-{sJn6tN_4y#Cop859z^QUk_E)@cWK zjm%Zje`+)dtyR@5X)pwG$N@ z@A}2W_(<|4KGLl!?jj1tYiHA>8DzJXN0#N7-9{zP(~yAhMEe4tIgzRLIb_rJQMC16 zloc$f5Rz(os3YCw`ZSuaCeTNa{konF3%BF;DOU5%wmM+F@s}xo@-qw}TKMl(GN{TM z+Zo&R8R`}spV*DS0UoWAm^ztocRb7KlY`#X(1BJFZ$I{!87N#2Nw+G5{OZBooLI_P{x%^GuJHS&Q${+MoA?VGndj$%8wx0eGS;ePyF79ym~ zYQmE$1?5ffOr0>orw3PBgnevWXNtvkHizoaRPK_&gna?eS^`HV{Ks*dbf;YHT0m## zBRLn262p)2`5HQ^l0Dyprue8p<{jnXU%j)CvSn77%Y{5j#0t0lQ~r3DmB;BWA%bkl zsLj_sQ@pGx5efgA=| zcowno1rA$dq^pl>?(XiUT=u6?=R@!$Bn_#hmEyG-vDd;y!ZthuJuai>zI5PjqeR3^fmuzf4<5#D3W+JGE4#xuBl<+mD_ zWw1{a2mEi77xJ#1JNQ}VNX2^0OS5QC*GKlm zsdZRg2CSF;0!WHjj}>60;{DiF`?Rs0_CH_l9^T)_uP&KQr)oZwd^^+D);2Wfv199S zAb9b+W>06i)&CajD}V|qiPuHB^~K7V=qaypG2|Hrt?+g>4uyU{-^>6Bm{ZG#Q@+`d z_uDnobe_(w&M0)G$;i*X-?k}dZGO5trj_*bAcvc|SBE!XvKs>7`Tiw*oBSu`Iz2HHd;+@tAd@?yb><62G?S_{}hu;?P#xr1+u6p$g> z9SX{7m*^DNww$Y@k`_SLvu|U{?+Pi@iq&B#0|_ECTJfr396O%a?EG#P&@+Wrc@6SvWxkS*wfJ*nFKpZBsn6r(Gvvdb3su0H)u#WhfP@hZ=jG}d zmvfp(FX!b_vFe9geyF!`$Syp?Ae2hrokS&)Og2q&K*x?}`Z1ZB)9A|b5*Jk>cu|eqzKOLm(rmos996qzp`TV&kE5e++5aH8tsV1$M$f?&+ zq5#Uw^!kf2Bl7|k5uRZHxW4x=QUSp@$kBiow{N3cqGSb-NM`2wBmc7D3f&m!#h&y?!+PtUX$lWy5Np*mgE=-jZxR6qDm z>HVkwxs<&oC;RE^BS^0qznSo0*xPK|NfUz-g6BHoBX%qmUcniQ-Xr?~b*CqAGwbVnsdHrZ(={vP&y7!b2s_juhQD`>=16hHHxgaZnmd~#c zPq>)`Jdg0vkzmm{`V@%safW5rfnT>-Z@CaFI?fPfq#6xHFZ^>E#;`E`G7KH1pEL)G z(DhKil^Qu;**wgbB123ty{@w#1yuZry&NQ^;G}x~gspRLzu_W-i@->$UMi>@O(Z(f zt#aCnf{hENLW?uzpzIieirfVwSC$Al`v@swF%UY+_1Cww)=kaYK~lMZxz_(3dglvNs%_M1-zRB1FIpRh;x-17p5ABD zFTwIm5+vFn+-js_qfuOn&Cc1wjw1MCGFS|D$Q^MZBmOg=|KfD41 z+W!pJa1=}lWW|K^Jzq^!%vWnOULkdX`$NQc(Z-91sIF<tPzDM9onUTOB=X>fnj(O=r}wjgol9zYY_f+o>`kZS|NOaZ0dOM4bn;=sl9h-tKD}gYv1!AwdSr$IY?hlxc-<7 z02SzatUs3gy>5v_kinpb1{a;;)wB8~y4Q%^ZW>SG?dtS3H@LDqMN>W+xjmK-7(;k~RrU*FD&UclcU0uZ$6!4k(&Bzg{aRKl| zyLzx69LV|B`UXop1ZwSeg5|;Gg_Jo5`vJd-8&Kr=C2xGXd5_wtuh%-7Fb%{G`~sU% z{ZjPMp}Xg;2=8pagZs6kV*Jt+{c@3Gh8vq>Nb3q`Do6}hZG6(2*C`hq_StOjq- z+-$y*p?l{U4N5M>nVFN%ePuAXS921Uz{GUh9opLp4#j=x^-G1zsK#%V5)`75VQb?1 z$|LG$Z-R})++<|PHMi{Xr;WD(PN7nC^`+|F#PzQ^UKU7(){yue*`h?hL2>^6#blu+ zbmYL2h-iM_%`Wk;dJ~2xQucY7SBhUYH0pA*hFZ9^ieV#|MhVNnj<^#Oxjmz(&ITLP zU4vNrvwxraxVCDz0yg~9S0?Xd))C7rVN=KJ6BFO&e6-q(*VxYD?bigrj;eO>u%p-Tcq0~eS-*p;LEy53; zXb%Tm;(x4q6=?C^Q#{v8T!RNv)qrExVPI#Wh$x;i6m_Ll^|(q`F8q`?Wi(XeW+?H| zPiwBLWU39-DKyXH<+}}K`PbFD*@lqw2KsUCll{?Tt4Hy#^QffGntewwKb^aXO*-Bd zetO;at209DcN@3p`3ZlfO=3rIn6$)R+b_|+VAT(FDdUkzOpfOqP1U`rTZ&m)D^)6g za~Zk=+)zI4!ZjHga75`rW!dNk5S>P4UT4XCI~bS%;~BvFPySolJ@jrKi!J&wi09jH zf3QIJoD4crmCcM5X6%X+0N<4Y^7kMoihk3v4WQk1<+uGj-Vc6pYxz(NJyeOkv5Plm zo>kz_Q~UGwf(}cq_tRCDClwQgsex^6q8666;otFoG9UjaAvC+_QhqDti@%{+f3Usb ze5zdj^sSW}%^R4^t7o7MuDANA27?971hD>y6N8AimxTUsdUbiu8$=_D1!o(iabS>PXU^bxQ zx!{nINsA`gOye;3*vy7b(-o%wEa}`QxFF2$N3V(*F#hVUkJ@I>Eb6ElXNtSryLwNQH z6Wff#)I-m2zYg0UuGZO>R5S7Tc36&HROrcYP*~_j3CmA>J zU-j9l7xz$LcF6Z12|xkVJr!vGN&crk>H&<19JM%^0(!6R*W&ns9G+7p$*UL`m_$?e zZb9N)wMll5Ny)6Ff=+TyI;npSr%>Eh^1{Z-VR$bppAihyp}@p1HQ!C)i93a8j`GbF z5}@HQ!rBi96R`^o{du(zIS#Ct2wZVV3}lk(51R9))tml6hLXgBisYN&1cf9FE`KPP zO?<(1sljEC4>I|skB#&=@LC-v>-V9LLN>>p_zPS*o3Ppg52%82Yv)M-`1*w?^VXbJ z;fKW6{O7-Wcl3T7Z0`mqV8>ECeCB$B>UAhOAyR3`T2og zqybI72$BF)ckHe$Vd6v~E>mTSXAH@W#4&P>2R|5exz01f?%qTw1j8p8YT6?*bHz0< zkSSjW{~|}-V<+ZfX|NvrVGtU0Z@X(t?AMJY7DJVsPaP-g)A;<6f*<;}crzg361GAU}8GA4MM1j(` z69j-g3St=&kuq4wqVKAYDf?dIW|09RB~k8(PG5FdSV%=pRh8G3{{7ivNodAou3YNm z+agWi_mpGdI$ z8KY6m=nxct<0Dc=zxM{!?HN zsn^jXfAH<6f`EWl8}y?xTeie!@3(G5-1($ul%kE~cz_tALCc65rp{K@{1FpD4K><2 zTD*4XFYPm}vqjGJ4QZ`^d0?ujy;{7?^-UqL6>6~FD7l#T9BQIYthKQWHzy}~jk@ln z%FRtNoY(!?-?F^*Fvs8T!;6$>R-o0)!>{!Era0QNyL z+vS%&k?S%JLx5{u*?XRMg<#qgycQ*#XVV_XJEVtc15=VeX8#`Ym`J{on5EypZ3RvG zNH)K0j*`n2S-{JCzcnKagOb^0x3he;Bh0w?VrtmDT>R@cSYhe+-s-M{OO(HL2#4cO z%u=ftu|$z@4ytc$kVp*ZpEq&|r6Ey0BRGy2(Nr%f59}?`j<(TXa z(ib1IKkUd{b08`?F9L-0z1{N$pZk^S(w_{+zB>{lAbeBZzBDqnG(0l4eDpqopms17 zEAm6RIxQDm;IY)lM=(kWa&8#itFPTjr~Y8s)tJpS@RwQXNg-xp&q=I?BbNdWYX_5; zPY_zE95_f>F%m$~e5o$FUqSb(ZM%IW#Ay`)k8RNWXJnJ_{nb-?v~elsv;uC2jX+?m zv-mS_0eMeFxE0rPK4kux01@o@^1T-sL&t23MW9gtUP&5 zI*7I3rwcN7K3PKrfbBA+p=OfPBnT)j#f{gXB%cOCXH8~+*V3?6?b(`SXF>ipx8^97 zrf=5!N&RXktr3XF_wKwmn!)!@N5h971M2+%WFODQxUh{!hH;yh>Md@%9p+=GN@p*I z_6_5F-bJ5=K1=(>JolpFay|q0I=<*D#TRh(voATUqvL9I@cgz&Jf1>}6ZNMkI^V;p zyt>y-eVW9S*?<~WC3GgeJAX#b&JvJ)PVUbxEr~{jo^pOtc-6uiV~ENT?=djqDPqge z&KyG%$j1@)+a*9crZm`rkGgucaF|E#n`*RMp0&=q*6|28H4V7SEdAx0l8V9D%FIfq z6*-MpfA0jQn_Mu%1MoB#+B%m&hl+Hd6QjIl>Zo=~j7LC>1De^rN*j^`Sb6C0Mp3Dp z!==S>5c!?7gdhgPOU89`pNop^0w?m4L~yB-XLSFQhrSy-?LdVAJ+7GBZG5J<6*(<+g=MF+zy%RqjBJ-2nPw&nRlFfBFJx)8g?&m5T2D78m~x6Mr^i|x)5 zmD;|J`uQl7RON<&Sb!r%ev9^fAwxb|IYY9TwooLvBy$Xfx}mX(SK*uvs9quD2dL1` zeQ!~D6uelWl4HC~&s>pZTZg&vyt3wsgb{Z6N3hI~#KP~x2s!Bfy3O;J<%d)d+Q0c( ze4fxOET#~b(Q3%Sqbn|^Qy3FHOL-h9A(r9@!O~_rtgcOh+xVfp6Dk#_mcu!UAKplc8FgTd zZFXWr@KcT7oa1g~;VDLS)DEsL(G(;)HO;{UKyNKEkjlEd-i)7qe~zdh%#ini=$bFm z(zf-YLAUOD+Ng?G$9&7uldM(I>VuQut%PXL$>9V0FVz>2pc?LTuHpA%ZdZLy_EEhH zd_#Q^0*ddvlM=8TDe&c3wRjH*a#_$YUi;wjDy%KPu!Md4ut;l|63M;DE7B*fLMe+g z1ae-6(B?*hunNTA>RUD&I!9=yNq$vUj&Ly-*NS7&!N5VXO|x517P0xRQffeGB?NiB zyQ)MZNgnd|=Y8TW`a%31!AHVw=(Ud7V?hJOcqFa1@#8h1bC};=ZHG%PK*!u8sP_MfOpmk6+os8qCsb|GbBs#5uHlC z8+4nwA^LYK4iP@S3$d$;`1!1aS>6$2JyCC{L$T3ukstVC&H|_6c=S%2f0_50{#`D* zj7>e%#(Y2*k)_1T)~y13w!MRR+I(@gKFjyMY5Yx@*T4Cpw`tD2bo^^F%) zXTPeQHHIV&aHGsEd}&KKb+*Wd94+lfq`hVoC!N5_#w85oef3XCSRr-B3ytpj_oH#m zUgE@+)>q#xz4as>Sa1bDbq)@~q|zf&hqdd|=sQTKTAnZnomK@Vd!keE68{l=R4}5? z$aE5QxvDyo@sjG?xx$e8IY%1GCTQvurrYAyMg^l~O`_xaf}%T^$e|ZIR`msKYbEiI zVD4D7M?RMFf##Mc#eEF>=F1fK`mHNGbOOS!wt}D7#PM0Uho(je64_5FlC6#RStk6G zj2d55G9=xlHmSTSY(ZIJOvc>d=&giAIqWtPGN-bwaDBY{Jk-`DtdRQlO4!YZabGiP zEH~D@eS+?vr*~0PKmvoQG*BWY#mI$@bc(B8smI7eg2BxgpS7YPg3~a^l|NK8r!t7= zWOz@;X~X%t=}jU_BQ+?A6^8&Jkt5u77Sg8LdZCJ)yVX4O3F}7Ee}JX2Y)xa?WsC*1 ztuNNKX)m73n$2ySN1?6WWhbq=Isws}^%Tt)jrVebxKC*WYPE)!E^-ujIk5DC=Lc=! z_FdKAZ^w7y<;>Tbnk}OakpzY3bsj@1xK7q7d>F}4)~3bFD`JZ6Fx+7(q9J@_o=1=3 z#1hsQxPa+yM}j|C!*D8MY1Ec=pmd^%7Sb$t9EE6*T~KOya?VhQiltSqx`%}Fs3)B70~RTx2K`75fyg-J*w0AOAmyT2OX~EGwQr}T5CTwR1zQgJsKMt^_8>v&j(j>)3g1p3q zkL?=hFTSHgKZ>`wbWGge)syAYjkLHYbg@0FQIFZn+b$;?e4VLoBCtW#8iQw16&WIx z`?&`*SAp2o>+oiDbp%UrEEm__@asbzObn9|L+8_z{ zKT)AuQr5v0lYO|nm*0)e3Z3_4|C2}b_!ITVzQJ44 z_2T8`&cTxdGYgnZt zda+pe)Jwr3Z|+O-Ua>rB%E1s^vbKbp?NpX&Gj|F-Nx z_NZ*aLE^|vC7bMhgoMmv?-8=Ia&VBnN3xE+=dt(R=h(8hey`r2-`8JoZm!pLJ=gv5 zcwQBzW^K*q55s-GAx41s)u^!1ok7-l;)J9r7!aADJEnMb(VpC*$6CWm_HbY|f=9WECeyE1C4^V?zp< zT9UTGCzhDVboL7+I{s!a54whl)|XJT4R{JZ8g9Z+*l7%HMJ(*kMa{ zN0z#qd7xk2|Ew1VuBGF7`_6@g&ZB>G1T&T9v6g z>}RvhQQvyoDiD2GG}Z}|gQ$pT&UoC2KHSEKsywtwJ&J1o1c`3o@CYZyM{YipDy1jd zsDv_trsIL7KdeVE#kPfI901qpwUM#Ay=tBKe3I$2c$`IIKwrMQKqPd&M-39yRLI*? zJ9{Rw@B$pjzOSkvh*O$U+H5zuDQ3HH|JMKA*ogzne6WcfKEzl;w!X{UdRjoZIy&Zs zg+|rW^zje1(d*7!tt{4SDX*eTY2T$^4=HrB20jX^^3z>Ws@yK}`fm9Ufw{3`G%pKb z++rLN6)iQhXngpFaPy-%1^>fG$-AKD$9Q?FU(bj>watkz^J`~RYTk;8oo>OcHk*7c zpcACW#{_uLIWr)`OmZfQYX|EGVes^m&6CikiXEp#?TZdqp2nr2CBqWCeQC! z@G`xaV*wv6PC}hH1%Nus@#Ez<_^94fs3?>@t5hdFpMevk!zY6P`XCk%yVdsKS4q4^ z=YCQr+ryo*darwz?Hv=K_3{odq7L`ir05^C`+CGu8YdjJY@q zI{j8w#f=*|^EkNG;nlNq-;wy}&k`zf&YLlU71W%XQt-Ku; zsKs|qx%gJ203y`qgXacMtZt%bAw%|xIWkqol+p)u#XKYqW1Fppd9oe9{Jx^dQ*_K- z42U;Bic))xbjA2+H*$6o&-h&n9!-p8uUd|-{uT3kYw=rk(Qq=T(L0U^MH2%S(yI`B zvriWILa(H5s3(3tURtpkj>TrL8`)Ff=FYq%M^gIVu=H3z_R!}qJ^%>ENL{vKm$w`) zc~KLSl4|#>uM69?c1K7SOzJFVnz<{=z?r{zT)}GnRf0pMa+ni~jp4K>g{yDHtXhS$ zVB?LRS&^v>=rZ|H5 ztOs@ZsX>XVD)t!}&?!bhND-A49U4vgdi1YKUt3z+?n!c|lv$rZ-^HVw-FNlzB2i28 z&mYN}o#C}SF4U%k71R@=vv;^CWuH-n_GW21@V&}=;?$_tmqP$@UN97WVHVf;O6)XI zwW-`9>f+hf84fL@6(I_yr8hpD{Q#yYTV;vsA~NW69C-U25A}R~P@_(-@E2r=uOtUh z^Qcj8t4;my_^e~AZKk`^ojAnLXNs1WE^kkgN{yR54}vb1GoGJ<96#bu&>z8_NSs56 z$T%^$u~2&_{shdlFvW{2=e`d{uIb!_b4N01YYt_wu=V{}D#NjvKjwHJ8tGaY1lZpZ zqK;FU2BRP2L!Fs2y+Lx$OjI!Fr!}E%h4>(XV{chxI=CDd`nh;pwKDiHUtM&N0v(vi zttdcx@+}NNkjAw1lK6}WftqGPz-_6q+;3CS!nkJN_jZzwULPj0V{<&H6F zt&CVeXw}h4r0wC&0lP`iPp3tMB-~Y7s`6zFGjh`jYyUnffSFovXQ<*u^P-I0tMNU# z$lWnYNvxvc3OaJ6&rldvB?vpLsg*X z2@~uT>m3#fi5LvgL6>&UIY&R;mXbQ8dVj1aqSKq(&~yS{!ucH+_NzKelBDrsF{(KF z6+~yG4(W69M%aY^I=Y(CvK5XM+2;pvDYV?1#K^Pr_AxdtSZZkNLKW@!KgbuzHHYoX z{>qz=dEXw$(L;TkREB1%nSZ{z9y8F#=B!>f7r zH~$0F2-oN3rg>7>c&(D|O}ClK*4y{yEO(0^VjU(lXB$5Lnt4@?T^5t&v(7?YbI{*# z{@)>4#~`i|HcZ8gRIqhp_qP3!7%8$LVO(f?HT4-6&{(4suWB_c#LRE}-;}peY@<8X zPK;&F@CabZGoS;!we4kTui`U{`_#${R=Mdv3A)(fb~gGnU=AnrDL-dBV6cXJp!54F z*1$bQZQ~*pubUG4LCW+2mis5~xDyg~CCm?R#$4e9rF){B=#Up@u<=j9Qn_o8p^#4< zN2EF1by*FiC&odBoIU#nh&fxXa|V+o;C+cL{uHy6_5|L?%ro#ALfSy`bh*i8rR-1I zAszsAizFYn!Ovj>lv7aT*{QVsnm{cv71E@_Y^o%?`8KNM24J2^RZ<09{1N{DqLwLQ zKmD46j^uK!!^YxFB-NaashLj1qd0LUo+@!r&pY4ycepS%s!_KD17Oih>n30>NnUzz%qS-0)}THaMcEtCis@$`{P?VWjE93DR_b z0yN{Cy<&vT?uPL^nX!C|FebfDcL9{kas>CrAG>dI2Q$U9r>yzUYuskY@%{w_;mRoL`yw=4lGbm3L zeGxg)VGNR!PKr;h;nwwOy3iGLbUMwQHa|WGT1AI8c$;;g1A!Ncp|5%n+H2Kq8H$JE z8O$Mzl&;q;mfgR<+sJNjod-EDeL1#u8XVNbH?P`uAP@BipV<=w{&OXZizBJ-NZz2U z6SRGXphZ7**=@^mJzx0PE0^m8y8mVkY$lhk`x@%Be#A%@Ft>kSkOTzYc-&d1QT;FiN{hGzVZ`bgqdmmc;IYuKU zmf78dz&@W2>Z8K@L&HRY?;-LIbx=PQMq~A&)Lgf8_+_pu;cw|!Ibj}Vm$PdIFS90* zK9;_v#Y;WUpFVSy&A(&u=GwPymSKOSebn2FzNP;Q=B^4Zfm*RUp`aw$Ro%((w@$o@_N8Xd8y`KTnd%_X(;6?!GrS4WI2)QCY;wX_CQboIw2wbg%x_Ic_Ck>q?C|q(@j>@pbhRZdMuQP4oK|G&6P2V1&6R4VLJY zolZZwh7X1MXA$+rcy=@7RAvGuW6f-e>@dtq)jkS_Q->EmkJwEV>{U@|W-JxpdHEMA5I zW64<}LREy7E!!xhUd7O5bT-Wx11XENpZPVtG^C6j5R}m%jbH%?z5ha=IdOl}#Zs;4 zoZ&CKyLvYhfUW=puo%^^y*GVv85{r@atLfM6F9HN3^?}>PUp~MLCcn#3Gxe&4 ze+>21#VVJzljxw?_y5UwL|!?ZbHTy9{y6bj$14)eXJVH;_Na%d;^3fk7deaycoPk4 zKdPg&Gr6T#8mhKE-b%)FcjT1UI0$Y@zGSZ(qW(Lg7tc2o1Yb07@sMPlhD*@3%7Al& zh~mz+@JsTS3YY;hn85fp0Qyat6YyGGhO)_ZZ@{>6lD^k>hNGRnmS$MY!1&CUNILC!Id=mFRorzA8p~q$| zIjGiUH{#IPW7?>~tjG0p#z?w*+)QzWU#JkK-cTpE!4$uB4Sk8dxfl~v}Y zI1WFK=AOO6#SPSky$92?k0gkG>s#iS;vBM~$Z37t!TXrB>KM;;*zCC%HDO!w<=Dp1 z5#u_$wbijhibve6=%i#E{_3rju)u{JG0MB}TA%gOOCU--b%5$7FYd-{(JnsSig->8 z9Tt;6u1;~Dz~U`5l-&K*_x0?Nb2RX&odId&CnhMsi)>CA{4YOw2AoqGjqTFepK*tK z`e@b&DfW)z1G6YRve!6uSAl|Ndw zdpokfzJfeEnqk8~Zy@*bl>i(}5DMjoj*DSIqMIp1i@cNvg+){ioASFqRYq6HU(wqQ zE>rV;+xq!>ka&{acpOj<>bo|VCA~em+4vf7I#R!=ONsPYCP;q%MWax2MXi>$zepTq z_dhDjnD=<1J~JYF@Nsc^u-Sp1s@{6EQYODLO!gOiX*Z}Yc=6*Z|A?lTluA_zUKf!Lzg`4!F zv2#fI&HDIH-;+#Uz`TAr9;9epLHLB3wiOS!aQ!_hW<$3E!R)^3L3~#~ZkbEeHP)j1 zm?(Dvbre|x#IB2eV4nZFW9P>Q+WRY@Azgf&Nc?XSsS_=J`iBMJLVV_HY@0T^>Fo`F zx$X;{oF6O_$;!(1sZHqu)&kG#V&VA4(mITk7(bW&2TY}^%|cmvOU_&0$kvDOH25cR zD7L|$RQ5p^d5+kFoSoZL(l5nP;q3~F9A(FeVo8s3vJdjfzN}$fFri+v_I=j+sW7b` z>f`mrz@Or!VrUcrJI(&6%}6=BryMjRY`Nw*tYIaQEM@G@8-!+#PIWt3Y=jOFAL_C5 zW7jA0rQhcMm7p##(`%vkl+)fuNzfYl=Z|(vymhYJk1*0#$c;T;;^PZP7EBD**t9JH)p0kDv zKvc#scnp)a>=?8cy>Gg_A~Ev^2l4u}5?qN75*=sD;mUcpV%Wi73sWgKy|B1x~Slkxx zen)?Xb^-e2``bC2@}M4OlSKEJ&Xaz&XCCVU_LE-}%X(3p;aK=G9hV*#?%hL%pbSoS$zRVZ5s&e>Gw8tt2?czlcn68!veuCK+8wehY zr00VD_AvW^VvCSsg_QLi!y35$@s8b%U*?RNnQcEUp1>L%bdqlUOlAm((!B(D!9^A$ zP>1a?LB0%H**0NI2gcW8UX5q6#y$s9J@lXH)!$QmTE1&z?Q?r6Px(0r{0=N`-A;zt zs{2ft+k1EJn8)_KpgjDuUDIYD_|V$}n3-*|gU>0|QbEh_v|TeE;yurgsIf3Ts!0e$ zc#=T8i@!z_kW&p)i8SpZ`v*r?M)gMHN@BE#VqGfXRk@zu~TY z&ljP&k*zM3Og8HgD&J;BYgZE&a>RAaBoUUw?TwSsiP1ai@1uJT0RBpU~Y{;CSEf zHWUZBzq@mN(r{2upYCPHs00J?Sr=%>Y3ZhBvM$u_W++A;;^z7!a;2}-GYzWF4RF$? z_RSLw7NT3lPVLWCO*=ZN)jf&j$+k{t_W)gFS!ty8eEW9YurmJ!UP`9~SNvnq^* zmM)(u&YXKE6N?~@Fr==wEm4bMygThBb7j7Z{Kh9=heqm>3-4 zerDEtfs-}n0eNGimiIL`U9Bp zo1Kf?M-Lsb>hs<<@zq#*Wx1ZU9a5)C8^thG&sH!8nZ9nH*K^fZ_TI8M^6BX?Y?QO1 z*uo@*gxi*&o~gW1qM8F~kD0nC2I+J11S{w>RevOEa$Vs{2p) zvl*yhvNyBQi7%7+4ju%8U+)9)}eMN12 z&q5e1{v)a$vjDPxlex*sv-)|vmVFijWB1jx7T??H3ZEX*&-V7JbcNdsPF=ul8ZNuk zVn8OV_0X|ocHlyp9JXdsXpjVag#60SJWOe@ACpoe2`qcG%XGyW18$uB5wXOxXJLOA zdy&&wkg`7EBM9Fsr_Q#8*kGqZKJjW-2{WP%OXXXijW)Pe`i4LFT!K7O6-;u!v(ql@~Cm<@!<4n-PwW#{{wBNq8hACqF;16_vu)E3Z z;Wgi~xk0nB`Ogl3+ONP8QYMZCLi;wB%_iQY#Ioo~wj13)6=qOpn98RV`KxC2mfq8u zKnxy*2gRauBo~13^qFf-Q5c&nxdV{JR6_rsj%?KbNw~kC0ck`@dHG@Xv>|kG&t&m$ zvDLhrGkY<4O?7o%@vo^}PeKcn-3udBE+j|uA2)KuYp<)mBZpbiN6 zcjcu1^Uo3B(^;0d%=>)emg?4;OjaIn9ANi!?WLJ`t>K<9CDBKQ`t`5-k#VlHZw6S4 z2gADNTu2DZes}lLe~ZeEdt&?NlWT~C35B}+;RBI{Y!*xVQ66X0RO{si(-&n1ZqRUz z8%zU-v3k-zqu+;PjnMwElJMbT+gLkR{(L)^Jr&X~gzct%!JjFVcWkszp6&QN7MLrY zW}C1kM-AeMdVV5AH6HLuks5RZdM(jA6WWEF;sVlP3Hzx|$rr$?baHbp~ zL$KzY&W%=v`*QuYoV zv%^?($qM&Td}6+t%6YOkIYmN*{$Oi&Yp8h+M5X>(OgcCKDh|sY36F)FF~E^RDMSHa zL2sGjfL8eA@J{mbAnEU>u#(5-)xRuT4Lu__25*Pr#X&lh{lWv|HR6$&9j~R6{TSbt z^Vo1%Nb$B?8QV}Hh4GaxS=->*mBTHzeBvEpznNllM!Tymx7yhVPq|jQs}@h~2XU&k zlCV)UH%f;deBxKl)fW+!9OD%;K~L`Kx0wCg3K+yU6Es%p%wiN<7evY%1^8bm zZ6b21Jg$4eLet{>Kkc93ISC}hQ2WVjX3hZ?1HkRSL4OMXYy5-`Jks?rNE2j$4YZdE z#&S^tWGW{l%W7pjK-a&>8wj(Bcv;$067PD$aiKNOoUJKkvVO5dA$BOI6*rjVm+zz< z_Y_9=oFGGH1li+9KBm^1L`a!yc<$~DYh~5PW+7c{m>>aU$9%TI-F17Xwv2O;j`991 zxksx8?;n*K1b&gA^(jKC^Vz7PjIBy^7P>a*(t)fcKCts~tM}jnPn56x#m{MXwr)se zA|-NiwR4<@p5NC`@nwSWfBJ<;62$sYqRGyoYTH87#Uj!A+}zI(rR?tvKlT<*>KfI! z>c)wPtH}R;N(~=PMtf)jPy@??`$Jj@Bea7C*pbPpra6vapoR3n(;HIuZG+^o%K-&K zyZD~k`t@pTJC78sgM^WKWDyJ31+IdeyF4Q}E5sC1-wJ=sj5PGOo z=Zj|fp-<+GVbJhY-&gf7c%F82baqt^QQXjIhqYo>P3*S#FW006f&_b(i6M^5l=xJ^ zXG!kZa`PYXcGsMD&)&r?BwMBv@TeHa`Xf{g@5BBLG-%h4kL*d=Aa=_#q9Y$Rhe@k;^tAlvae@_k<@w79Doyf=Dyd#be2&qeuHsScwNc zVt^KdU=d6VDcFVuevVgx_tjr(JB~YGwfb2OOvs~;J`NoLPAd0X>s3HEvtw6&((pUTe5> zFA<-+!LXiXdbNPqzGBktL6?Z2{y!fD;$DhjQl;pZmQo0H!#^u@bp_CJ-6}T|eaR{< zOib_#W}Ptu2nzOlfI}nO0W!pEg&@S*`$jtRl<}>d6v3mmKt$s;_T;w>j3WH!Ae|=y zMgG9=OFOlU59j0iE6=XNL2M&;yj|3@Rn{BM1UTlLQm`jdYUCP70Y)QVng{_Syyspo zCtvIK!*19sTl87(BhsDq-kmYG>Tx^}H4XSi9Z+{WCZc6e3gG^m=ZEw$2un&BeFjh^ zd_@5();Z7Af4-JURKNai1VRiET?QYYijPpYJb;axJh+|_KTVUO6(+|BLI8z24U*AM z;VM~CYUbMAeBMaJ#(1;l_RW7;PU6$QH^-{pT-M)x4+8L+{4J-;g1O>3WDRWSiKndl zK-#r3`$O`HA{;QkC4Li8m0HBTu{}>xqdBd+v&?q_Y#J?o#K|zYP}Gyi6d$$|DlnhA zJ)E|Sq+Tx`7M+oO_)a@>Ewgb<;8<(DtC{-x{=qAxLI&b!XoQ&zrsy9j?U;NKe&RYV zYb$)qT^L#ExnLO6`GcEA&AjRFr9`X5Ht`o1{vX|E0pQy&IJ32ytccAPe)2`Li+K&P znF|t2*dmE@?}bdV+dJAjYh#gDMG~4*_?r{9+G^3ps@Dy%O+2S*YFG3Is%>?hie;J# zHJb{!MU&QowF~#yH<0dAT9Dh2p+{d=(m~x;R)kr3fIXkS_+OQOy--*JM>?Y}oo#b7 zf`YI4?vc82i`KVhNzB9#djggrB2GNIbBsjE6@ywPXm!%uW6JD6aPMinC}wcJ%*xo& z3`N}+SMc{9yjVL1`860f)RnmyV~+KnRARyGQ18{BZWRkoWMz| z9;m0V^AS-B=KQMdyvl@KSazq%TAzvY^CD8yt`C@sDAwZN#`j6o)xc|=^6{U-3jXyA zCy#+A#yy}mIfICA>)a1`SqkvhKFdl=P5~?5J|B+=7V*CBtYY{DQL+2 zpXSAQ`}p=`xX0oSSLbfpugUgohhy010O3;Mb8}wMn1R8|%iCvNVm*pqTkOvU01j9NCp*7P>cQ7`^vvpk#3VIw zx){j8)^VY!gvGpD+Y*Cyq;ttV1HZ+It>~4JKG;=H6I9`&%OSCwaiw)k3qOimqyQUK{O?#iTd=E7`d;%X2rYSNYz|0Dx&s%EitjB(QQ@UtD{)@hNh`rd7-#x;C~nu;?19n^k)l^AV+1CQ zn>;@eR5q?TRFs+Otj(wek6(gYZI3HJV0*zrdVx7 ziVhJ$GzUOEAVV)r9ax%j+Tej8LM2+GKMy5sM$)t_OmR5q$41-GPec61O$DL_Qj(bb z;(NE#=i>dro5~v|N^QRUC7z6Jh^i!!{G$;ZwLE|kyqNa;t7%-Q@Zjf84W>s-Y`rVp z7R_1o$wsOhS{R-?{QfWo2RVAviu$r0-gK?Bb1w3eUSs7YRRNllA7!X6cwyuNPoN8i?k{D^M)geF`-yE?Dsob+@l(2QwCq zzRV=01E1-TT=fZ6>wm5;=Vsw=f7sJ+7~}0r3v{Qda8dUcevVAaq{vSeb_XpRz<*5$i$|8yQq1FVE#o9>g zk{^#uY01C1nO>J;qxaTt8SGy!{0gm$Wul66xU~;*A6s#DNqM4%R-luTV4*DN)jb*V;t8r_nMwfcRfw72MrG`Cw}Vi6i%Snk+kUf^Iahp zQ_i_TcO`H9R7&=+Lfe}xx5!2#Vzi#4KVm4rU}MQbLS z=t8B5!den+9zSYtB5_GPMxZXZ?0ml1bz;fB>|3?`(vCqXMU>zNp8*~R+~FB8eLXv8 zi%9B*_DdWO5iK|4{ktD|o6P0P5-8XGP(>yae#meeO@A(=EY5|dv+M0K#bf)rI_o9# zv&r8c5S3ipT9F7ZB%-Gzg`H>1YCqnKSH)hQ0u-A0kgsJ{MJMOSUvht@bIf-&#*=-S zp1~7UZ*{*SDZ3{Lis|!-EYY3^%8nq8)2l$kRQlvm?JRWA7d$fwK-EoHAb0dhDd5t6 zzAvJ)rTGGW9P|%pR0HKppq?11=n&yTJ$|bAjNc~3^N4xm*`nCxo^P-(2Q#WXQ$%gb zF{dS)sl4X>U&bwfI2lUxdt_Tyw;GaBwdg!P*cV84B(8`>)4SRFz&^?Jn!j3Ay=_;5 zy6vGIsgQ~5+)AZ1HSENpI(Ll|l;mD5{2VIW*OK!j@VH8z{^F&x^v~D3SpG>iTGG7% z{4_5)7bVioJ~5{)yddr4vuwm?YJcw$5%~1G2MN2{n|w3xwLQfFvFh)R8APZO>r^aJ z?+hCE!l5H0hMyN<9{G`SjIX22A4^UUq)Xh8W8YL9yph{QfoS-qZ-&TF4%f6vpVlj7 zbL6cLYR&va=^U&N)sJPw8a{s$Ex2Jv)&{D+e)8hxxiZTKueMKr821i!3ZI`zaa(2b z%aG_y{w>sz$%&BERIq>vdhD#g5htEHa3_UBJ-JY2byvM9_XFdhfhm0jvPn#JVuzi z9eb;NfSPq+o}uSG;6WKKg20AMX>N%fc8*EdOX!sl{mbZT4h3ZO<^c<-5ni$i6MU=4 z(;U!hUv!0C2U zkEf^K9D7%DWL+#m7lt-zqPm;Z;FmtjUy(&>uf6k7ti~-$v_?JF8H+ljL?*@|3Xt5T zY~w3E)LAyv6gp?m?Fdtr`py9-)ov6V z!f6jU9({Lw{=%9FCSFJp-|6^Jb3Cs(^Es`Tdg}u+%dVQ1H}80Z<=X?TyQx~IiLdK* zD{}XoVo7}_pl~kG*Cma;rrblk@sBIg4Ae1Cq(rd9hW)|U%@2R4F7!BY`Si3c9PfEP zlGIos#(cq4mg*+UqJ}GU)*u^NMtFC}Eo{p#3*uBsVg>-67M6lvnOcwBA8212b(&Ii z$ApGaaI{Az3qh_Uw?RHTr=R`CrT~#zdHM^F}#HI zQc70wLAYvIJ7W=R-=G~+!)R)Kpw(lSXAIg-XPsAquDPYb_?HMmvwJp1{U5W`?YEzb z443ZLj-Nt?!uC?S*+=?b*AJ)vwyfx3c#`_o65vALYVCa`!1$ftwt~x}@JdCWmGqyk z6llpj5}x6HfOJG<5#+BQ4XV;3*(_sU19W`*y^<{`R0R*nx+zT8H9(=|@89MEZ=7^! zB_G*;dUiAEbLagqqUy02Kku_1`l#;d!{*(C8ZSRzGNqIk1l@Agj!oK%As%cW-F5Y; zc0xR;dQ%ysd3+h!lZCdvzb0u{8yzH08|RS-lsMEZX}H#4GRf_|E;E;Pj@P2e4iq~l zg)98COg_%~C>kBPo+O%^jmZkb}yqy4jP5 zNT7)mSR4Wbs7@rdIVTk!ZV(HinbedY@=~4|cL;m!s;nouw*ji+!ho={*2E zI#;=!x+ta8d2}Obji6{`Fs;xhyJWz~-fVw=Kj!T(<}@Mn)>Cu{ASNJk`y21O#6x$gvRuqfih;WIK1p^{%BBB#px1~DqrjC z{K12^jlnJiXn4HBdPy^++O8&n3oR`bJck7VjiNRI=#0E#V54DR+d@juKffkMS{S`ktKst+ z^}hOLu}v(KZwQFW$YI!{AxN%0qJog^mEaXbe)}UN11$2tP^C3HUY$>FtKV|AZ|~;} zfvgOWNnNVVo5e`}K>nhXh0zRkstsU7ZkY5$bW_EQCfJ?&9@|G_%F+L+sbyf@tUgwv zNOqeWQRBU)4{Qs-q$!#d6x9v^e9_GXFD_H^lvDA9EC&^|Q=^{hRnK9qcUQMHdYojv zyNc{I;5&2Wv2Z9e4{0sjm7D&Csj+j%dkS_GqZhIJ3iOpbb~to8P=f}~Sn?lp$Evtr z7A1=i1w41oIAy|gJ(q0C&pXIgn@I9~p8LL5x5b?t(6cO=r9@Pp%tZpEl2+$q9DcZCnroMu7*O{l*-4;i`-^N%IWi6SCKRo?s{_9)SW z7@aC*c&`!6G+GFKS*+(pSh7_GmUh;2w9tWv+rBOy7Z95BZx_ zW#+eHAj_fA&q&vQ zB~ktDkJNI0IA^_5Jw48N%2GW$ZuVZ~1SF+JHq-wn(y zP!rbUl3s23g@neq=WD#1ZdQTS;`7WYAaEka{0k}A;2z!tRKq|MM02w@5W%|frxot< zj6;qT>BvOX-hFkw{J+A7YV%4tmFi8ZMmgdV#^S8C*-b2Gkzr+4 zud9~F#*SZC>l*=V0N%&X)Y$a|6zr{WY!Ryk+0p&2hNn8({)7JD?9?4L+?=3^vmg4a z0_S5_XB4W9c8m2c1HMNQCarUpQ|*_I>*Qn--qFHJ8Xq7Xi#*ir8v)=~46+|CFgeNE zmzJ1B-M5~=&rrWt2kph7TXmZ~l1;ZR1GS$I1>Z}c;#OmTGPez$D8zG+Mfv%2@td#* z>qc8}13+z4x4;lG_0SB5a@_|P#pL~`t*cnO)YIs6F=5(%=3x_bl63(oC%2;ek|Tp? zs3an9hs9?y6Yw9U&?ySak(pdx&LFP#1*#@e%M2eC`%}h}WD&Q68X5-?Iu{&>;RLm>&mG!2mIW{4-FqySgOgZ(oLjK$26q~L3iBL?`hKJ!9Fzy^Br8XrMliBLMm>};7qjiYL&UzQa+M9t*!m3);_o%K^u+1mpRqNLYOjb7Zf02Q> zC#DAr;J%T`8Jn`|Twy#OvUeOy70%mZvMhBL9Y1)=>ehDee0(w*51UO|g@#L%oueeK zcStrjlLk{a-G`H3=z{X;AJ((?OOrl~j}{r?Tvv+`2vIpQ0i4D5r0ST5q|m$$sMO&F zYR3B8@r=9E7Uu3!cdfoqsoPBRwgezP)^>Fy8W{9gKuCu}@$oh28@ODsrWHZUgb@mL`UKR)=fsq8WKo;}1@$9Xvi#)AG@|+$zgZ$5=KkjN%;+aThCQ5uig^-wZ&! zKt8ROW=kf-?)A!wG3OFQuR|F)Lmw;nLZO6trU2F2wT#8e1a;KkUuT1RDiNT7EV}+9 z&@<<>X*h?;9-BWw>qqU61^in!;uKfm z(4kodT$B4AzuTVw{Ufy48ZIV2)-GF#+!i^G$qx6bGVKH}?}W`&JO0%bPZ0j$iH-UA zuH*dUM@~x6RBV%+SZkdSr$T=r-f?IH;c(#+7*!%|v+fShB<$7uK3ZOuh8Mnnl7r2| z-jsCivSRfcj>~u4IKfFaGHrF_RDcbW%W$Hz#Bek@#-Z`A_efds=7qe9y%L%;}y&@o_8=2z{d5U5Ylb7?SZtW z$T3o_Q)2+=taf6Imik}ot?_uXkHas`AJG7;LSQx_0d}UCIyk)N_x4rl6ZVM z^KtlJ1fb*NNq$SeHZU-#{MONkIDw3=bsZTx#l+Bytfs$>peE%ttODWL^QcN}Cdh?k z&M2~H+$~s=gDwEoX?w^S{kRr?u~xxAeKQjw>Z7_bRD0Oxc>F-38&Z~x$vMkt@g)C3 z;{1n@tR7h_!ZL%%UW^47nsL*P#)1uOkS(30;~;HkD-rv_)W+|rsKX?lK1SBGF`TEL z1c0Y(+aE~*j{DFi;t8*W?Vwf<2C88JYV0*dzAGb9G#n}-C&%}9Bvg{}e-i_(N-tGj zzT0je^i=op+586e4ct(jNkB%ZhiiC$-J++>wFdqHJ4 z6Wh)$s5N84$&UMpQ zyd9Y)`to6-N8FK26L!dfrPR%AqfI%2U2pOQuMUZ3FSaDWS-t$ak_jhoyp%08RB#RtFqIhNC(RJv z{cCwBzEa9rdFyw*bVDAK^Xx&~8#PKL$QxXOz$}^vC=giGkz;FX@3tpwcW9_g=y%2} zqopNBDh70ju={C2@iT>oZ0O75rrLX>$!(yL^*O{oZSy+QFkUVL{-U+cN;O(~@C%YDZ?08@t? z;my@qv>7VkAx<5cGX>(>vC!f|BVV1I(`LEAAbH}!UiLT;->SI|u+myyd>{_&2k$Ye z9NVUm`lgRfypH&pt%gO8>o2#)t}^vH0!%yjcTtPf!Ua;c|JcjIh&B+BN9y| zPk7xZtI&-f+MILB_U=dzaDe8#&6^*@OLwkp%tnr~(WP$Mw)kb#G@euvyo6krJ)lUmT4dXoW|f#O&ez8s|5VAPV(D zp0kQeD$W}^Jb1XHg>`_L`F*roRTPwODZEWd-Jc=7r6^eiJNa3T4Ye%}1^9#$gFrB< z9|vkZ*+BvxCKtZ_Nh7TI`wWs6jaz=m2h(VnyW#KUlkb`f00ZCHo#yWYgj@i^GTpa+ zxun7JwX$;cv2lt$R{_B)1x@XZLv$!vmD|fJNjaD7-Uh4Y+_zm)1wAq&Er0!QY4bA> zcYiwYrO2q;?=C|w;vPyQeR)M=IY29MrPn%I-jMjU7|22weqsZv`Mgx=Vw zQr$_vIT(MAvbMHPi2vGXVwMO|k;bC=U{s!8u;89@n<6tR)%+Dd?N;37aEVbx;!Kl9 z?6g2DO>A;$w$!GU<4(6+HABD!x=Zo@i24e)D7)`#x&@@A5s`)gL>N*;Kt)OE8cI4x zq+3BrL1O6cZboV-si9L+YUu8MZ+w3L>*W(L=iFz=!1#_{^+P$8fYep zb+SsGqj0HxWS1QD=rtI?_CLn5EWQwHmv*i3!JgwdzFfx4C>_zB(f*?Rk(>B0we&#}(NTkL_!jV2t_5>tZ~Z$yxs0#u~; zOgxRGSe2X08T4Kk`BhdYPbqB|k^J+gdIN=p0DEwyHH0{GuVTob>NYIv*?SQ6P5HPl z4DSWp*D*KK2j;L_K~ZE)J@5uyhCj z*FZ9#lDJ#x8!^II6{fc!e0X(%@W(`SQSPpr!m)%mr~PwHml_ggk}T}N<9R;TL^8`1 z0MEOeb6J}kDo}s$X={X1_mEemoB9L2olo(cAG8G6!osfqrG0y)1sxNoEnOz?&?4C# zmH3cV9(g9R;IYZc-lF|E)2^7i?3bE9+`KQY6(~=}RE#$cYH0?q%mcs!&JmQG1~sw_ zBpO@-F^XTbRvkZD4d*3G+s@#uy%WRz9l=nBn01--hPMa8Nu;myTUtbSCtEK1$3*7c zmV1GV_+a~|5lqv|)wJ^%L@n9ZfQv$UGJZ1I<%1DMP-|y;++OWWZs_Wc{Q!g`R+b!F z7u5Q|aAD$9+Z9RFc8p-cay|M>O@Y`f~ZUA z8r*s>WQkC1V%BT4=1<#YR`pCg=KY?E`v)PQxgol{@ zseIC~RoW2aqC3fF5X%-`2@B;$r=gPbOp@hka#V9S_#_2KYjN_DVa(I!xa{K3zxY*H zR0L`JQngsEn&(hdQgS1kCgr_yc6_6*40a!7OuJ^!E*Q<7Uosk`%U&A*MpU^$>?I>H z@j4~+__`RtwO{^#lumqQq5tYUEM}>gPzTfz<*=FB2T#+)AN`I@N=M96H=lncCPB^n z`u1S?9*pBMdF|KZGI`|R<%ZJ<9g4kKBcY6a2;&Z__z7R_#e_c1KdKfZ+}-aWw5BZB zBhTR-RcDN^dSq#3uX)t>25$ylEA%eu`GfmaWt2W+TkNSqJ^y0-=bZ4QSgi>@U++rM z?Glm>l1r5Ze+7+;@%TaS~^Y_l5WijYb83}cU5uvd-Y;0)l7cDM_i$BA`GaHcP^COj~qua z6h4BS*f1TNM}xK|=C#;b|HMZv8MLtnXHUEZDaank-()CbL#H=l(4fq~_+^^_`^R{L zPv)KCK3Ax+rc13^(~oUEJv{|GF1~oE7_ABMy@13-rJ)){YAR$w4$j&q&{`B@$E&BX zqxIw`8Dr(r=A7*5%4zeU^gA@slj_m9WZ}=Vbhjw!}TiM(#G!-oNswAUM>a+ z7fm82O7tilk!F?Cj$LlVEt-CCj^-v$k*OfhA@c6_7hockGdk=i6qzD&;RR0C@P`iq z?oAAg$fm2^rN1fe)4sq~P5h+ib^$5kpP4~gXtn}f#MllGU_!LSFO&H7i}X5OY??Re zwUOr6S4sY;+^3e7mMRy!6D6K_sNbdgSq9RdueJXxJYt{Q5Ani(OTSZ2 zK&t-Whhn~dhpqHMJk~NxUbYZE{r8wqnYZQva0n(j4I>9Ok}dDuAQE$V^HK-Q7 z!|qrRp;&dfjw$mfkTD{!kzA13s{WDM-4s3f0j_Fsl@)SloCSR-Sp1ixwRP& zxp?(GA~cQKTp%8wM=o$OgGL+qU;yw%oLEYh{vvmn>?2Py{YM@6l&5$8tI6Nx{S=;7wdgBL$1 zR(jUv)i@~ZwHrRCRK6(6&nMzRJuc$Hu1NRg6r4k)A!b8yA(G@P)ouqa(nYeQt4V6ka@0ar%X zyVhpfX?JBnKrMfBk*!Z}NogFXzr@t~FyXoU8lijdki+{;`tQ4?G zrVi=4mJNUhp&`FN2FyT-QDIiG%+~ROF3hEm!fFf1W)JPCk^I&hfSn)b^&r}-2DW6Y znGbXY8>8XZU&(0pA6?YZ`(@b;pS5(ir60+sA9)N#Z zfaOtHPs`G(FAt{o=(58IBfZB7|Bo)>`1^{K5`*I^0Btio8RD#$CP%h;nuA};} zp@!u$GkFqgB>$D~Od-6eRIkE?Iah3ml7~5Obqo%4R?Nc0h#2-$z-*DfHMx2ooIT0n zh!kjFNRhZ`oVcrG5IMYy)PJ?ZX(2BKp^>ROJhM9^2w zMHoBMiC_=p&<}<+(v2YK`{lq^dbFpU6ZYo*;4N%Y3X+%s&H6NpnRWNy!gGM^X0CPy z!Uxyp`MWy6bsdGzi+ZxfnSaJy0fR!3H5H7vP&}08?jzVyHTC-$vyN~&B2|47SqX-Y zPFX!u>Q)ZqX^arR0pN!Alyd!BvnMdS;pX2t>xhpk&3Ef^ShzkR{r4+QRp+S1eBB7Z zzU$L9+$(yI*GN7pyxI@MmG{!75W&yT)c3E^|GRBGlr94@>3F?9lGEoKDRqQQ1I#0p z6Q5a4rl#8HZ4_4xs6p(js*9&<6kC&cXnWtXlgvwkEaDTlrS;WB*M?~mFrbgjhuKRC zp1>N;mkL1chwcQx2AUo=AgJ}Hh_j}<$YS2;LIZ}Pbb^SDaSp_NEL z_{H+Osh5dGL9sgfKZQP8X-vGn#CjLIurJ?LVURxJLPw0mrw!_r=F{+u|425I&u%5~ zjpbqU{EEllhWynxFsFKFgPE>Wwx^Mzfgb5j@Wy>39Euojj%MHiJ(MTik;Cja|=SB1Oqz4;;TBKkNHa_d5yC#34KI-y@1Ljt9G+_wd~Hc)4DwtBNbxDFFA#Q@cr3ytj*s{h>SgVxA^ z?cbCc0mdSF9UGd^4mDyjzbu6QQ$m*$m-`WKn3OlpJFssE29(<1)3A@P^yvp+SOn%_ zfkLLt?D^v|9qw)LS=w6%752XEwxWWn5ycSttZz|$&u>=GY$E^Q{nj6h*Q&ptI(~KL z+TiQ!dAyGAO|pZl&YwzP@fEULPafd{8359+fz^#XHtJIPE{Nu0EMQ5iZu^UXOGT$X zX&&iWQnnwMp60XH4ll^!C0y-0){G9wV(d{hPKndD^AA|6RKOQoDZ7iDuGXtqd=yW+ zHZ}?ktG8zNHC~o#ZF(njoCRBJ@&#JCi#WYdF}uyxzK)4GCiJ*^iTLQ#;ys>Vf z&5^0g`i&hc;Lc9hGrBZ_-wQN(oW4Y;?9SvnW(z{#yLXh!`R@X&KMtf)68CxLE)?rj zVSpxeJk0Iwd;IDYrIfI*XUIX7QCUd#%Vh^cHi-UUM63C5{0}A$k(WEd z@Ahu0gnTCW*+=9$Dbfy~2jv{qNe}F9pY|uRdEhIT^bKa6JiHph%<+ZllfDQi)(eFI z@C84HNW6i^BmGaqodn1f&s{k12TBII9OYCGb|{-(2e+rF#PmN} zgfWxGlj`$VvfSjV;&k_$TM+vz;X?Hp_f_pCyXr5ezh+5bx7qA$Y~3nhi*?N|4shEf zaic@!ubYUL;FRA8u8pEOPCD_b*oy3`40&l{c@(L*+2l>@7Yv zDUxse<On^-4jXXk0x z8hhF1HY1|6yJpdy46TsK;st`dS5#1qZWF%q0r|N{h||}J-ex7((BUqF{Sz*dKzfOu)IZRQo}%PH z;aS;taCG)Kgg6aa@T@-BSmitSS4IvFt#1hZ8oZ#&Q%6YYdkresPeCujtu5FSQ&66r zA|}+S@>;QfhiOljFGgL}R$J-Wvx==Z_HF15I7V0F9B-YZ1DRM2dy^k zzih$X^+mI`7UL`{<{i1ftOd4~9z3%a_@yFZI4xoIFh;|Dq_nyH>8!}G7)UXoF3+?l5CS&wIfc^{QIuWQFc z*-(HX80ZDQiRMLxt3iKET#3;{o23;1`zf>83G&Km5#1V1M9`j>_~P6%ZrPeCrS2rwf~@sJ2s_PNjuaB`9V68nJCEKxlSz6XZcO3vc-VbP$gXVR&vH6u(4W^4vSrFT zkO(QFe8X>(t7|86+QH&39^PG)MJ&xSnptdm^Iq@B8+o zO^3QW$!eHq^Mdz?NolS+s4E$$`8e`LqZ&N2a36jr4i9Sz6J+G52(cE;!=;4t5J@_7 zBuhGx(E~~i-&4TXaI=v6%oQ}bU_^8=yC!vZk)s%A$W=m`BdqZ^jD?dt@Q@_l6$3d< zt{#WqDEWg+Cu&65Eh{d12NY83KdffB#` z>!BIGTi0e{t?0TF=BgFqbkMKab%3#XDO2e1vo%d#b zALk*vd?`1hMmPOCw_oHqo5uk!e?NJ2$P={^_(_fkMUi}D6oN1zPIn+#yUuuT?gus# zh>uK`hP+C`L1n(RZ2TTAn(P0tBnHd(vWf|27DVCzhVc3LBt#NT_sQ;XTsvbylys5U zklp;{s=aqjzpPV@?o#H8jCLQQegIgll3l4z)gC?y=6U+Zr^=#VEtSp2#zuCHvA-8ob>rzg+9~_Mtf1EtN-z;4{PwBq(*a8^UiUNm)X4f8x6ram{UZ%b`zAtra zJWe=#olZ|C7aUJ#;ZWs4w>NT+Je@-O_$hw-gHI;?p!r-hM!u57gs7Jzg$wWb(IjrA ztu8bcX#C*ZW%UHPN-3p?*{KRsF$utNCQffm{0P_~aO!!`8Bc+TiwFFQhz@J%zBf}R zvfyAB)eADXbkhND0qJy}Gw-=(@nM9FWoXQAL*Xgnt^uE3J9qqG{R?QD>}jRE&Ueyo zkMs79Ts^B?_hdC|4=Y9Q*^*J+CMlyG{-?Y;yaUY^5wLQT6j8MRa5{j8o+&!x<1`}mBgKd)#n{)uJ!%jK5@%hQQR9q#fzb|5nGUt!=cs?@KnzIt^Co#qLg zTw-lL#X1sOtPVKpQ!G`*8qc8b7g*y#O>0Nq3S&XJ$w8BHbiHqls8aAp=Y!ViD2hqN z(oWIwrDJCMjAOBX(|O_@4`fAt>*}OReMsev5P;En*q-)pOlmeQP5SO_{Si6Kmi+ne z*7MfVd}U;U*wZ{J7gAj33kV?i<{zRM{cFWe3!2yn3tyaEnr! zDz9)FeWrc^YGU))322+pPEw5R&fCsDUJ*I1HGNGK!) zepRS_WJd6qTcpXponBcn*v@DxVXSA3&7N&$XFccv6N@>n=N}k zI2Qe$IY`0pSFK;Ogy3r+X1%;5sC4cJVDDZA}_BYuRK2MrO^^TuY+ zvt8+%wLRZE-gy?;LxZ{p+T7V)y9Ozrfl|=7LFJQIN3~;{rz&s38{-?x8l5XqgU8hs?F$Pfuu7_zL(t`$O=M8XBz;4C0U@R6ode z3MBgRyyAqCl2YX6I8XW_g{cVWLM21k_`d-4$f!?ttj$r%b>}hVRwuA7z2l9dW+*xU z_Zk9QT+LL|NuYSP5?KO;uF0J*ubyTZeHV_yQ9Q?Bc8Z9lAHYFL1eM3k?EL&hutcO= zp!W7H-rJnta#qkEA%U-~RaGHq)9$&o_80v+O4JEC^shfyy0diDtNQpi!O4SkR24VCU9krN}1OJ5vy~R~k{0 z|4KVmUPT@xB4h2xGmm%V#@_whxJdI5kefDYyiZE&B*sX~w{k55POWG*bdQ_AKj|~N zJ+!%9qUM*l^E#QOUgP4>GB7A9p5u76FJU4O9G@Nt|9iJSv)dV);l)Do)kLO*X?jhC zM*7y)N*GvHv(~Z?|BQ~JYPp-QyXoZjxw~4h*!^{+Bs`|7tD(wW-%TK(PuQ-)rZolx9cocn>Hib}IY$7TkdA)m_BBnE_&ma1nCUq3##3U7G@? zS7~O|B67F)-kdGIPvgrZ|1X7)gH7mbY7%w7D>WTB&fD?bX=4awmyWa9Y~{=;w`U*u z!A&D2sUpNr&&7PVPFfmvTJDNoMf?lEiU4XcLW&Ic@&(rUwkBWmX=-3CbZ5Tax}{7%U8GJU423(MVurk35*ETH}%N~&|v2H^F*VwhE-`-(F;C67Tn+` z9xcMBzR^Cl0cs@PFl}MBD4OyF3{)GM44>d{da~XgchpLL0w1vYl?veO zyKW8RwE<+wABBgMS-;M}f-OIFsrD}3&;Fq*+v>)CpzpGx)o8EnFf@-%k@W1xCo;>^ zAP6YW)2WpTDn}#8bF`V0R^-7IAIMJf`5u6=VwyY}lmsZjrn3dT8wBQ=tgI<3#Ub|k z2%PZ4MY!8WwoJD#3+Zc!(xD#ji#w^VACDPP>>pT+v|0#tb#>D{>vlo5=K_u!Iq^O4 zQVN*(;+N%VY?$X!$(=f6m*nn9I-y~&nU0H#E5hE&X}DP&TfCWR(TZ>z}aC?tb0Th(T9*pqD z7)TX6@N8Oo zu)+f2Gj!Lnz*avn34>ABJwK%RMGhPF3J=A_0D}UFgTLCbwaw|)KVK+O?UU`BLv^rkA|#wS zh$J`j!?TpcZ0Lz&rXhy+cL7=Kw~SHg(RyYZ(FOBS!Afc}QSDi$YB26XQvEP%HG%+i+{nS5K2s z?XitXD=b}_j`?JCSg#b`b47a+BAo;zlX+kM2*2=NTB(TDe^t^nWis#|Tct`!%~O0x zEo?JU0xu{iIA|D@xO&!j*;`cZF-|*G0j2(+rNMRnqbOg6e9odO;ael8HZ@w#`V5_q zbkkq)M@Y6wqW8!|ha>A3j{~4>fzIow?eGdJQ37>KOz# z6;Pv^0kYWW_BtL37_8z73k$1IV$e(ACb&$okd?e*OPBjQRC%aDhP<$%db!u=Jhj{% z#kzNXc2|F5FFm0be7t!g<8HCw<1zpTm=yp5`Q^hcefheHn(WtG*qgPuDu zb6yo<2O$JKRs`3RcSML;DjG?T>T4jbhl|Xw|ECA|uztPRW^U5~7h0nj)UKt)8SjMf zod-N^E{wkDBIlp{Ols=Wh7V)?%wx6WAI=7{N|%Q#W$F?KDMeuslwU(vylYqsp+r1fY-A^h6o`0a+qSBtufO{oM!2+WqBYm>4i81} z747f&oqQP0#hIS(Nm0W!hXd0{(PXeWLpFo;GU`3pR~5*mUI)>3GqpEv?UyIPK%Xox zIpZw#+Zmy+qr#^~kgOQ!+)5j;nu?EFan#)KcHfFC0ilYkAlvm7fU;_BX5n9AC@|o{ zg0Aryunr_#ygVpgwdweQhGZ!#roA9_5*O4i@5b+XvH0eSdL|{NKhM@l9g%GOV}uK2 zQQN-rIQ{($Tc_XCofUv2%&E*v!Bi#;D_FOr1&A=R3Zm2Q+)Z~6KJ`r!-AllvUisrA z2=TEPn}tB0KiEn@q~pFYU9Mx7)mga2#ehNrz?_?NF(;pCeHXe}ZM|$HB%D8lM!&<( z%kxhYu!#?x@Xipi7(wXMzu=*!zYmkv${uSwb-&I-^)@%RTA0^{bg$=49R5`1B#akn zdeS|&S54KG!IHNl_}z1{oNXFt86kKl&LJH+A~vv)`Qk++qhz}4-n_}sVlXu>$)m>+ zG=f+FT-wkUdC}A=i?c8qly_CJ;g7qg1=)=d-$P1V@3Ri&KrQkMN>veR7|DRt#cu;6 z$2@tckH<8bD1z>8X!I~_fSZzLP(bS#$cg~2VGea{`}WZH4(Rltc}!a=vK}YfE zHqS8|K99H7^3FhjeF3*E2f!sB(JcUeIrsF6^~t4IO^fJNlZMGsF?9&Jls0$JZz?GK zFRRYjw0{Rdxc1OSV^FPvi(>YQc)xb-BjaB#F~RQ-ySpp0@iJVn`K=smF5a3Dv|n~? z(^tnyyc=(4-8!eGkq39Qex-I5eEMDP_stkt*t2$Wsx^TiQKax|ampHdigx@|wm-^; z9TMcfB~G5%5V>Xdz$T@QN#tKT5$WL?zWgqC%?t@-McTXsv6F#BM*QKmz@<+HLrNh) zQS`29&EPIk8!>DDr)K2Yerua-UexY>J%)wmlZ!CkE27273VcjqK;Yf>BkRA^D19<8 z+=BV;UzWi5>H|(+o<#3G9&FUdf#g{C?cpv8SW#&q zaci<+JQwa#xrUj(aoz5s6=iueWT5QJn=*JTWh_^V_vP{JSB42jbKrTdMFK#_sbtdFT4OPqJKV=rSXi$hRAeB5~+)81O(NbDLV-xccN_j7jv4@nt< zZP~Myq5eKR;Cr*ZE-<&z5);+)xr9wIKJ1LT#cg9XUg7#?udW@pFTQ=EUymXtlm``p z;m)h1s=GQ%Hp&?I68<_M0L;%=%2R>@V#&QSfvmUn3%&(6$aT)e=>Nw_Y5-X``~gLN zZ{MO7>M-Hs5pX3(s!GHYpuUZd1Ld7{N{(>M*V~_%&=P;=k4kR_Xh75}QK9cNA39bA zfSrv;5Xm*gynvn{X;^Ly!5bla)++sNHTgmBpXbgxW@4Z1ZbgSv{H6daMN&s8*3^gC zuS4Mhn9!>@#uipIsEsrMLZ6TjC2?d;ZS+~sKvoS(;HKns>buk!X;LICl72_J_hv?a96K?iElbWd0KMlLXsRRgr%fXoo6FSQK4%{v%e=dni)0f9FqPmgBM zM#@3>w(fu5Pj%c0V0UjF0aEgI$}|BE1tjF`l2uQkQ3qEW0DTV^pfs?HE%T{@46HK; zy4?y`@v^Ty+@2@_nbri zXyYJdOc<6Dp6X7Fj7ni81ScvTbT9;O&U3|Lz=KFCxB#m_2YMZD=s;?;P7 zjKX}RLfZd+9Wg7FkA=jBB7xtHl=nX!1{$jK40-;5;qG!YL5ye@LwP30m;J&~_4S`^ z-%Y>vpkHJdR{UB!o~;>4|hbM%z7a1?<6XrheFo2U(ZBlnb#iL zT3H35azBdhH6C62u5p7z?53anuj$b&almh-pK7INWVb?xPVIAKe5B|e@>X1pI5?+u zNyndEdcwfxq|flHV`m{|d6)R5V66>;u&e#zpxU51%lW~@c{B?S;?wiaVJoVs*H()Z zl^Zt0R!&-s?dqd$!MsE6bYPhg!9!zI(u9yipU-npS59QwOHAa0gY*_)Fo0Veb_57g zS~I;s@sQ^)^Q{u6*YbhwP6bs>sbNc__BI4-LtS#|H_>1epq9WxuKugKoHu`5_9**i zB4&^H8-FC6MY;oLxk;-5ev76=)*>MqkAXTLFwJ5YsZ7pngOp}upc9Mb;~sC!DcJwo z*vL!U+=uLD1Tz6Dqt*ay*4>6XpQ(D|EDXI~lhVSG{ocgfIdo_aBS|DSwDpz-+4D=W zLdDNZs_Yghc?sSnIQwHj)%jpc|NA=eP<)2XR8I#zGDNL6tVN4USu9%sfh?f2H6}W? zP(~z!vY1J-#9*VQxdCuBhF6?669m}dM*;!h61`y@6rQIoCG6-t{5s_wDeio*4Ar{A z1z--Iq*eKx#*k!(N@(rdsFft_h~mB*rApD7@Ro^OFboc=L=DqJa}fIVw5N|%K-3bY zEFf-tRCy;on0`*KWF0cV-1|%_B&Ct&y#K{FWg5>HpqSV?81%kU>nSkZ{7u&a^iSMn z&57>I;Ucj|xEre<{K1MfMbDDCap#96B}#Yz=KGH=Rbo<7MsqVGvD7(4^mwSb*JSrQ zJL4X3fV&Bmx|w3S$2tu;NHeBwGqD>^u|*o!G$Hx%mO3P2{N03`ih{$ZcG+u%`dG zuM4Zn3{S!Td*+4Bmo;Tv|4zni-uuiTe`oBCj+SvKSn1TR0dqB5qNG-v7*W*6YW2{(Q}77%k|) znN@0Fa`4o$&nQxFQ_ZSLWqWYKA8c)pdr3LugP)=YicSt8FFV!Z zpjdH-5TzD&_Y6H`$~r*K8Ai@M^n<%RgcS{*hlipeSEIBhUO(P7z?Vg{%p`ZDg!O;D#i{`d>hc1i~m>&oV7OH-Epe1_8y~*_@EL1nla> z!6yeX3$O(dZl{0NAd>?rn~549KD-#XW5lThaVi2KT1pe!K|4+{8=KKio|?p zq(=upAgmc+LRPL4PON7WXyJ6ZGO{%m1vQWeu=Waup6u9jQ1Hk%GGMn_BjaNXs1CYp zkoo_jDdN}4h$1CSuhv%QBj7kDHEyzkgp2?IIT4 zE^mjN?;8^!Z&vwzcYsh3r*|vo4?mmt^z8un?2OW8;>rY`mFoaQLy>Va7Ak1lp?Gw> z8au%m1^}EbW*g%%60VwvOS=2sTvHKXuewYE3f%bqHyrGXfUToNnq=#L(*XrE$P#Mx zk1ZAZmcTi{nAPcnokMxRSKHZmJ<33%Nn_hjU5j4X~c5K5J1o%Yzh7zEPWxCzJ;{?@x z`cwI^tno19ml7pQOrKfh#8u+wmOdv68FOOe_lTrNB87Q)=Dh4jT)`D@%Nh<{&E+Wd z-4?%Abk5cvnEvlu6>LpjH=2Y+h1WYqfboLP)nl=ssVxPs#G|b|6Cnd5K5{7n8<2=U z?+5c4mHN1z%2eH?V4xgN$%BFuhjP(LELgN2<3JDJyyCXb{yX-uG0?=xz^eA3FaSqe zy+*;f!BEjC)lC^n!=ug);`_o#o%ax!G0odvC+ioO90jnJ@vJ&_$nK82yJZ9lcI5Cu zaeli;Sf&Leg(p*f(U$b!;SF}J6y8eCetpX88M&eIYQsPpsSyUi$pHl;cRU|LhH80b z9164y-0Ba?Ld&KqcY&i`8Iuw|NPa_rEHP@}tFl^_7p6|AE?s)@z7X5s!x%wTHc=3( zyiExj6!JL;pe%bdUzo~b+AcIdh>*Ip6a`GYpA5k_CXD8$fe3su>8te*{)cp2UmRr= z6zKR*ynCLN9{)n}Xtrri4>CYOf?9W4{d{rVV_ZA}53c?TsJWA9dp&M107dkMMKVB^ z-WRQ7y)Jmjetd+!ch=nwAI1k3P&`dEX=O(Myc>hT`wkwMb!w@9`n%`nqd7;Y&fQN~ z+VE+uv6cCBgp+%g-5fKoq`-h^P%R)Xjc#&$!e7t=N$=r&bntss`q{PdrsT1Hz(!3Y z7R3_n2QHZDrtZ2nBjy^>a#sC-{7BCB_%^F~@gJlHdE1|(A~vMcLkbb4Nh7Kd#+6VO z*cOF05)7LB?Qy)v0@DMQ*iDlHtMMSjjvPDKFIwKS^F2d6*_w8=YK(}kl@g4Z%>z~v z$YMtcGXmf@s3o}))<pvg zLf2`28{DZLUrH7HhZj|@5{ZwYQ2oC9I4e75oKcDL**kf$K{CefKc$b7+yoe$Pw5lB z1v6&Wnv8z{}>tV!oA-ftO(Du zTB_{TUijnu0+x}QPCc7y83FD$82|!H?KC+kPgBt!%sFEEtD|vkP98I#(nSW{TT(k zMlq(tsmli^CZ%AdZ&_Qg(Q=T2^s_DSO)!K>SzIEY#YwVpFa7yI<{Y!BErzvjz&8Pz!8>|v3-WN=J z)@nBpLLZ$UN5T3JiN)LQlQVl>M6qcE7$}Q!b92M!PdQ3fC5YP9P%v(6=$G5P;$COk zh2d8HCJbm^iWmVfSg3>1nbdsHU*_rtavhJ=0utlrxnB?WTJBP<5k2nHkMY%fIX#JG z|NYCHOd~HJAwC$mnKNTo%GUr%OBZ;p~ZF%IS zX{cz}BhCo6q5i)PSja~Wgj-;b-^)Lf`Hk3QG=qrlCu(*uD+9oHwJT9tn(dq6*iZ?v zc~1!6lrK<{$kSwuL-@FxDyc9-;r#!`uU5u}t36H%2X2@AY)av$p<5Fr4HfVlwx9gy zsC5t8?qRO*fFjfZ7cQ~~+)cYl2bnpwbNszw(H3*W4{*;dUUTvHLO{Tc1&F)lJ~!WT z`r-;aKd2j!Ph!1o9iKqJfw5KMUb!wJ9#9n-Qscu5(=05gUb<_V?BX{TSvD^_F#s5- zy?p2kavVZP$E3Wuzu%kJzqB-gxjkk`>FenPOSZ$*M6Wa_J*}aqtlw<{;BNg{PJSK2 z{>+3ZN9MJhBuuDrB7V~2wbv}L9{+7Yw@3a^Dv-jK=?r$y+PxX5=6IQQbhtD;jXm}26O z?zV4ne|{B^5m+E_EU;sr*alT>M5C4dt#jKYRy$cb6)1hXz8?}ONN?MQ@AgC!E%-4z zCaNag?)(Xr_}|gu-gUaSpI&cPNV4ijMsgd?-sF;k7=Fc$Ygl;nj-AP6kGO?J>(PE$ zu72sm8g_&yQviU3xo-pE`z#S$z7=^CILIiH0YglvF01(&g8n2q`al1O%n|zJCAt6sTTZ`r;lIX_aZF*W{|_(e&=vfw~6510~w)h>_T5 zb(NVIwAr1r6TCxZcW5-vw`uOnGL(VOA9Mc8;oZH-mWAXIt@{yLt2=cf)C3@@XN@n$ zU_|QB<})T_>AQknw45y(;UL*Kqh&336sIxSkGpk$Wm6zNn(K;I{LQ@a?$r%X&0^MR zwQ`IlY>jzCRY%5%%L$L>#YSe>R#PG66o#|h-rXi-v8Lzvzvi9qB0}Lwpb+{oU&q6BmWpZ>#G+O3B( z<>D_wlYmZj_ty7%naQT|Px0aBx54F0=G%XMqDv&7XFS3G(yB-YjC@xtiay|9<^)Z0 zG*#L!5RHFp(X^vJvaL84 zR(Ud(^tMp&If!~yrUSxP3shi~#NxK3^uBHQw}<5|zN>wcH-93}efFf9v~tbvQ6Q_9 z@m`njowGbxC_k55zc)Gw5aK#+UQI_QZXHag7mwA`WqDH^lk<6dQ!4WK3r-l+%ZHe) zRpsuDM%h8pF`qj2m1SjewYYwBsO*Iaep$;QKcFN&a+tvn4J=&$#-a<1>VIETL$H0d zJxKldl)T}obMpFxs(oLM=@af~$HhfbUL0&FAmC0u3a-_#X{A5W&I$xyI+Is0aTZPh zMr+LnVo-?EO~zH6nAahhe5wxMmLc=MJpQ^rP5O@3_aM}Buc2&`>F!)1zcAmgw~&jp z)1rZJ;M(Be$^UzeisHx*rC+>m2;?)n8m+d z7Bnyd2zeF{&ghZuy1;Vn1FsW~X#6Q)x^yOC1Mzc_iU%fZQ#+v7VP0<`AN6COY6Tn$ zz*5ti_o|Tv3XTN7{!n5D=d~32|7uKZpp#hxoN@MB zaXoKN9DD;4H?4)Kbt<$!+&z|?aGL$0kcEL9XvlPx|HHGB>8Q+I+9PEMsbOCXKW3g8 z8bVVaNW)0G9LuAG(MfuIQow-*UU$YDdG6GFuUqixN@v?^SKP!WhtV*>(I}fue~5W4tGEuixpZ6HeB~zF?S^ zs4wKK()~oy@FnJhz1&(ytpCT;S%yXVyFVK zmUmM-JF`~NKFvhXK21zhQ}$y$|2?nwLb1Xmp##u+zy7knS1sk9+FIEVml&{l-}9BW zTQ2t1!ipo(>(^wpTs()esOkt!m+p8hDXOOF8PqWKkS`mM5@G{rP_E6IAWpJ>RWX7d zg}a5b$*>?Mx@S}2>}AU`Pl{gA9WVYjj(O#MRCxm@I{K;ZGw0gPo%-o78ft$B_J=f6FByKpM1gE4oji zt&qPW`l)fA_f5!JMq{}sYjspFzAiY3x(b*r*Hf%1FBWkkmZuwy$0>EGo)AfG(NKrv zEmW+etbERvdfPv8&1RFVwrrPvWRSUL|YR8}y@2SHpAnOU69ZZiJi)h;a@ zg9dexlkp+{VP*MR_Y3Zy?4O)x<7KSq4ZA??z#5Nf`pQS?FX0%cRULeag=YB@^r z3zA=XOW#&77!iCwv9nI`V#=Kwi^{v(rsE(#J>Etk$x%(Oj_K~Q#=~}D|7N)#cANIh zanWEH``%pCb|7e4r-pEVCL$CAb$>O2TsW=$`+U%YN(;MUYvjiG>EMR)HKLf z8J4hev9PR9BO#cLkYa60THI8MGi&F?7f$l0ltx;*g1LGYdLbz{ITSF zZkaq5fB{w zR|KYb?!$=WT&KPe&VI}3u3R6_E}1r=Bi0S z>x6CvBkR`aGL1;A`={F=ZFR1XoQvBaHmi5;wBIv~{P_|}muG{a_V>)S02f6AUXj`` zVaXRaN@_)uKk*hW|5H*=eYkP*NY}{zJ!$a+-Rmq;=)`-wvinlx>(?MSrDqR2=5TvL zyd`fqETw5vUoie__d`I`c_NXU^fOW@eR@Bk+_zLAwg2k%kC?WWyIza#MfvG|z|9Ay zzAnS^r?W(?{1&AB{r$SJ#Q{Z|MK~xU{?+=-VHl|-S1&%iC*9JFM<(4dx*)4$3ItU7 z%(_C|w{dXMewR6^{~JzDMBF$VeAtt%NTG;!TKLZ+jW8O>$Vm;8V(9QpyE!HGAcdNi z_3RgkpA1P2ET5_qw?q^L5Q}5!a9H02TIn6Sq>`SL}craZrN#mnFsI;c3E&Cu=_bLI?1eyv*!D94n+20*h z7R`Uc75%cSst%IdNoBWl$IU`da`0IiEx_?EScq)2;j@GQeiAwGp)k@K8vsj(O6-O_ z-Q~VP?vJ3raaA!{j9W#!xju*TkH|6yKcK>^5q&nILzANzGj%TE0O<66%JxxEZ$v~Y zh!Ms6U)x**6=+k1|-++j{7y`81JfFjt zCQ`Hp*s(h(TNl=(7>%^1#VYnK`Z6JMRE@$RpS^af2A?X#^|evSllAvku8xB$wx{sz zhL5D*qd?@uf@jV|pHK^ynT*F%RU=_U`>!yiJER}@bp_v13m&C=8lU|1GP8OT-l}_t zig+#NPjN{}$n><%&{xCqmdlg6>th$-+!|^K_BooJO>r1Xe|?IQ1zVAZ7gJx^Y?1ni1=21p@;Jmd&yOnc<)Q@plIesmGaxg%rR>O~9S;not`I z&A>o&dZPK?)a>aLjI_O`fTIr^?tOn)l*Q(@(RR0*|=bc zjtMtc)=K40PJdiZ49H?Vb*(_OcN-!t_jU2pBg5vH{_h-3=je0+j**)xR%b`a;?Jfb z@H`yteruu?^qmtDRV^)%Pxe#fK%%@Y!$7D2_$P_+5SRY zh#Oc=7`OVoyQ^r|_U{}$;^cu!U8(_zZ5ny%+H-x39XVWBYHCVmnKNCQ`!o;2tu2&N zaQ<>?&=0IC!6?IBfEg8PZUl@^CdB9?tWQ>s#Jt0@4cb|W1rn=|pQynx`UHusKQyRN z=f@v%V+GzmC8O@hMN}+m#~?I4bq}C3lOho|RWD*#%xNn+^t@i!g-`$;!;^urh*PLU zqVfxpZVH%j|B};q$eH)Mc}u1jkEQ*2dSmB-?K=ckcDXjXVWo?OCIr471T5-81Ct(( z@;aBFIMNJ~7I=$hsF8@E|6US^9OBy=vJx#Htgk)jbfjh39+NzM&5-O4Y+PN6v@pjE(6oU-MB1{aN+o#?)Xb6C*5b9t=jZsW1YH3!-aj6sn#qxp9;Q zcM>>~D!^ZeC>;Z5I8na(#L8 zva}rpOAj+un6RM%MaR!PL{2>y4Jy}v)@s{Yj3X|q#D@e$V8WCFnI6$%oU?t&*9uV( z(onMcwA+o3uC8dhg+B6emP!A@ce2$50aK-1XNAh557DtztQp}zC3CCm7Vhf7{YPUU zciUw^Qyt?-ancA?Q^>*&E3=ktGZpE9QFi0NzoV?kwY%gg5 z5#|5TwEryGQEjyxi6kIhcgHx|88IYv1!A7qZq}_K*skK$auU$OR=cf!SzAK|l59y9 zIVAS2uqE{Y-=+D`>qy-6!dNL+Y!YRI$3m6u(z8EA+8~~7uf}N!(2Sc)A4CV^NflP) zyd*8$r>y_$#A+N$O@X`Q9!&74*Vup}TeQ?Os#mLN>Fz5|lT?Y_7wmKV+Cs^~eDU4) zhM&gmY#ioo$$JOUCwczpvwPut-!huuOxGtp@qW6W@CUfMZE&A3+0KKR-FmB^M?W(? zWH%>*(4i|9cKEoypK$|2PNYvh&AnEq_FXHsoXL3uFowL`krMY$Q6pr5;TlYf;sZI* za4S&=XG6PJtf%$PW{Wg8%TgPLEf~L_uKZL`sSN2*{=RBA52 zv1(`@+MimdG$1tlbxHAETN-uQBY=h~kYO!hhte4u*{PO*aOT5b6PY5I@p0ER)na^u zCAR6(jCne#cm@dul7sax!u}Q4?1*pAJH1_(N|2q)3l_ZRUEDB~beH$HHH7!#+_X_l&?&D4w(_5p?nV_la~c;mXD;%E-oB zCkC`|us3jk=LSnFJ;Kd(!a>=GFo$zu7Wy$0?*mrhI^E9gGpRJB<7FjR6T#70j9fqB zm`{o>7>PwJFY$lUzR@1;&tF<+2h6^CJ1tal?1v@y+<^&Fj{JNG)9 z!@cQvaQz})KcK`-N6*57Ec`^8I!Ye>te~t=54KyoaNVpLjNJ1*l?4k|qp$A6U{9K$ zuD@}ltRn5@@&?L%pUK6t;HN(ihDMXRr`p)GP#J-U)N~Eg|0M?5@7=_qbk<7&=CcWVtqsM z_;5y#NKA@#R}*CgN7C#dJv(aXMo+g=xM!&Kh~%&eG^Vy#;OR@_2$cmjFHG?x0@0Gs z_%xyvvqwuDqa~Y14WAHUL6%5Jme!nXlRuu#p!$TLWvd?$Be;z(~FRihC zsSL1nLDG`(H4kY5k;gag901x{hee5M9o~MC;3(M!xijkhAjO>yY9|Ecjv^KqJ+s@gV ziN-taOLkJAqae{AUvp_(`XPU|G|+Yq{|Ux|U%PIVGBcw7j?^^+i`n#>tvdpy738%p z3z!B52{ApuwD?49jkRdmu2^MDeBz~U?&hhD4^j4$dYJeV>A3e>3IYONtI2Orh_5hj zAXjTxzx}TU1kkY^b*4^m*wo}Wo4-Jv5xJ8JMt z>tWZ&MzZ~={55S^ZKnLAIvK|U8%6NfC`ng`#QI}v8l-m#yj=H;?F1f4A2ZZ?1AcZw|wPgC$Jr(fRiY%kC&#%Si*y9{ z;zwmJ5L^5~EZxD&`FSyZ)}tko-rFKY`2h!{{LD&eZ^n(F4@s>{iyFLo<9Ywx=Jqh> zGWxLprX+uG1)q!9R$BsDL$=x%E@htIjT>D!ZshsOmLF(PmPEy#FL}zk!%8UfDNDvA zG8jD5Ek%lPVSGU);tNowM_K@Hg_Xk?~7L{GmHk{iDaL zyGM+opDS5fTG%e!G@`!4x=whEvN)KR?{~PcG4vLtDTcrXz+1CaEE4(0%PtmHCV_t+ z5QIe)U$#9x^ol5%8B*Oe%HG5m8?hWeb|EXoBD#DGePW>%#lA&;RQtnP_}|&9k6vgk zDE3?U?xg$d%CA21Ki6*oBMln2daG^vfWmK&F_K0z+{sXtpMPtI(~|ZAC3!^J!H)*` zgrL;(9~4lVBl?2U9q=Ajyk5Kj5BS^PeHOsSw;c8{Zr*Rp>CML?YD8a$tLLL{Up(g0 z*t&&i3>reV$PVJL%?UF)W=F%=e3JY4fAG zcev9nJ4?qOQ1It{{+MNo5SimGm8zb2IH`S$QX59ALkEyG!<_myjX&=8HwtdF8<4Oz zYZIeGYR(bqSf9591s3v-IRoL!c%R5|&_~6eO)ZGg4R^~+oTGr@hy$3U!Q-(*9f0&@ z-)0z+vFXEs+fiI+;!G_wvftZQHQCIu`d)*x8BSIOl?eHUSj#d38tq-g_Liu^>i-^l z^`9n@^9mCdm%nC*6ZC_FtBp*Uo!#UfEj#ej1c8C-{>{$6S<&&xNl%! zz@c@|IRAb8V>(S-xc2i8me^*Jz={_gPdC8M!^Q0T?m0#T_>mBeT9Dls>__|&wjb8DnB-atiujHmhaka>i+_(TZ7TjjV9;%!* z1PIqZ!G?cv(i-G&iXb5*Bq5TaYOg$;4#Vf{cOrdwAS>e4mW0SN0Wpmo#whQ-XFTe^ zIy`>JRZT5DAX~$1;ZON*W$y&nD+q|l~J#Nm(m`DECJ^wY0aNSz{Ukp;G(z)M9NPKN6*C-R%&-OsjM zRqS1VPxYzwnLF*RFlee)uHqE(#XV>_vI6RGIFtw>D$2oLlaEdY=J1OccP3P&q$zH| zZ^9w3X9@&R!PhgB2 zDOydmST29{o07-sEA%L@tlT>O98qA;=%9snvwFyxzFxXNRO29ti!N(EFCryD-_c1a zXif8Xx&z7%#sdK_P>?*GfHIzR%q@sPxl#RrA5K`Q-j6>52A8A&X@=3^;q38Tt{dXm za#jf_IR05^_;BDB=1rQWA{U*%EF%@D@y8@zJTWp#CTh;O&u#}7OXrRez&M_YfWoHP=ClxPPXut z=E0$Y1bqF?hX;%Xzcn2a(WxY*$}9D{f9Pt6xDcJTB?*3Vy;fdSGK znEY0hs-sZy+2WU7BOw{A%D+T5*4MSK<)%M>%|3j5#H{Sr7LB{sI{Sef#r&V}9E?mS zGOo{Uana^)cWRbS=X^4%l(rtv7#U}ao_hcxPg1XLixtkYiXjtbkJYBPusry3}#265x zvG(s;Wv4{hN~BeAD=rJh$xzqe4Y|Ov=3d=~AcBD^-|gkC;@9VF$|cojAY>1s4JOtM zwrT(T8{-i*0%n(;6BCYMT6=9BROJmJz{$whO zgT|o>UV2H5A}Fmm`sD-LeLtbSB}VnymAROc%&kmn`8?GjZ|%W982h|xfbu9{{zEnsaZ*C($3IN+jb`JX{AW7S#oS2Y3G zJM$So9*i{TpuHlVs=B0o%%^E6hsI5w%Vf}&KBCQZrS#!n;_#|4*lv8>qrjUHRzo<< z`M@hqmJ=vCT!R}m60VOPEyw|UeU0LAdH>YbM7iOqzOhOW7W_Vts7J|c!vrIk7p(D6 zovt5>K7nDH?;`nDrvtlZ0(oU+C8nES=NG`Fg8E&ak)sUeeW&en{*AYRMqIIU>b78u zZQ1(Y6T+VY2fcR%(9~pn*+Ov8o2L)As=AJ}n&M=ESSd>JwzRh?Qz14CT~Iw@mADs7 zpIzQB-veFIEodGvxf^F62HraDm{ey|vN@#;{ME(q^Q1B=MO7VGw`)I8n=;BF^ocA@ zL#5)vg3SXD8JJU7VxLuet$V%Kw*i2&Fp-T|J{=HelJR@pPDNRoU=4zp36Cd4AJiK& zybHIikKh?oQ;_(@3=A^J;q2ut1E$u}ws?~Pn0APjkp?jm8r zh8pVU`~qPQIJ3h(Q@n`fdza_H@W1UV#^kGsttk&*(zQ7ts6*LsJ9N5QCJF27m?q5RC^bmB6(i!| zZ39iXfgMr1z3Rr7$rI=f1EulRedAD0V!}

XoWx5$(ooHA#lElm}rv9z*TNIC5w_ z_Ib7;83W>>kY;D(&|Spm`N)+44#f{|5wG>SGp{09+CA-hEGf5?37r0Jemv(s1ytG3 zaveZlhyD(hJ+GpW;F8T%Jcl5NYWHD+57_f;Ej7;Z!=K)pYP5rqk~xWckgFNK9#(D* zk`4^7BBb{=MfWpIJZVnrZ~Gg5)Gu!@tp{{PU>cXbcfEgcL&RC1TY|4O77&IHe3r$3 z3NQhkH0dzj?-9BUo{08@X74e>h0Uy9^VZeI{knYqqA#KWDp?p0fitR$!IoO#Z{c7y z#B(UHB{u)fuqL;=2DI*ZCt=H7LfgiZX@_N-ffTPc;I?F~u^+J!U+Cq=M8D#$x6c4| zZro#Y55BvXgzglZTe+&A9!Tv6U|W6UF^TTJa)B{WNhPZ{g1CUX-;zC0{;EgS}66in&&1;R(xpH9JkYs$ z25JR(Xgk?-foZvZRmYcWpK$XSVoEs~2w!UWzSpE|JIyhGMIkUdJDmyXDy57yLZf)s zQbs9;2gM4Nfy1Hg@9}pGTr}1Xz)+I9K`4#o_;Uj{6AmJh31Zpu)^5Z;2)V-kuI^Qy zGlg%Lxm)#e&9C3@SY?`j^>vDyii*w=$RM!62J-0llt-S0nXpi5s8Q4TDvN;Pe}FTc zi=48H^EY7PYEkQZ_8qsp_RP94~T2o?=V1c>|*9 zrQ1&zaXRx#4BK=sn|8XEvrcAt@1wKNElc_85Z8O*IB=~b!Qi{!D#Xf;NI-1IbGC+O8F15znkUDY5!d}==Pp`0b3)n9IHX5ql40!;f zn?ye!4^+KY(Qp3eFW<@mVpIR$$q7uI)l=|D)de$N?=kTZS~v}643FE6Tu$JF=82^` z)AmQS06FuwGq7lKZMsbjVY8J z=8MLE1s~vg`rHzdwG+cH_3A<1_Q8))&S_LItvZo6#MeYutpJzvFpbdxr=kKj@Q$$o z@9=w8$!$-(hHm`CCVw>igL z2V3qi@PrMphB0TDiR~0c{9#A<)HnVID3jhPZ@4V#0~?1X@BaN$S|L0mztJa#_{UlV z8YnF7zv8eDca2T(SF=}8ls`rN4q<{t>jd=DZY$w8X(!ivL#h`8C)m!cP?%EIaq`sl z@qlb3>2JE0XGpizG2kJlLuE*kxo=OF)dCjr;|-V&*~so!y#-!uROoLn=vrX9?-|q% zCP)V2i36smjn_xMk!d5?+GYXPm-)@n&wsxOfF_y-U%-F!83A)%@4l>(;RhhvM&+Vw zx)p-S@#T<{K-Ar;v>l;rd=E$`nXSO2L^E84S(%WT85KK|lc}!!pmvga-B9{MpAn(zr5vuxAROH}Cm~c|UvWb;Ai-Qq zs42}2Mgq2RRpTK(FA*Z{cTlv(0p~p`5=Iy)FUz=cx;2H#P_mFaWx}3$6zbLQ6Sq{Q zv~C*l76=Y4{9kRV{ZM8P0U`|WN#da0akaGkYNs`>mrV19jUhqUxKh-? z(6p1aJQXJRLkq_fh^iK~7Jx~1PY#W+vN*;z-y6w)R5^;QQx|wvp%jQTD1K@t4+pl_ z`d3+1Qis_Wgzpc-l^_V!B~y-fG9fTE{9A4o_En}rE#c4md`$I>a?#}Ru*$=md@+m_ zp0dX4m&3bvIqbPYbaC$ABc)X4WWtBCv5UO3TMqa=HQD`n@bnKUQ>y5i?8UAx>6!*q zLIcLnJ`*6UOlkCvEk;*GI;+Ci{%~M)!hm^mthgxMD6nbR`LD9<$Q)R}ST>md-85)2 zZ?ZhwUwSnVK6o>R(}YU8&psnVH#RmlREt6DGGBL8y}1CCPE7jsZ>hT*=v3v+8t^}5)e+l|f#E+82M$VKgtX6z>i+pwxw5{#J|Ti?*k`ZaiM_MFE)ZGY zK7)(?#0-fdVn^_4+!WbN0QEtXqxLcE>wpY=??a@`DDK)pMh+R%-==u2rPbBdH?1JM z?7LMNP_SD@9suf$P3Ml1wzIvFFNi)O75qY= z-bU!aGB+}S5Yn*!gEqq2`LTh1SmK&^QtZlL3(|@DT z?0AAk(f7bRY)3K0!y?C;$04E{g6yM4VG{OVHUkRTb00h2xqP2ui>JS0lUiMEzVI4C zmICQOgkTWz_J`=4DjUlI7;C~Lq-U4j`{V%Thq9x3>{`j&}@YoJP1*&yLpfyJoFRBh!jNPy~9s@TJYC7>gDn~ zvNNft1J1gqv4!1fuCD#}`4DjCbg2rC_wwS`huvxM zQwg79orr%$2=SSsgO+P*YP5tZK;~0~Mip7Q=XU~&>)}!hV~|)mW7>RVrVmG7n%_W8 zB>K}tZ3P?up3DqyX$J_pmVU9t-MfW|y!sM=e857ReyN`ZsG zr-;!N%|ylx1XII&z^t|k7!ToLAm}N7JMh0VhLtW13*L6JsBvd%d3ExASa{EIQI&}? zXORpEeF(W!KAcd2MK$|db#rZw2hzPd92GI~j{iZ56uZ~iN{_tXX8PC}B0q)!w|lhW zmFs2h(C^DePG^FvmbsKK%EySC@Jk&p8xKKyK^M%lM(=^1H?n22w0W5CPM zcVh0XedmGQ2Gb_;cH^FkvFf{~vfy)wH$wtw}>Ar21?4mJ;rk>1C8 zZQT>Jf~K!d2K~0Hj21MhheR z*EQAEN_+E7mZLxPZcDY62jkTBr^q|RU6g!lX7OCCqx^3$hh|0p#Y}8Ej5>;;nkdob z`62dv$_WYX$a}R>TSf&KC_SPDyP-nIdsokSig{d2d}Oz$Yl!fOAs9EJ;+!bC%|FQ# zrib0;P2Te2uh)lgt;x1;?ivg}kWW`S)is#Wl==Gd;G?gnmHv<)pD-@^fnJ|ba^hwqr&vm;7fX^6s8MMtR}?#i9wCF?`@Q$C{w@BG(t_5 zbM+C(84DM-{fx=>5Zb-bSsh#5Q5R-@RaklN9X0;x8%B=SRRCHUon;gOC1+7zD*Q36)d{2Bu?uEi+=#Aii^fA~ZeEc5o zKF%jS<7FEUa@5j9d@|kD^FNqI<3o00<02LN>fvh$CXW|*fyhRD_|4nE?1@m*Hx6&b*uFTdDlC0IiP?KMu9{ z`y*a=Pz=>QvLHZT?Ex^zIBXXf)pCKOqR#pApGm9ewg?)&)nnQT{tTjS`2>|ZX&=0_ zS+8Q(>#H^hM>^5n)cv#Dw>0JA4LngKjAGA}q;G1tG>`$ddyPj-UjYPG?8SX7li(WN z!gzWYK{e9mMujTWA=SWC4G4&^lAbc)R;jvQBr3KQ6cj}L;=W0#HrWKlwB@l}Y4|-Q z0x!eDP5dlHMh1#+Uw*1iGOnpH=MDTMopJ2ZA2#j{l;tO3>VL3Fk7V`E6QnhAXYP?S zwMy(K)kvNWD@VqTR#TBc!=qVfc+;)QIyxb6F2(pa{@|t(87j`VjzZ#m*l@wSNRyO7 z=qtL>>8i3hWwb)n|11jJvBInBf`q&9Vq*^lD^gp|e%a3ME8|0vZJ(;+v!?hD|Ck4# zsIORS{k@{1tIEFXghQl-?ADdV0zNpn;LVhjp?%dZxkujB%*RH!s`{T}O-na+)V!($ zCS&?+z#L>|5~Bv&0U#fv=>l|ukk^-kdv6?|r^~F@8bL^aAnW%%=;5{;D~d5QAVd?d z+t_FNzJf*V_T^l+-zc2CW~RZvVGubSfZX&fC@pQe0KvD-RsP!fI(yTp>UG zu#7ui8PjeC1V2zo4x*`LnE0V0EpS@A4AT*61hZ-P%C@I;Kfkv}X?}kV6ni!I+YB^! z+^qq%e;*;+6O0^4B1LB}lF8>}mF(1aQtVMEDuFd`OM+c0X8kQ)RU!T)AE6`?*7M+O zGWNjGmqe>uQp-bjYPMF5nK`()Xb}Pglc?~;FpVU2I%;*XQd#wIaA^DH&TVW6WAV02 z1dZ9esT&AW{0h4`VFsEfA^WqX^LKzkVgA03Gwg|VUNj!MTBu{_>&g7xXlaU)=OCr$ z)i43~9T)&){AQg4`^QuNw-!PFDgMwSj})sa`+97-5sVEg=w^PRu0_4i)}NLPKpj2tkA{uYVsu+P%A ztE`eWtjy1ULjh}4eLbo1pQK9~TDzt4q6nS&{!YkHG4#iZV+n*!`nP`l@ys?Y4h$(fx&bXGzfGm2t) zm&z_>v0ux#`6e zYf30x3N|R&KiNFQg$ceNjW`j1{8P=c-gc5UmIV&9&A5Z;cN843&C$Z4{6`tAc<-;S zW<2Jn>=dzugoMh=IIvMpi|tIo?xmicv~EjG)lVL~Osu>$#YBk07+obQ&kOJI%HW_s z`D!%5u;FFGCA=4z9QV6L+aOL4^8=9;>kSu(F_oVuZQHHJ$k@01&Jt=|4DI4n0|1}> zBeZMc9gE;p*C;YH`1*saiyMitqe(L2LHLp>P!&cxW4w^h7?L2KxR6GlsLFent%@^K<#3Z?;0RAg91_pG%vT6mn1*9<)BZhgM$?m`qrIBfPNBJs{-3ySg$lCaFm&&aUgmU?fxV4ur6D%Iw+sEF^5X3Nt2 zRB_9r)8q@rO?d}yl;IGPoT~I!Qmy;O==wNwf2tiKMEji=;PfZJwp8qeD3IK1bS^@E+EO zJ-QQbL66eRh!~MA8e7U~5Mu&^!^ugWAk5Zog>zx4v&CR8#KpF);skhr6=&U3ap1sR zlk(?)ue=rApUR#wsKt{+aMfeeyMTe}+ycVSrN9735oXj*h+d9bTe59B?%NA6A3vFC zS-L5I4U;As1a{o;rVIk>reUtOaz4&ikI>!3#yYe7Y=5H>2)W>R_ueWvnIvO(IM08^=L?cI`?gKwNZ5Hg?~f^Tfn-zf)6CbgG17 zc%-cmKl9azxA}}lYZ_xOBfwT93OZ2@(|t`n{^IyOCe(zgyWe6qDc>u8=|~Np8Xz67 z(I#^k(8DXUO-=QD>PtrSZpHF6S2Ik8zD8AxDM5@GUV>{)&2N+!R$=liWoPAqz2~LT zt!IqWZt~A-mo25b^_tVRGb>>r6EfZ~0O|glX^{fKv=v_E-T+1T=m$yTHR;Qt6<$FN zcL{2WLA*gQ5`{~lke&xcE7TF^S%z4@=Tj#F5j&nb$EidH1B z2kf3wiWJAJ?mU<0#q6z-GYu>M*-gWVsvt*!a=i7-b$RiVmSCu5ILqC(S&%=jgcrE<<2x=d!$ufWIh-$P24t+?kWQPl(XZivXDqV_Ioqg(IzyqOatLuQ+VE z7DLZhVWbINpE^E*VB{qCE1g$G0^fe7h1SSub=N#%ZhL9}DpnhkBjf;!3RaSDTxpy2 z%kiQ>%<#9FO2v!QpeV?b6yg(xgtUwahxD~!?-qE%L>&+A4}Qqa6>c@{$Ob$r@Mb$u zk-0is2A~}$CwVO#J@T-(I>c{YxWBT}4p+K++liBJ$M<6~57XfLHR_Q~0gRVwp_tJK zQ=uS+ckkb(niwy>BcNL9_VQ{v`6BgWUrf=W=Mb*vwF}d$f8sVWf zCcb?tC>j6r8e>M7nO-DwN_hPlCCZxJQ^ESlc%@Z$TereVB@XKCpFWGW=M#6O zHQObR5IyQe984Be4dD~W<2P`Qg|PNcBZuYD5SWe+ z`iy`x%9_x*%y9=w`7Lj@Hp z7#w%E`uV>c8k#*Ef9`X0D>GM2*L&%|*>|06I-P}2r!5TrIReX+XeWE8gt1V>w}%Ck z(bDZaqaGFf(8vp>qPGGGtP;(j{v2Q0+1Yuu5*xR;SzJb|C(DJ9eY0r~YCN;IV_*@p zGxgOLUF9(!J8uJKhB1Bb|Ey+TI0%2VO5Tr`ZDO~V;hKA_a>u{d83$$kef=94Q2|8Q z9c{#|jI)kEH$4&oTH!Ex(DQ#!c#S(;77NbBjS!uc)J8uq5epVt{|39u1$P&FY^KWY zWTs>fydRkDucrC}q$BTt@^*YPhZ-doA3B!P9%>h`ja1Gl-KGs87eJ5)42WkCq7mlV z)w}^a@X2D|G2Q|(LeW?1&36EIf%!M=X+ye^p^_1ln-dz1fa?WGOLs$pmxARGTTiB1 zO*71;845wlDMFiT*uM*uOQS*)AGB5dVQ8Z5U<~-nG8TDdkohdWi4Wx1js$8S`{m>h z^NNs2ITY(_ja_T+qMP>79KUwF%wj_5>}>MVHvR99LI10-UnfdU6ob^Mu55n&Fe(^u z3ltquvMr1e(0*=Qzk2eX1WJhh^>P=)>4?sGUH+B6hJ8;l~A6sWJ2+-LPd=4$a2Q`I!I}nKLF$e7 z*e?2O8e~eh9y7KjmvvX73S~og&Li z9(|}fqXg$DLEdTYn~GI1{|^!EtyhPk)>=vCXImG$ zOts#}oAXE&_CPn4u2FpB1WF&>WVL4L5AC>)c0z?div1XoA6H;sdCG6SggVdGp90px zv^AKCq)|DZcZR&Da?kthZ#a>gWO}=8)*KUXXFw4-H*6)y$5FL8(b&ih5dmuO!er*& zw4!P4oH>ub65;y^)|pLBB#exViv=9fK^t@gP)VgABp6xt{_krj7f+q`#%HZ_oW@M* z_bwB2>@oI>L0IWj%NBq4RH%Ae9O?ajQRZpWM}y;+*l_*_!C~dM2Kd!I7i zmBr0IOBd$xF=tGM)e1;_gFaBs;D(mti62W1`PgbA>1+Dv+eQRaSrClR4m$4> zPD$%tkKGMkXcm&FH_~tnz<-*A@lf99gc{x_kSYyF&yMJ%o+q*OTxO|;OMFT5OPct= zAW8|X^FDqlOv0Kg;A1;R8c(zs|wCdM15Y9h?J zHGmvt=J$u@zY^e$SLqZ_+ia4=&Wa(*FN(|yF0jWGBpsk4;rlgF461Jaqbp<$(2(f+ zJDs{ZoE|vzg^4%dqJ*o`@0~s!p2@fT`VAW1T7C$CXaGXLuu<#;L^q9B?Au)Y40tq@f_I7@<+B!I%6o&oEpa zG1LyoFI7QNgM-##j0>btI8$BQ{OJQ>0lKl+j&=Je3*j&a7yhmvrb(tA@v0lumvNHe z&WoFS6j(F80n%xuzjOAW2%_*R776yR`$bGd(W`FzFLs7z;fr9Lw>p-46lrl~8iYLF zk~BS8PeWEX&&jNheWQCJVnl_K&PuzIPtWPVLz~X&rko~<(<`TWI4-&pkahaq4l2QT z`1kyjN|lK&-S3>?+O?fT^4-9fQczgt*7(*9|5?irYBRO6T1M44O!Qi2f|0#wtOM>N zeE9RX50bJH1t0Ea3ENolc>8|J*?^TX2f<@uySKrG^ljVie@muDVrX61sgomtIf4r> zbiKwrLPL9>~%pQUbo}tkM2-9e}gt^!~h{w^W6CzVosd2g=_0j zln%+EUrMEM=2Uq{BXwwS;aw1Tp{l$@tAEfLzVG^jOd6=J(N%cD1w6EYLQK7BCU?*%W%zo+tniEI8-~1vByjGWnH| zV>j867}DnkO$nz}k=XL@yoK=KJ5D<>z}M}rTe_d(Bd6g$6X*Y@Z!5tpu&lV>MB?=F z_-zZzA0SD*(gGDe7uY|Abamksl$FH>%2Td0rjqmi^lm_?(?Y_;nx z4&?5H=Z0&hi%TMM#DvnVbUab6WkHG`_CdsP8B3Fg%PsUc5!7%rrz(-Mql87t>Od=Q z?VEfMFT%=GdB#TW`w#Mm&AC(G1Z5?SKKM_gBe7d<{Tj*BGx}fIx;cIRi_QhKvfTrp zlLY*Z#cwHO<>ld3C4cy^O$(e%aa+)5fz{`ImYgOdsmCt9{CaAZ0d=*tD(n`xH^@%! z(_N0XS=Q^LaAy**Jf7kg9IXeW>BIVr>+LnkGP7?d+ozzko!D#m36HEie%LP_Q?e=Hug@WSZ zZ+87DZz}4tFbPBDUOdAyRW)$x`)OQizD15GZr!?zGCbBGs^?5JF*fFOWE9_ou21Z- z5uk1Q{VGg?k;hEqxZ=`jb(Za2(bq@Ue%@V7hcE<@&yZ>}y#)c1|Uxfo?b3GFZ=`L)lh2yY10~${m;|(S&-U%Cv)--FysHgU+{4ha<`%MK2Kvbv$bjIhN&^muR=WSu` zR?}_a3DE-t-}LUwORM+9dR;Y1THUP>m@ON5bD_?6$8+pZ+ml&Y7i6b#qH1C?v;>I* zf4+VIpngQ6L%QSkBl-W@-Bm1jR=4S-gm&ZH&x`n2wE`z&js!KuI~*HFOP}pXMbq$n z{4g^AJkWFQNF9`*N+#mIWA7OsfhEuwf#Y96_U((ky?maCSoqea^(Z`#_Tx9f`}d=p z^rEoPzO+-C8)GPIJZXIRWi)rxQIPU4ov#NjOI9!Us-e? zcY2nkR3#Bi;-DfGzo|$Mp#F>O$Rq*jn|{oTIl$XzW9HA|a(mx`k>5bH-&qd)X^E+{ zrj9#*QBsG}cQjjB;4rpqh&_+5tFm-MscBuw<6Gpo2!|krx96=Zae1vnS*l=E2J|J{ z<1pvW-c>Br+v2ja-M!tGy{k(wc8@EaF~fJ-andz2V8%OrH+%OvkL_XnNLyMHyYd>{ zJ=VKT!DIIJADC4;VP((wHJ6Ro&z7UZ8R!5mdA1w4BmVUVBHgoXE{%OYlGPmmSjLCI z#u)uQP616?WW_;0sfilCkMYpKiK&~H484yG>3+{NJKb}qkN;(i!&5v-J}yG^_e){^ z#}jJU@cMR5MP^vyn+^FVnG;#stb!%O@tAO0sV=AGC;AaKCBVlP;q@x~lx@UOo_MAD z7n>)&C{2Wpew*p@21+RRnHpGr{8hV|m~lmt-(=z#-1RES&Ru8EwDdA~3}0_1iRZG= zcz$v5XrV9D+gPvUqJTi5l%bD~P$2Gq1G72x@}?`}hx@J< zarPrpmKf0C$v`VJJF{rO0{~kKNBg1)0Q}7^c7Kyq7GwtEZJ&OR`1zCdscttjTmli@ zwji_ndSbSry3x=Y2`(8?@4G$VucI#0-|d8p6}+W=9_Oc<_!GrylD-wl=okD`cOFlm*U*imZ4OGC{s0@pz?V%4tE=>XCgNBC) z9X=|M7>Z;M7q;!$pFG*r-nxxioI9-X{!{sW=aFAf=)EWo8I8%EtPw%6=f>!*_t(Gv z|K6xi{5+OGEYO!a%ih=#*&hq|Uz7By`&Y8&j5Yi?v^DF6<&Lhh(tnFP=c-I)g7n3x zJEg8yzL~*-mc5U!>n&!y!6t8hr{XcB0raChV|f9imbyf}n4PFp_WPi#uiFpBQ9TH_ zlIuwSXl`x)(BMdY-bw9bw5Ct!$?=PZy8hDQ8@jFl0_{)~;#X;31ak3zDluR|WNOSM z+pMPLW&HXjWJWRIq5?L9S_1hTt}{)ky_EB~Wu$Grg!ZiMAN=iIhe^=m4WA@KN_Pk( zYwJ7eus@|+G7gLPJa1aof0K{;2Fy1tlXqAiVZueZHu`wXNkn~Y*C~Dyt8>v@tM|CQaP`*eCO4Mng*gk0ZeRDHzOuqMysPD;PM7=K#+CaG17zZ8RYh3o9 zPOKz*w#;%(66v3w_cHqvC-a$5Pe!)@({cZjm!W1iyvze*fCEOtU{Iu`kq?U8=}yG$ zi5)|+qo8O~<`)nYLJ%7S)B(irO|-2C_y$&01=wNEKfg!9RzhEnj*i}3T)6d=5W<aRc3IYbjs5Ta6X^A=VWhiX zpHK9pS!R87<7@eis1@fMGRIHFdM)#P|5xJ|CIR4Q{p~~f!?6ABpt7Pv#KQc99Tdt$ z<@5OC?b%nTg5u|Tb@6VG366I-HV%g#!ZdtO>=eh`!UM|}5j&>d64ebwe z?<*;AFt|&!P$BmzAc#kYYFd{aSTs|8OO3qSjk}7$7Tn=eE!ZV9;HZ%U|BYkptlOk< z`W*WV_Yl$kFW4p>uO7hU_0-;MJyQ zkoj}rP|?{F!;r14PDc13-tI$`(_Sc7tOh5B@bl38s*_~4qao0M{Bg<3?FT;I5Z@5Q zV>8=zol5_69@|}&YoT*^3molNp|&8}prWGfWF;~XA5=Ur3X6%T3P3UIyF8;i(wje# z-nI>ewq)C=S~?)K*FG_Vf9WX|0^82XiLk@iQ$$V1zFIW#gm_=@T1F-b?^p~YI^S%V zJ_sQJIqTb?Ax8%vQj=r{r_8Q%^NXf#5O->i4U>sR%=OiOLedW3v-`NBZj-I0ZE2#p zZC3`b&BR6(IX*XxtczGa52P5;0;K4}Zu<2<%TA3H(#@<7ozrg(;%=d?h z{VsWCFU!j~{~T`MpnhMyTka$hXeIz2NUsi+uJ@ngPnzR&`Z-9T_L`@+T7)v$*)fgpN@Eq zJ3BlvjmH^jJ$6nTWjr$!UyltNCR|@td?Jb@`v6=Z5L;HL?p-VBHm+A9xA9A78LW#w)Uvz)2ae&i8W-yrv&@_e<0pSsa)vtLk+4H@oebY+Y5oSAk z`;Zs>_-Z(~T-d9|M`2_9dI6b#462XK6(~&!Yb6e|g*g!w0gSH{3=KJse9V(PbC&@9AXX`c8hYHKagJkZ$ zsBXq$tm$kK4tpGZTm1J`H5UUXCM09c!j9`O;dZVcY)JNv=iYCk1PIu6ZE75O$c*H- z4{hELYhK!kd;|yt=9k6VmF+bi{7yyehv{&-~F5qCuX*O=obAcXnW70 z*IR-!Ti&ppkv}5X9cx$x!WmhO^``KogGEC3XfGyA))icO7#6wkoaPzfW1N8&ba&38 z7~@1@ygK;+-GdJ(GSu&#DoP2_`1b)UY~D$awEp;TIS5inwQE1s`+NCl{*;{DQuAHG zpMhTHYJVBIQ>qwE&7{vm-MOtn>|oAIg@SIRsTQ+Rd`#0x-xluEiexw_U-4 zH#pDtSESdyW%+eMzoZ-tbq$8z;2Xb$8*Mf%A48|%wjQuZxAP8e#=M*NTK?E*WrK3Mehj@?^yhs7q3-9Yn77KA~| z*Gs~nB>lyf1rIYw#EOK>J@VKFAmQ%WEfbu8D_I2G%vAFw0m5NGuENyNH`nUv^v!j8 zl4z@U*}_pd4H084gKjs@-;T0mx0tV;`937eycnBcA(3V-j9ldMI%Bn%cfN~AV1|<; znk2x@=|6_=mY>a4O{RmrbL%=lyQZ?vM`RYv+G8E>mRuC_;KGf?4)cCuqU=LhiF4x^ zdQ~uT3X!3jh2{7)AzdS!o+ zn+BZd+R?yBd9dLy-riF|a7OwkE5NG??bXo74`3RJmH-0;%8z+pM`U{u7Rp4J3GbM! zV^Ld~W&OYPcN4?H1rE!fN?%T6=^f;F@XYeMbW(5nv2Q$P`s(=_qKAie^edTN?pATP zT>vA$D<1(NnjxGq3^N`w|y$BG5(kt{v zi6J;GKifzmD0W^_B%k$S`zt@Rmfmv3L@zc>?6_q4wkg5(sMZAw+8KRsIKni_vozm+ zTu34Avtb1Fk7utoF_UCcvqGRu_1OXODYqw5#^N~6`*kt?UULJc3Xb4mqG|t)J`c&H z&c4n(TQG9@^Lw8;1ovnII2B`XnD5hKJS9NCYRQ=7L)B~g`3{6aF-Wdn-6?$!E3hcy zY9rf}#Q^M0o%pQBg3!qDANa-Cr^vmwKQr0Ai%ZfCGFP)}Kjs}Oz!CeaH3S-P{yP-f zWcX%ZHZD|_z?HW(`p(Sx3rtdJD=rW;^pp^Nak?+iv6#ok3H%fP?Q(;bnu*Ha|28h# zU!7_;@~(J)@6y;5qy* zz{(;h==TV)=51_~mz3Gp4#T5#UbH;vNM{kazy-lfbNv^gBAx&BftOES5PCP5{K-hdvgpchkpz~f|DjL00UmX@QB4HmB*KC zOZHi6xXq@hgOh;VuTWtPHoC_p%E;)r++p<)C|Emo{I_Jua|zsut!QYdTb2pBdf{^v zBbH@5lHtB2D416lPTU+oKYpVxmKDZN_#H;8%k`(Lum-dJM+L%G?H2_+-@2Mk9E?6# zqmLk`o4H3)2%_Vo%s;%x2!~n!9kYyIM7+N6C>%E|s~e*nF{^ewWKru{7z9J6DujpG z({v7RcF~2D-m09U?=2vlaygLV9bClV`ugt-zxk(#yTH*F4%>UB@=wDIC|eqx7CSqe z;q!F;@_pm6w5iDuQ4BR;$?O%6s<6PP4xf7Tt`0v|e3VXFsGhO!xx`bwIwujOK9pC9 zw)|S-VxcMV)1Fb}J?!q(p1!bW5}8~|S&G%kX-`zDnUXpP-_@?UOFLoBJt`{YQfMQ? zE9kyAk%3!j%up$X?PJ#4k^>utalAUZ@BUnHgz8s*OIH?C2r>bz9beeP_H+dklO9ws zgXKi!0>=iLtTYU!q1xYmaldNZu6k;5@ON(f5FJ<}1kKvR_#JOXeI)~Zz-(kAzpT-= zH{x(ae|>%s`OUPB=^Cvc+-V;t5nKFmVo~LDdELmo`^j?@h*X!LqEkyeZuS!3wk)b~ z9>i!sbcc@cg53$;b$JsZ8vM+~m{GVF6@M;TL0~NjNdu5`Fp~LAsOgL8@Q@$?`z$bG zc`Sf~Bn*DnzkU1E-hZ^pmj~nkOq-Sn z?EJprYd*%4;bdoVtC;fe4q|OgRUZra?Mrn2Bl&$xN{TP;wU2?K)w!u8iLex}`Zc=H zpb|9@jKulw>J+nbCs*KBMd^+9^rgUZV$}Qg*M)#+`%(xNGoL!fJJN-68x_DNil#z1 z)~SGopDU%b#$(=oCeBdmCgG1l0@T5+<07={IBoDd?B9&=55>N1&Tra{x8876)JMWm zgb@5mOO2ox@prQ8eLAu@M5qTtpnPQ_YII*XFGA?7=)%Mg6SVNjIbf?h z1?~ zb2l}fXwsk0Gda}y{v;-YNFscXH%rGPJ)9gN&1 z8e_XKQXnt9@IY5N$m;t*Dx=KGnd1E?{BHf*yN6Tr83}WriJt@7Z|P-4OZ{2%biJsZ zi%TT&Ap4j>LXbry<;?~G82|i4DmCA`;!)w#>baX>*&!kaf}goLGjCXuvfS%fY}o%* zj}H&II(INjfRz^&ZB6T&8shA?HsMu6anOxSeE{Cz9DEYNrf?%MVaq;@sC3W^k`mp% zm~j(40e2&-H8Mp>F8(Q+F}3$`;NDIpVVcs%@`R>_grnC053mMu!(z88EJT`he-#m< z#**``{c5Zv_v~`vC3L3NsBqZ3KbhKhDGs)*t52@z2!^J!6FsE3yDYKA?P0^ZM&%#l zFcBxK*#T}wqvJgbPs5)KZZ(!iVWawklgG0BEZ$h9D@xUKE^{$aXu)JdVw#Y^&u3RHrM|qpwFvUf{zaizJ1zVW*?tNjR3dI zUQ1hh_Lrr@|4#k#Vla0G@SHWS&7A(Z$htPWofpgNuEun+X;F-b-JQaO6!>?(^Ar5A zLf#p_bqV|+J^6TCIO~5#BZos&lo`3fp0(}J8q~Od@mg3`g@DK4#m;JXMaR5|!=1E| zft`E_>|C-{?x^*{EQOxeZb2s)Ra(Q{$g_w&T!! z0j?1dn$nCR$OxOe3$D87H!Xp5`H~z(5l#{KJcBKKhW5m%)@Ai1zrHZw5hl|~3;D5} zWTUB)Q&X&kA?A+vz_vbf{FARQaH;?1MeK^11Dviv9V-}ta_nnBI(P2gQ zS9us%54(KSW9UpFM@$@6%MowvD%G>J%tRf*%!qSv6RyemcK`f$54j!Wlcw~$Uc4fTAHiI+Z#4k$!9}-7#6kjl1_ek&&LrjVY7rZ1q|j z=jRhLD_;)uxKy9nTFbQb`zu8@_>o4b3I-Hyc^K@!x=opO^C$Z_54}xJJL7K1UC_#L zPJkUdAYmhqemPhnAVofV7)M5*`b@6on$$j&aP`>u;0^HI#iNna8&|j|FilXdP8udd zAWrjsMQP;TRmL%)+m0=-s&a!);l$)-hN#~gwtE`Hy^i)yAu<7%?WhtPU@%h${3QsG zKZfy-f)MELF3Y`>ndM;5ooUtmM_Yn4A60Ia;;l2b#3-5F))dVTL%Q1bQpy%pha!u4 zXk{E5iLbyEESm`4_9YBFV4>7Nt&~)vADxA{S}gojUfm3 z$W?Ekv!mIuzP1*J(cnodyL?eqoUa`AE5m|@@wn~O%;9>nlj@ofQIw0*{R$d*zWzCd z8aO`z&(1jRHK(&- zV=)^fo56vv%=-+8-6QX@?)b5UhtByjQ2)}gQu6-Gf>*4-qPr><8f<0N4cY?3aEt+j`B18P=AwltQiMSRLl2A+Y+i4>dtB99 z)j!rTFu|O=D#>r5Oh9AWXwWq{qMp9_-%YFdq>Pnkr=elGBZf@cY=F-Qcdke8?oJ;M zCK|CPNE2wZZJ_ZY#S#*^P(ccbypuM7KSRiFd2Sxz;7V$(nAMFJ{9|Pircof;w}>&d zdDlQKx~q6Yg)D0-l@wxYq8eM0?CQ&xj!{vCqOlFLnAXtSW$dq0m3T_Gsh@o727~f# z6$%&SYO>)01kueT+)15mr+S<$_Ymj-ipu&&q^m3$`X|LuRQn=$p<2X&;Nl5C3Iasu zLI)lirKBW*=zOa_qC(;811c+Kb&|yCgAc-cm-$?Xm{6F9h`$&5!5z8j)$VA29G2gI zc84V^{9P`8R_x7I)%1c@-<{0C{`2{75WUHMOOo%Sm=N0%Uyt`+W_vuiieUW0s4gjq z-(=e(6>WPL$-u|zuU)zFhbiFum?o5LA?6r45-5rT=i_VOH>}1Hb)3Dav`p2(k|W0g z(s}Q*Zp5pUJB2XI*g-faK+6V&f}sGyEBn8H75MFY5}>ax*&<12b}l#Nx*x9x z%ZQZ9LudlGnc)Fahy_{U(~K5yOH?WkgT87vzQt@1bf@qu?@t!i$Em6yfQ%G{WH!&Dp;;=M0EzwPG zjU0tkRD@*2@R>7c1VazXy7(CH+VAvW3}H#3z8%E34!II)tAN}%x3L>Z`SOo*zQ!%( zd*POGJ>#%XNYI|uMVjc`Kjdp5tI1or@Jc5+w;=j#p6-DA!MtaaU>nEki}D|(^Lv`o zUN_Raj<&~I2pB(VQj=WWG+UxY)v-Y~HV_MBR=Dt%SG|l4U|u{6>_`v$ESa0(`V#;M z={@M70#Z78=()flfE762s47hDH?!fFm!n?NG52^%cuEGsK1qO`3$Pl*A` zaVJM$pHOybN)UEB5L=Vbd{*CfNPK8E!uNF1F8I5`tOQ8LDMT=CVyZ(5JhRz@pyAqv zzQVnWjVkXIQ%ur=L@U==m^|$E1lEbRuF?wGvJRj4Ltv-9VdGb9xlYnT7u#6 z@yXdwn#axPRi=A;g5{OWxjikN8e}22t7?5{V{~x@z-r?q;16g;9mR?1?t2XOy<={iqWMI$1N50_DRin!fbHD<*=Fl#EO;_ODGMS ztR?qrjt<6|4&zlpnh@jxMbCfuL7kVSL&ev%o|6Uho-iWSwWXzYJdt`Eko~kRU5rhk zTTo0M_KA!k!)!PlmJ|k+CQ;(DUwZP5oiMk0MqUjrwPtj#5}8T8iN(OobSKo_y4pVu zIiNO;SjW1*699$u>heF&j0JrxuBJw!ez8d*DxYXieWl zC9y)p=74&skA)UZ9yX{hWSW20rKN`nwtR^qk7w^dIQ0?QxuBZveJv9O`Ww~z8|cK| z#WOacXn~ge%G;G|8^jXA8=R9rug4Y)&!eHt6qxh+KvJ%0(3(i!`XLBeSZ>TQ~Ut!Wm(HqjGX`k)5qNmO%_t=?!h&omszy-)*g@VpKGZ44cIz<;k$} zy1Mo0^?lw*zGn?`*;>IM*^t-N(M!Cc0ygaYbCv6bhtKPQX!|XYt9CM`HBH{h76<)@ z&%B>@dcI5d0%hDpk}rK`ywzvTFn8w`s{bq5ihpf5cx}2|K7|x$dRoa-->?BvDo;$R zLde{dUeyX$4gB#f zVrS6cjUO$TCuNb8EBV42rBCU3@oJ`3zj8&BTc(!lFIY_wlUWZX!G7hTR#nSMIu>F7 zba~Q8z&!#79#o{mMq$}P{o}@@k(Z{A=6{eWhwIK0mGu|CqBU}gl4hl2uf?Z!K0_w-7G%bqn1v=iQ+#rG9;jE>w@+=z%yfLn zl07We-NEMPD$hF>MMZEo7q~*Ve_jWhly|~OA};u!sBHJIUpXoI`ZE)n(jww#;^x4o z$`W*SPQ(AD##__L;n_Va10_;IT?`E|xn05q?Mdx||VuwvR@Oo95{wk{A+@ z0s7vZhY`AEM~H4c`rzUZiS#(=1`LKX$cP1Hj`aj6!Z_sYhtGT5G)hh}Dc|K{{OUdq z;-Nn`e;>h8{izaBEl;?;b1IkgWt}qLNj~`VlN4{4D0#!P#ot@QZg3tepk*Wf%6bw+=N+; z`K~oTrDzF*#RliqV$ju=<_j48GDo8Eh}k_0*+PqwWj()|Cx4>~g}#=nTz|!fH9%2! zC`XJQ74Z&6-bV_u&F8n#?=`Y?h*PqILJt@e8!Oh!kOxIZqRe%9N;NLu@R!R9r`5|t0v&fbNz7GL|KD+MZsPV7G`LxmmJj>yhZ*cO?L ze(Lcsp6J71sCFE+ySWKZhjF5*XXCp!Puh*o?^a2gV4>gGXHPOu`oB5eF^o1CYcAw> zk+bmFY!xbI>#I+w*(Y$kt%`55!UGxyX*x-3)|EfNc{iNfr3T#}j!&L1c#oGioyEz? z1T-m&11rg_oHazy~Po7Y(U`DX#egwffY*oDZ( z+qXM`63YI*X8+lu;BJ7G z+!yZ|z<=nP;36G0+B&MTjr)xypRn*Eq8lu$e28xVI2;X!LS@y&dyVVTE&s|p6?=uA zX+}gHy@W2MD>^K`QD&cfIVH=pIoK9lUUKm`d>5qgH?z+i^DdFVKpWeuL1@a=vEj!h zC5WDzy7=ieVbEw2i&<{;7$DB{=;chIcDgs-hw3yScX^hzDm?T&5>YAj79!50mvMCx&pM5j*6H)=v6lM0H|GVZrvVKH+VZ z^cA?>SE^CJtFM-vaB#{+w$>mYl$gbYzhTLqlR=QYSxtGZv84E2Z(P(N<@aJVGP@Aq(rvCrXcW`>9Ez- z*SAxpm=Uu4?(1boNbWbor4b4jU7W+Jpx#x)0d}4JtgFk{!B_|V=E}U`Ig{eFl!y+v zE1ER)p<3;pJen>HS$gA2tFRcjIsZE-SWJGFa@(j)@r2i&)R~KG7`s%+7vZKbtepM_6x#2F{R-tln}d+ z#AL+N`5QORYwa43-%jpmNM?*ZTQ?QmHf-X|FtXq(vSyeE`5}JvPvjTMa^G~3w?E1B z)>`g<^rrk%vUF&9gy$`GyEXG4_y@x1hL4QJ| z<6N^MeSyW{3#jk|AJp9T-Eo0Dxb;{t^`$eJ-m#g_avb2cqDw{0ayO?sBOge{(<6T|n1JKCKlaQNFBYd}Kj%BmeF#a` z!?VZ_MN}jObHex|1dC+~mJHQ)Us(|iKV714hxI)fkxcD&bD&g^EWhhJqhpjhZ+}AS z>5~l`#>@JCew$8i{8zm|j@w;66Z4{HyEL=bA!E@w&ukfeKfScpp)qZsQ0Xo0rqFoy z8KS$8XPf?QyD`uBk7YH57K}d=vv3#N6^#=thz}BFik`p#$4<4bHEr7B-l2Lg)sp{C zc{UfWO|0OoS3od~)K)puGp(07AUnRWdh-=vgjMGB1)Az1vS}}oVWdOS?*pm-ir|-F z$^6eG1kV~B`r|n^ey?t{1zQg$tB^s>g$XN!BvxElp9B;=&jHCb^X~<}^a&-*`}fz? z5)3?`RMaE3FDouz6{={hH@~Qj*2C|2W)Tbg-nmXRCtYhli0%MOp~$N>r$1-iAP&Wp zkF|P_oLn7*^H`K8RnE*EJO4@p5A*WP)6gC3ufdVk?uE+?O4dw3vLa8K`pcE>X1McA>zrLR_}xtc0G(=kX}1aUGt{Ehx9GSO zEOdLdgmo*9#v6vksV?I4LTIJdm`~^M&-4r#SNea)R`ilmOi7+CMvCsOniF;Up zGE@LkmVp@LNPvF$1E2DV#8ur2iz~s~F*15-wf>x+df-WhFvtED9E~vwGf%KA_{9ai z;$E?D=s!-h2KB}RQ1oMnmj(Lcy>bC5s@blfQl?b@9wQ%MNfW5}{kSdd2)vQ+C0B^= zXGbzeoa{_LxRc50)lfX@8Z1yIQLAXHUSm^r0)3j5aT|!0-J(7yD})vXVhLv^_lN z^<0?7tIv=xXCnT^+=$Lo!hQX!M^Br(m|wSufgmVVNgFUl8gaE(Dn!yT!+|F758_zZ zY^pKh03$6;KHnFNN{5O~A4?S-!Gq-J9Z!%P?+J#flKB_Oo3^HhGslUnnE`OG#>HB__rO z%OGqV!je>{V;u?w1$Sf?+dHBMoc2+Lrbc%}zI|w>q|IsTVd%$!3tEGH;mR$$lGUzQ zl3=bHjeHXQZ#UYF1$9CNDejM$cv`L;7?WNZOA0rP{{Ppsd@=k1q$wG+T{RbE`r!eW zF{bqM=T;}$ygd(CRwr+?x*7%8Gta3UdI;8(3we9en)vWVE69g0cQ3l{IysFlE@Fk@ zk%Zn+h^WO$bM^;4YFABaQJ+5OwKQE!KPmFK6bL#P{0!{4+>=vN58yfpAh0MD8BhK8 z4#}|gWmozVzV)|SoyBUu?ROQ(7pBZ&c<@M4rW*wx{CJGTo#=^Qbu6A8{2M$Oet#Rg ziE^rlw2xlKoi!DZsJwspfm`XZIfOH>Re4utNQj$oE{jQF>Wd#=2HplGLdfB&IwVx$ z20GaBE|avqj+FLoYrnIx0F-WigTa7I(yRB%4eJ}Ep26O3(BHRJd97oip6tH^Q)gP9 zKneyPZt!+>uO4I6s`U{LfSfJT-?VohL-Z|18}Mny45BAAU?jaUR(#AT&m8bqY^nxt zotmf)8p;7xGBd@r!JDkw)|uG+O}K?WDi-mI-jt-iy< zLPcQ{K~hF&zP?q6cmxqs4@O=GurSD)hyL4(D79VafS}>}FOc1&DdPHF>LhEt`_(lu z6migXlSH*87i&qok3DK2Fz!^F+mVz#|I|||uJ9doUC>%Zy+mJiL96J&!0Y>h7ud+; z$1Tvv z09yRz3mGzeG8tM8>651jnE<2viJt$z5qCQNA*2o-^m5AyYJS^F`xLuQzyiFDNf-O( zsIC$|-Np}C{&(f+t^yXWm3G!37+{{~k{G=jAfkhtbQ_2-S{lzlrVynUppdKr!8`eI zU92M=YCMetFYnD=gAH5k7@p(%_87zO!4^{$Ct}spg<`;)5*lZMJEVF*Hn^dk;8cx|Ue{t-JR1HEX5vee#(KN@GG0yp5^w&dE1u;Ke29T;#W&cp!eArKRZ#V;cK z{UwElIAOjT)G!q3@?y=44E-vZ&n!O#2{LhRJ?{ZOed5kBZyXedyA)gPiuJN{zF?U8 zZ6cZXmi(M#3zgmi-$M7n=@y}*38l(c*Jp+&+*SX#gk7+^+A;qTc_Im$&rE?B95IL0 zi{9-pmSK>O#zDEsb^h`Q|0sD^do!ou0m++CC+yyx%;9IR6H=$52r=xZ%+oHC`HMU$ zUypq@toI6^6_?08b_9org-!77gtff7x}pzeKAX;oZMa@NU?`;t4~_7E4cuT0{^*sq zHPK$H2yf);N9>H;Ul;z2sanb)gMowaKmFS3+PfS;$$SJpVL%q>=N6U*sY3LBuBcerSyDi}uN!^;l44HBhvUh2I(kv- zX)BgNzR^r|=J*Vwqd4wd4tHpLQAyunq+xFiZoI@aESk?tw6v#19bSkHVc~xjN=6{V zePf0!iOcRJN3t;?IIT)c_HFViCyrHTQ{IT|_rfZleM^%^GUJ^w*16*U&al($N4~JqQInd z#=kAyogNHzzHRm>qPm#3F$3qNMgIBSOS$GaEc*dD^|yjh(F?aO2gW7OV{=V$HovBR z+XXCic~txVYzmikt!EzvR3Hsafv27oe1TN;&U5skNHux{w(C#@JrBF^T`Pr!2Ng#a zo|LF9FE-Ufg4}8#O$?1r&JuuPZ(r9H+zEC>(^)(nI48iL>F#{%gh^W}=$Kh`Yz_Z1qcdI%quTkyW)X!=dDYETlH2Idu3c}c)P%2C>YuWQx zr;}UN#5y!7n7MyQD$3W#; z^BRn_^m4`NF2cd_dHi62|0&Q|iE+^yQU_p-4ETpnADpkWcenxm;7Q`T9l?~7L8)L! z6`o)UufE`9hEqdma!FK|88vbQEZZ&LHWvmgyfcrZudLctcEWxF8-KUC`nWKT``715 zq=V=qI*4t9gR7wvYyJ1=-ZaQfNuBAE13 z0?&`kC^P)Fi<*U9S+SFpm)zxxGaeO<@+xT~nLW~ORft8pITNShNVbz(^W*Xn39{=4 zeg#8|BSggK3d)zt3raa_Dot3s-X6*vVF#r8l{6GOI^tR@L%1Eh!9l5K+@JeCu!utMX6PXE1baEqv1u8&XNueoR4^E+Kl1ko0=g1GXiJcxdWw1w*i0 z8}oZsAP=U3-IFlW*iGwIEci5w(9ajSe4K31K)Sz&?D~}MaeElqivn|(PAB*V>Sc;q zAl;2A-M8uyl|7vXijPm|2K44UL=h7cQE)qf`oU~Oi~rAv+&HMsUR&Ur7v?upIzh*? zg<&iYotLn3pABj6Wx$SQ_}x#`4Tfq#_`kUwv{ViyTMpo&OLfNGnukzdNH*kaq*De5 zGzELJwA5Xh6F4;^=xEG{vGIvPtvF!m|K$@cY;DAWK%g)FuG=}fj9y}RPRLu)m*~&2 zWw-FeDWiAU5S=HYMg<~C_l}Il1|PKQVxi;xB36DIe|~4+8HNsc09|nIfBqc--fYn( zp7CX(y^>k5VO;TCYX+5=Rv}eC>N4TSj_I73ufA=9887t%8q>3_zgRb5`rXs0gh$b)xn@Z>yKNd z#&tLRjyLawM9^Lp4e=?re2l?W4p1n*ryKJw!)0i%gcv25PukvxX%L~p#o7L3Sth_- zYZoSHyTqg^{d@8c+%(a-ydk-TYDiGI-Iyf9lGG$9>olj?5f=N-SGuq$A-QdL?p0*< z>-$7e@SE?~4}HbA@+ekT=~95V61==4{*CM!aRSbnw_dz(IKLY>FXVFgtNzQIx?1bo z49#&h?}2|N98d-R683XFyDGa=SGp$w)eqJc7m6ZQMT?At)2a{BE!L&c zlfG|%xmn6=B~+jAZ22aYv6RJ1MT|WhuuA6ZxMh{dFhrpMrFku!os2u&efl2fLwgk$ zlkrV6CR;<|z3jP&3n4}Cobw%_iY^cwnVKE@gqZo_Cu^iOz7VZ8k!MHo!qxuvqUO-J z-|rz2F%XN%3ic@JAxl`O0|HdHJV=j{MT*m8(a;x$cQt!_j}Ahhj8lX|M?0gVpV#K0 zEG3?qT6Zu;S|oS&bqWQw?$x}E#AY~q8KU4G9iwv{w|Thz6ns_Yjz8SKwf(tl8!@hO z?|zvk>KyT*$?JhkW`b79Q(|fKXP)r1QIcSv(K$!CSihoNPhpA@u|(4butA2?(8Y+H z%}g)hsSm|Kd`54IJ07pR9a`T*NMAl6Lo@pM&prEN048UP&v(jAf`~T~Pvvm)ODs1_ zmXtmx$G5ywP`(ik3d8SpKemv(y(8?Q^CnB6xBm<3hq-7h2N*kKrJyysvM*8F@$JSNGf# zQN5fA!8>oASn^#uJQ?=o0%k&r4hII`rAUdD8*TYW54Cqg?TsX>6*dywO(jZe6ol7& z>c29?$|qXaSuLLh9{7ZatE+I)NIO^z66Vq|3WcgbPP=Prfcc6H$V6OcVYn!_RlyB< zf4&B2DmN+~i|G}6@l8}V`+RhtxLj@A8pn4mxG^@IgH}-DsDQz_-0yZ~q&^;LKcApR z=k=AhMCW8Wo`Z!*hX4HPv@K{AG-br`zRoULWqEkJoU%iFm;$2gFG0fg+G9JM)F~+# z`e_{-1OA@4w!W@Uj+#yR4LGeN^nBF593*7^8V!R+E-5j?<3Nc+x@GxOo?^QOoMBIb z0Y%6V-ny2a284!1Uy}LI^i|BcT7*g;@8t9}KiiQ;sxTpc^H(hK&8(ZKp=O)>f6t4a z*p=qsOYkOMIBho|$6>{R^ByNt5L%>mH`XPSw(Y=TV@YcoJo%D>>jnC;nc53!##8GL z{Ng8R$DdQg+-x!nh90Hzq^aS<>yIAG&B@3^k=|gM$XH^f!}x$jnXq48*qHp83$jtm zpAcT9pFW@o0O4P>zbL-M?sgm;K}mIegNrN;zih3|UBFI0&@jLMt?n*xBqm_pA>)bd&3)(~f~Sv(pjdjsnq&8SNg87Q>!JAiw}~vR!cS|@ zK!qeeoV0}rH>h!A&z}`SqiC((ZoDZ-vrOj4^5)K?Et|JBr&7oy?k^`QP3^blNJr~w z$Ls6rJ2RwDI%*)8!_ue5;QI&zp|2=g*}sAB`VCWJEOtpS=OIzrCaVuWAfzkCo1`Rt zL%einoK)`BeGc>?P~y$RW9oaLCW;Y#qFcz?ZfYPEAS2${lE;gvsr?dzJmM9N^widz zF-It*9yCfVrasbqUBC?bh;3x?REz4J3Nm`630f>;Yr%GXFk@hmeM#$KRLkq30Rq$m zoOQWSDCusQl3|r5)Fh9a&<`^_vI=2`QlsogjTr@6q9B z_kVm{bYJ_IDkY)#Ow^_5hK%3UYD!z<$0FpGndyrIj-Ti>7x_455v{(B?3Na3EJ(Ja zwxJ|8c=GmqhgMs20X0Y{@$`WPmHzY{B;Xxht@PnonDQH0{Si4Zl z594fd>|i-w6z`u&Wn=5DPn@VCIDROB)UI>G9pVvv~5mD&UEKmXhOey#OUa&|}WY}4MSodNG9L$9@Ir-j+r57#uH%Bwq}GKr&I_a_}lXNW-T z-Z3KH6WDwn4`^NaeR&GN{%Un%%S1S!?yo%xogZn;@Bo1CogUP|DTRPwaEDbk+)(N)ESap7fc zih2{Cm;Vr+JkqyBT`?nGyy(kfyQsCXvD#Lbao5UBPO}(CU-d0UvDY12YeHC$gPhRc zKq&oX!f|0KAZeJPTYH6y*1IK!toKB@yk6_DX;ZtH1&eFD1>GKkDVgoyKGBd>bP2@Yg1s0$(FBAuE;Zm z@)U{#K|{F}a-PV_WbvmP(Bl&Bj(452sc}pnd^yuX%mS_CuP~1mTO`!sdvgq-$e2D$ zeq7XhiU;nsB1Q?cW$Vn+N7Fj5oicAHlzwm5(xXUNC^A30Jo!s9@5oIA{TcaV48~0- zkfgwt8E`SzD(yEdrylp*&cz|+Xt3zcP1;s-h%L595~CsA(HKp@J+TKL$_HNVUK@%l};T|NIqABD>@735Rp6X3w`;;2q{^mN@D<2CDB4ZPbl&6+iIuV4n^ z#<~{_RkWxOQuOHkQB5A3g+~h+&OVlr?gy~oS6ql+YDRc8q9?jkGC$JEp0 zgu&Ug>`PYttQRRfcxVs3;Uy8g=U)Y?aevT|?EN24Zy6U=*ZmLE-5?>|AYHo@~;n)2Da;R8?fGOlEwhciT4c1(f+o5#|f5=7NfI1@hdPE0nbj{;Tle2VehE`VJR}AEvlI3L51P-F<^bvWO2GK8D6mc%4Xr* z954fu%lG#Xt#1SpThlQ^f&*<5`_~G&ye+m{+W{x&Ysf*hKB4wmOAz7HHU_kzsrPuL zwE&P5b2}V*;^$oTmsPf%pXG}BJl|FK;`%fyTL0%OSMPuE<=|WQpg9*;*f87MQ`0qD zvuY8m8{%4;i29Ez5G&3L(y^$5Km=%iHX`_K#mDMNfE1=bbn498IHF?fqrN@3XQ)dy zRC$66h2U%$*xS|qh#8Nd9|;}9*SA`tus844b9pm#f#c=?B9Pl9^q2yT^}elzPaSUv za`jW zoS`o1KNgld=sy*Qm3MM!6jATstAx+$H2@J{X2-9aT-+>`s}WkG}xjy2ln<;AA5T^lcL+rk4RlcGR`i-eC~MH;fj zJHW;h1&Jd7-;SS|5cqlV3@fbqcyUF&<{!W$l9v4RNtzQLUrWNsILO?1VSC=k((=cP z{*1o95U2QwYkx#AhygCe~cs~u`L0<;x0&K1c6iPJaiFGQrS!yQRr-lY){dEnZ~29Mz$XI(rM_V>3ZTX&Wxl!`51{e3Dm+t*AGe-?t~ ziRS^Pw16<)c?0!WtIva|8JFFnVqjnL_43xW)7{7e2W?ofuhBtKs_6{{dWHg1ehpx- zhJg_!a<5pXMOC9a?UH9vi!zqh@K;Uo58ZPvQCmY+mHU988xHNu_s4$=j_c^EM3e4h_1gS zfmPKmHLp=+nLIA62kAY?NO?^gPndCpbA>#l9j@LKDeZxq{%qj$Vi|A7Mb1YZD6*GF z<9^B57*}5G%}GgRIn-n<5JXQ;Uszd40vpe>V? zu`*F8huhX+vsiDvX5_uu_9bS4e4q_SEfM~^8Lx=Qj|~&@&{ZPgNHUFbrEZ)1soT>(9YoN+W`G4ar3X3 zRgv}j@=It#3L!6FSy7>X&Dt^HWwGH%S5X_4sZbpAQci~E#D&u*V%pk zOn7;;ggX#NiHnSk{Le%Nx0BC^Q{t7+n~toH#s23_olhJ--7%Q8@sy${6%`d@<>jPM z?X;yk3=k@fzHZOjanK|AE?be5_dUNsh~8ecQ{qBg6iJjUdPeUY0ZtgLAT!Ail{}n( zmU~BI7KbJ2${m-6lu*BJgLkf%yOUzfa4@QDKvwW_aA?cT%PY*c*eIynwH(9t`E(H_ zFf$yFzafH#YcRMx^3Tj=Aca0%%mdbIp_01ljh`61HdvMFbmX-|)^1Ol3^x(Q*CFSU zA(g!O+$|j)$=~7;Mz&M<6bw=C8#;a}B__(kftRg4C0OPPq8kcd7QR_>5KQee!OnLG zgaesZ1)+G6#=^KA&XD9zq7WB;F2_UAR*|(5&Bjv(AtLD{_4>#K-2G)>Kq$U%z!&^4 zIr>EB_FJz3AW4TM2*i6QCFW+19I$+Z3Wy#mB=0iI*}u&yu&d(2`jmQpZRf1qX*TAl z$B*JcgV10oDWL|>Q-UTh)k{6(-dAxcsQM+q1)Maw_XjW|M46AVUG>_@VO#Uv94&p- z>T$E!89;3b*_!ef=!4Cvk5haw#0l*y zIw~|ZHMP6`cU9o=iVq&Q$BEzCzqYw0D55Ia*#!@_^R!{oK!S+ zyu(UKr1^DCYYieA#R3Xd2}|_+v8B?CpVs?6&y<{B$fvy(e8(R=I_}=}J=e`;U6txQ zmbYZnJ)dA7O{!_i>AK z(fvI8SYAez(THG%0SXfy*e$ie`5)r0Y$sFrp)~t*6{W81jV4YeVDur(&wh~iUiewC z%?k%cBZ`4Yninv7EK~Y0y$)+=2bg6+|GtDzC02kd6yZ^S?@5KO;8l$rb%@`?wJ`VZ z2F|*7BpN82(n6@q?pJjzN`5es2<28uR2V<1vl|UEcslNt;b*#}&>uf!N&UvGn$HGQ zB&!T$fcyYhUEbS&-@wgDJI^=8)yIgnm%nX-Yrf$5q!!@~g2U!o*{CJHc8}`Y_1`0o z#mzz@DeM`0?nuxxdv21E$)m5S%wbAeq+@@-S#Y&qs@?Ws=P?k21p}ThUI>8Xl>4js zM8@&w`%}J`KZvL}iUys=h;|%n7}Wl^w9{0TVSss_q>m56;?YSE8K`vUW5^;s~DnZ~%R6Gr#$H2W@$MNT#b`L5FjCB31 zO7k%v@5LeIbFC6tAZTGC{JM1}q?ti@eW>`XGC`6D6y@*94hMA>|9jz zWtmbKX!S*e0q<69OVRUrdM98B4ph7pIHTc(gYoZ`-HC+~r7I(~>_BL6U;~%RG>Lj1 z_L4K}&a<-pPm%U=cKTuyh~UVXi22uVQa`@e)g@QVa1vYgy&%a~ai&Iqac1!@1VZ4B z#8m|ZlB_ym0D&*F#btXWO3o%hLIKQYwzK6;41V0g4cahSwz;P#Q<$SATrTC9&HUR< zkr%$qOe?L&zqDcB7e}~8&S#+)#vFdT=Xc|OVu%dQG3TP3<6*hHs;D383AZc#xhhzv!73Djt3Eqc5 zOGlvSoA}0Nms~%K4|I7vvgRic(hn;eEvVmNB#+!6QV2WT1bjxLyMEwji>CMuaxfY{ zNTVx_kk=;=K%p9QcV?Af0=Y>P_H2lI8L7?%X~Y@#J=bT~HN!_CPc<6zGip}n>KX7* zi=zc1Wznpv%F5GIB!oWQPk~8TNa2Se+RIEfyYvCN-pj0db%P2;^xJE}_(sMOi3ZFa zjB3XODpccZKDT_0DGJR69EWePN22jBPlB$m*#j+oJVNFU8EiX6K(0ubX5hhu;8nS20}-P=6pDx-aFj+T77QM2B{=SB%|aU~RWJCti7)q4g4G@bYcTouF& zFvd@j6iLu(bWGXfKtkSx(;%hCG!`lMDY{RuT{R^uE7@Zba#Mt@4c(IXV>Q5axk^XHp~z@A8z%4!*p&Ub zXeeV*G&(X8uEmbQ(`p?4UYQ+Kb<(e!LpRvMZGPjx-Pcgg}Kc8 zJ{L}`<@`ug)$B0Tje4VayGb4BusfGs1eV87ems`>Eron>msDaT7z5RhZWnJF#^V_P z>-?K}?5VK(0A53#D*7}+^Ca>94r01IB1u8eFl}12CWtmxx|Zx2>$}(U4aCh%VOb*y zqOf4!4hChu-F9$ndg*qm)Xhb1$DnZ@3shCI#@Dewc^CdzsItEz5c zq+FAc>^l;oCxpBb_tg-PkGgEAuI{!1{G0ri zmP|NxjHUV&?LPKxt8CeEgqf8DK?Z`OEwHmQHK~x*#97piVYSMFnYudVU2eXaq4@0;~yr&zN54FK7Ly-6eqF9gBvVfoTf{cvAHJg zGLPjb0vE$G$Q2s;t~&`XL2=@75&yl;in4!di6Q(|+SiEb@igA+1!#vzg+R8QXfH2X z7xq1&wMUezBKK+1qPN)fnPS?DfQ=yinFqeV@bFY5_6YinSdfeJLtZ1p{1r`noK-gn z5f6(syhRI1R3|Zxcu~I5-_d5bxNZ{%Je^@IB!z50dkBRU&SrC2rW|_ zhLLF+cx?em&sDX_@Az$|7gQ`Hu8m3*lbti z>EY((rp9z!*VYp32?PP6_>z-7VcOiyHWplOl&QPT#&V>VPK~@CS~DcCT|*xm(jwIz z3&WqwaYdD3pPQK=XE0tL@(BS4^&lCQJYw3AOYy1}h??Rz<}h(HlW2WK`!0+FV}DMb zeLaQ?bw1A3F-O>5esy(VZVB_pd`%UUegbEo$rOq+#A-AqfN`$OhCOD?28y*lMXDg3 zxY|ciU0$gTCoYUO_Jdb3xLos4j%CN@l$W@R6_(>tivb;uw1}Zc;RJ);k|CijG0vXY zZPMhDl*wHOr7Owq4I$o~8*d^LWk=DYT^bWGhJd{FT}prypnn5;LU6~!%1J6vbX!~8 zaf4O|j`ao73m5Q0DDFBxuh#?te|N}i>P%MgA1-Y2Ni*HHBt}*)&N#grb2!+kU3s(f z{Olse9pnz!cXG2FY5?}v;?H-uh%nyi^pkr6crY-F-`FkIhc&-9A^Cs>=;3MwUM1wZ<@%ti zlWP3!ec^C2*V9@oXJw4_bDNit)t0DSJjLC{cbS-b2UadFJA3OI5oY4t1g1XGr+P@(b8o4d>R*RV|%+u35U9mH$Ag?6JnZ5gadNksb(jE7VDX8w2kC^(Hx-lGm-J`(O0kOFk8K~e~s5BJbe5cUq;H#u>UV^m`d?NIq!?n-p;>oz(;D8^Zn&h(rvC zeX2zfxa7NP;9x`H(5~#;Y><*3)r)mE#i$|6yQbupcPx+pZ(UOkQ4x#snb^_L&`{R7 zIv&x*nW1QD{_!ImseOEGgf8wg0b6W{iz|6md@zVC|8$gOf$|eoK^m@%3&KP%NW-55 zs?FLZ@m=nw&S-fa-Se#m0*vbJ$q_r_x9Zy6SQ9!BV`klM`E-w6ZK+a>2s<<&d5(uT zg$A7?TD2)KCj7PP&9tA~DeS~u5QB$$k%=6YR%=cCOe<7TeC!c4{y&LIsLa^&9`~+Nt^PRu*#LAs>L@@XmDqIe(6GX{WQl&Jebu> zUcDI=A& zGy&moMr+uZdt=$ZbtT(=!{1hGd!*@3ecw{^o2Wq{`-A|IIKn_z*cB-+k%v?!w1`gKNCEGSV|m#<7SbN;N*cQ-)wo73w7P zMJSi@C|fH%GA+SDH8a8mfop&w98bu|PXUa1$vRN!t|`&!|Ad~=>Ns|T1(X|n+?o&w zNlQ!fS@k&){rPiV$)wIW2IPzT_d1eMKoS5yB-L7jk544D@jl|hq&010+=!$Ju>{3o z-=ivEK&1J4w6$i}D@{c}fvLOpJS#^46}_COLI>QO9dBXejveqK;>++}cXwMJ3QS+O zAk{;8{g8WJa|BrSFkK>F8C(2k>m7ZKw+uW-=f5`rF5q)S&M0Ej>V1Dm&N(tE8Ced# zy~srP5{YQjQJo1Xblb9U={xQ1bB9jkQ5m9@gVe+}T8KM|^WF?`&4~vii?b*p zsMx_OdI9t)X(7#?aHo;i(lpwDiN%ba43gx^9u;}o^1{q_uO6>Z}eeq^hV(3d2Gj)8PpP1ynb7L zNDuCuo}CFx=hV;aH154OoSmCnYqy!Pnb*}u2llcdR{RL)STHqKymEBON2));AYeI< zXyFlj%D@IZ>k%h3_IvwCqP(5vneELr#gzJXFL71Ec9Nr? z0%x0%<K5a2%Wq$jI|djRxy75!cywZ-XS{f*IT0^AjBZe3;c-^-*LOM|`ih`sl?_ zGhFkfl^2p)f$1$a|I2Q89Zc2o&9U!ZRBsu3w3g72CJ4Yt z=l-{YFB)n0IkvO5zB|u*e&|H$e7-;Md%aIivr5bizie#>5@%s%BfNE?J4auk*fsv! z8bK~9<0&+wL5Cmlw^z1{!|?WdI|Z-}l_4>_OoHdg0f4u2NnB|A!*Of1-$O)S*efZB zlhB4MLh~mVZGWRoUI?{~AaGx`AW6ZNoPtVhS8e1{gcf)UxT=i}3Z2-f1w z@5Mj@yS#p+s=4UptZ4VX4(8d(K@D4JCFH(|czFzg2g}M*(*xCIwBV{`ij5UB>Lfm1 zYUV>KuIUq?kbjW5B!?lLRA!f4XHWvG+NVW&2Iy`o{B^)4`K%f9Qq5$hmb z0;7|omt*=fo&}Z}#El(SU33B?UZhmdN#Qp4j?F|Po)&oovgQ(*iwgNmMj8?&!#*_X z61d!z3s;B|n(xEOZf6sMdT7?l`8wJXC)`s$!AUQ`oH7}>-+#t-XO|dpm&C8!SNz0{ z-auiXmPU6)X(xx!hcdjbLIvO33jE(D-gfuSYdoN;qT;9nkPtT-^|zkDzIGk4FvR{8 z#?CPkvK)4cVpoVT<4wmIyTj38{fbhwEGrlmPbz!4w`6%zA_h9Ris5P@O-ST~toLBX zXG=SaYut~&JR<&Q8GggAdrfS|%Ei2N)*iYUo5Us3@A2+({qRd52yG~DO^RbndY574 zlLIrJA*%bZy`v-Z8QR4~tK@iH^m@38KLL~BTd#y1moeaC_q!%~^;~bepzEmbAb!EO z(|Oucf3(z;6JQkZYFcobkWCxwb7?QIEzDKk_@-tIh&^=;dbbh&_Z^uL17k#SuQVp+iP_l9 z{fYPYIg}AD$0!WPQXBHkMRbLU*g=WS`woQ6f?g3l;_R>Vo%%_- zSzGa96bNf{S!(bk42Xk+*)0cV9w~mtFqaqKX`lYx4Wbodqi$T3PuCL>b{SdnM*#$X z%0y6Y;-kX}H-WfEmLYa7LN9Q&8q1*N$#z*l(CPb+5J?unfTH96LU?eMi_viiv-TDC9JL+8vE739f^xNwunh-1sNY0coVQm%wmaa1 zI=$hI)`>51XFlp)G@MKF5LuYV>sX;QVw__`RV}my(89@l>rT0LgN6A3vH+d;;h7xJ zzFAqd?KI4#^`MfA(Zoo^}R)p;<6<8UZQlFXG=wOU_j4pcaX(zYs8K}DRz%&PjKRp|f$%4?e;AHXIwJT$k2{@9>6yl< z5wMrqp@HB|*HBZS@2J<3KxOZi4E>>dghgKHBRPC~gt$PY4Pr7zNxqrY?$uJq>n!T1 zu95HlNmrCD48U|pUx;J9y|12p)Q>$bc5%1`D5VXZ@>?+W_xEWmJjUof)sS$DhE(I5 z(vp8hQfC~%rGVov#7Z9?2g3iv0G}f^rzN^#ww3_V+Av znT#rH3jXE-rmk4zv-Z^@p8&WAP zM#I^AALrpoS<+x&Y4Lu?{dWj?yrAUCK0WdL(qGSHE(@?@~zyF95@144HA^e1F<+grg5j4n6UUo?eYv!&RX4P zf0YKTj00(OBV|Fhve;%(ymWZL-a`7BHVEf={li7*y<70sSbC*fIU?A9;UN%Y$0KN_ zWwk)kNuX=hw3bG46;nQX>-}%DAIqy@Z_i;ZSFu$6YL;-1AB+ky&F<=3;Mm-j)C`kM7blxBB0=0|HJKfUCSC9-2M+P3f&wa?%&e$Z9)G6O@=~b1dKftE(g=f4)HCaw zE}K$s2xwzOM`uJ&dxuO@1GpwX{cd8qUy9+Gk;^AX21g|57Vw0WXI<2-XZ~m=45<_d z%CC8~uEiH4A7QAFR4v2)i$e2DOt)aciCs-2+Qe$LOmmW^_@^#2O~bS6M8Eh%M7Yn& z9k&$m#Z+M~I6o0%#1qmB;9y!8kqx$)RY_CP&L1Ck#@cXKR4;QVa8*YL&+TJ*{vqZORH`L1t+eyBTBtyQk^z5! z@xtjwj5{InNUq;CWc+xo^Q0^ShYAW*j~ zZ$WmtG$DVicGK{`1L64U0-1+HGcl1oJ`=QO2FX*>2TG%yARWNccMTS7<8YxUAE8;r&tL1<`~tg{ zx5aPp>$%@852$Qzr{lyH`LcM7xV`&JjilCDeb#Rr$Op^nepSOLOL=r{_z7O(1c5D; zTuEbFS}o$todT89?nS~FL-8z-1Q{Hu-HU!)cPzGZ$&O-#21*uo9haG)r_Q(RXzz34 z{2g4*z3#qzGKd}R9yLMm?|LB?D~RGDL4vgn-t={6&o|02`=ahD44g}EMDg#y_}&}f zldb%Z`@<)26UF>vF{X+`zs2?OKw*tVsraig*01UKri&z0=ipcRi@%uuM1Kh9)5EEE zW|AP#FYcx0dQU87xcU{9Eh$p!(+S<}vZWa6=7187(ebZunm{WgX}{Wn98e%72&Cy; z=cznjRQ?0=tIEp4Jm29gEG!@y6sxrfq&*9&$(Q}HAW*ZW$?EKT80>9X^&1N^!1SGJ zvCY-3K>k~e_%EVC{{FjxjH;TNTEO0xf(H(zuxnJ#ZUBJuwKL}%S$?Tv*ACv4U%gsg zykV;Jaa@`B<@eBoimM@|;Z7U`p07>nOWBeX!i9C63+MX7hSg%L^b`AcHS< z#{c^vSSmCeqLaOuz6DEK5# z(KO$e%wg&oXZc)oD-@0}z99&@d;^9}>ZBmVB#XYv^AwBWfO;p!uBkI-mZ59m32uxm za3e~3KY%=wfGgXWTho$x4dkF&&$Iq@JmcT_b`#F{oZZi-Nt3ZT0!#id5{n2nkV+?y zLm`1K41dKZfv%YU_asj4smjR6;QH{m-kopHoh)^}R5sYIu^BYlk?m#d>})SyeGYb= zxC(+mMSG5J_-Qiz5I@^CX-OR~)Yk%D8(*F^FfWoD}uSBu!wN(EoPucm(5D3a&BdOyh z^5@0QFjZjAH5H;@^71sQ3`GQUk^aNEr`_DD->xnhWZyt-n%$)seGBec_TARC&|C`P zygpGZjUj_88^|koQ%Ic=&eR_6yQr&>!Tw$G<4MUs?p|TR5_J^sNHJjV2*pcjt*V+B z;WG*0HWlER(h7)u4zhhLLZ3;U_5-~B_4gyBP@Y9tW$wESDT+PWshYje>68|lt|2jDCIs6a5}6$^WA5Mvwr^Zg@lAe+?3gSYh>?FLJ`Nh z^%PJf-fjb5kB7#i^h%xfUnjXMJ|?KYehn!?=D$wXq$t!P7M%=&EsNP`q=Z$wvd3E9 z5_B7J%531gjsf7Q!i2BC4mO$%$X_0HnqlptrwfR3s^f@qQb;4)gY1?B(L`kxyJmQL zJInYgZN4ZOM1{g}k2Y;xncN}QneS>CmN*@&+v;b#*KIQc}i@_$JHM9zdpPikdrRbt+i+?M=7eY^4 zkA@0sb5p(#A1p-%vo|mvVWEJhkrRR;(mo;!YgLYhLI>q_jZ5;dw(EOxOkS4qPk|QW zEm46GpgGpP{&E~1J|IhA8n2`HX<~EP@mmn6!;hgTDIQx*t}8nucd056MByo{$Q0OB zb9st`1ppfg>%o|ufg2ke+W^V=#oF-YSC++!tL!2_DlSz|uI>ukjRvv(ijG*(wbN1m zCNcG!_>UU;BOM3vkYkC?@?|; z?m_J4bFZkg(3RI@leW^Xe+_tpXHzg>{#IStpDarYE6dA+ShS(&))b$(2cb&aOl7B+ zk$0#cj*Ut+(9a`Tnp7wiHB#X-$lozs?jIS(h}t&2nj^Z3^G$4=kp1^Zb^t&PSvFi$ zi@>_S4{-jb!76b%Qg)&HMq?yNMwChp=C7n6DVGtIUFZ>egZ;_*_JfE-5$t=>sf{Ex z_l_ir52dcdU-5V3Y|7%k^Ju%``Qq?kKptHW4`wc{TD^LO0NXz}aAaN6zyVN4+BCCU zkvSDO+F%|sXelB0gMCrWzM<=Jf(Wo60qa_EPaVxA0eS28jO2M5yFE0UXkQnz}= zZ@k5{f?PKVf}<^aYxT&&{lcE7i7V=%_^Cc@%nm?ZdT{xp11%_&E(!6{0VWvf*QvRGdXI^^1i+6_2s(@0myrE z>gx92`wSEf+a_DibB>&5o`t_?`4LGv5KH7f?F50OQFDY6c-B3$>vPh19f`%&Hdskd ziX6GD`#?QBg@QE|vdnN7*MDz>8&c}@LTCi3eXZ@UJtj>8m`xS%VmvnJvDwl)tfW~^e|2hO%i}TO9jYw?|-WL zj0?N14fI&M4+3pWMboPy(m5}kUf{>b{-+qRyLB4+{aar{HL=s_@fO`_479VZJhD_M zn^V`n<04!RgaO9Zl5FBq3a2=}y!!Ix@c6U3IuN#eJJHuGAb@zIaU3=fE_Ed;3;E(%(QVB{lV%wsst_*CzP& zODSbBhK(mfx8qgiasU!WSpsnMXor5gcj=8ZWE7t7v*|$lOZ&5*>gt&}^hG8< z(PV(Bkqo&@bVh~;@1wpIx(u3`U1x$aKFhW@7;)Bb#kUrY&mS!`wErJ%NSILv7!;Z} zpH=T>E9Tw-p71|gT3)-cu`_V|6mstd`>eXC`j5ZCK`(;~OzEZ|`$JoFJPG-U;L(xq z6*CPhwVK%~`czTDvRt$5h62-}G0SrrxFqBDKlDU^b%0MqQJ^_R{x_{_1l*dsx<0?p zw|~P+(LUywrjM%%DNcFT)dl~sr*TXVN|a?rg-yHl$Eiogl#uvSo%)3_t94fvjE;^b zDi#en@5F)TGWqvNFNz zY;b+BZ0bWoe$W2qyooXrIMOzxxe@Gu<0~>$LN$5$ zlF5sng;2t z2ScPDDp<2THGz-{wbehrKEi=r>or`ow;RvWioZm*6F1v&7%_ILOT3j>2yrgwbS07SiBo-2BaMAlkYTdN^gIQiz`l)k^e zpH(MRDgsC5uwQ%Ftk#h38|mWw{QS#qlBp%-J6D!Q#~1&|riS>&yzQuKZ^_XDDG0zU zgnLKN>8{^@yf2hS@%$|HH}U34L`HV8_(mUXjpxHdv$kz2*XWb7{w4;X(=z&Is0t?) zfz=%doHxrnzyBB)g`8zi4a3IQ8{x&&T7OoTzqYswD~c-kPP{d&R~lp&O*Jaw|otfa0wuMK=CJ zTWfx_$(`+S7-Tx8izUlkOtK@I(7jv*q{=%QT%LbFZ9H0fe{{rZ!a)+# zPnu!Mge+}Gtornoq%|SYshktL^%H==aNuPN(@RF8d>$8W=xJmmcHL+lT zH5y89I8N`sFQOz5K+ylSyqslz4f2O>r{BzV%S#o+KPb)XMx1kJ{Jvm^u@9Pz#f&m( zH){I=y3;h{a3S^_Jr%EmG_9L6#H>S7aU!#*yt}zZ+#yqSL`r*j+5w8v10ik_K_lg) ze;A?!cls7>_Q$!X=5HG9`jKn>xVmcP>Brdo%v<)sq?KHi286{}#x>{2s@IVb>c#SoTr-Um%7)q4L+Fp(49CJ51SX zve@HGmlY@TwYw%8)(Z-)C`yqx6OHKHhgbX3H9)8>G6$u?DN&8t$M;Ra4o(^gb(x$k zR#SC`9Ty5Qhe)<#WMCjKBAC2*CR3fwXCda~aG}m}_TmC|#kQuiT2WJjf0~|PX~~G~ zIcyRyNkw&CgbMbjTUNXtrQPTvT=_0v0w+we`(|f5(-~*}d!E#)8Od#e*4V<0z7PQu z4`mITrKDtsAFjJc`JVT6pN2i^=FwTj(b19H+4Z&eZ^m?1)E{A{+6%}vQv>rJ7lY$=s>vi_(4-oonRgmNrkD6n_K_qj;^C|HMH}L=`(sr1xJ+2pZSx=F z=Hce3H^&$OdqZd}D>@4&EluH0j?ZRqOBD}KBn&A zUv$c9H;TrOeG)k00rT(2KGrl+=BO{QQ47+SH7V4DVxxe2I;U$B6%v@Wx<>v8`Xd%jfnlLe)`6&(d48~;|iU>5)eig z*A1ilKMjYn7EnmfrO84$@rOh3cmlw$= z7o6`(H}vwF0@|=nulyEoHFI;uzRjb=yE-?PVlHZc#d%}MGSn5n%WBqg5{_Akue#w<5H*0l!N=<9aSk$)PQ$V z7pFO7HfSis;l0Sj5gy$buktQZOEu19;iIsNn%v~w!YwhSNV=V$LRF*|&fwf0}wne`8Rf^25Ph6b(3Z#0vHm+|E77+^}UHKu!rudf_%Y zCOQ}sIT4yOc=XZNUr}FbboeKV8yXp-!yADdsZBU@M}#TkL1_gl6bdOk8G@Ns8#Hoh zXZKQ0cO(%~HoGa7P&o6!G?Xsz=Dev4bwx~v;%yAXE~P0>xPN$sY8Kz)b#vAvvDEbR zrdidOuhy{sMsy+S@XAm0i^JNY#X+}O&o=3l9AnX3O4>6cJS+qA*E>PiGot@_nBKYs>sqktg<8KzE3wRR$s+=HvbZ!*BO z=6)LHx&U53XTE8%T$P2jBc_leN#?%mEuw zA9_NsWYOkwU0_naT>iL0Wx_?n5K!J>yf2V_t27l--r{h&^L6Za=Q|sJ(Sqr5Uk2ZQ z^qSo-`{Mo=x(EP4G3!LX@lc6nO$P@s>^18_9c<_5XAc%aD`_iXgrf@vId8GBlxOqG zf663v`8V(HV{Io>gZFB5UTx|g9N3Ic6#QWRiabDA(9Gu5 z5L2vk7i}(b3*dm@G~AyqF>cU~mhrGK?r-sL4)~NlQyDT`dcBcOeyz3BSw9y2Wtzry zS134}9SAGxDveKGVkG~_E2Rr^!RpY}!Dg*w&d!!{C@q0?dT z7kO8AAfLOspCZ_qao%JM9=w)k4Xk~bSvfKY7nQKGbA&PwcZB8!zSsyO`20+jQyAq# zgC>nKqrjy9Xvau`9!cE0mIJ#B(vKf4E~Bil?AiATS7AP-|1ExW+B=;$ogUgn@1r`! z&-zD3M#$Zd7tsYGa3viaIBTi_=~#n{GlSbBEq2C*#$|p`y518_vDmrj#|6674{iXs zhb%+Rj*s4#_pz&-+_K3qV1?P{P)WSyKJy!}ZT|mQx(bITzb-5wB_$wTBHawB(TI`? z64Eh7gXHK&M5G&rw1S8@heU2N6;6r9#Ry{C=|TRKl~EVdY=gi<=0UJiJe*Jv?jenFSUTA8RGYb~^3m6sf)D=_jO4V3$N zhAtRCgfE*jzov4#rxn=ySpXkkTz&x9@1dVRKLN(zpxf*JKRY`m>gv^0B(1HzpDJ9M zu_?kIKGd7wjnYRHsN*3bcJ-y<+O^;aFr9N(0r{)7rXQ9XIFMM`%h}=m($3H)vMyg2Jqs}q`+j(D(%NQn ztA>}RcVlH3Vmkcpz?*CS&O7i%x%^bj>8h&v?B+|H%-_RtwsKDmcJh4fmy(yJgq(p~ z2D247RA(jC4a{F?^utJUW6?N_Tt-so6E096@cKsu;n%sOPukB|_QEn+U*Db&1(@eF zU$z5w<1!T9q>2m^)kD%iYDk$$W0~RA090rnFT3rY#`}jcFWAyv;h^-5m zta5`O0alW%N~q_;bCKjq;YMnB(&dV>q5D0A%8mpLLIt-mW9q!mh;e^6sP-)y?;(zR z7ZiB|<3(js!(e3(fDvm9e1HqP=lw*=)IU^-1ho>bQGNu89g@RB3DXoal2+NhvuuBe zhx+3=aomaKWv+Nei49Y8YL&crDg3}83Q+6X3H&?%KE0u#9Iu>aZ||F?^Sz5LXE}9s z(eyoxp-8Se;>4imRN^BNDuHoP6Lya%E$^e;DZzG&nKLeLc2?b&O2eCm`YMwS(G;|)y1eE;S&H~ns{OhWdK5Y=^xm5onB&>E*0D@9k93BtN~ zbjl1t!*Xsj@92JtCc2F9X{;`&lO9o9`$ask^PoZ`1Xc}Kdfk%FjbOZ1pWB(5V=l+H z^x0ufWwiTQ$s1p#BK~FOzBW#^{x!<7mjv-R?#*il;Fh;{-x(li1jDTWLNzxvLWP8+ z0w)d=C6(JvRwP@(=9GpoI`^MCA0tkisn?nbjdy4Cv`16_4JP+>ZnKUv$K3~^w3rDJ zNeOWNV_LgwT?ENq;$z$;RRo{T&*RNDP{;vlDpoReh)-8s(?u}&JYc7EKmHk`iU+`$ z+j>U)S7?jl;{x5!1_@n zF%2c2I&Am#CbC5Eh(#b#;Cw>_^Td!+)wswhqm@UpH-FE)I>#!H*p)EKnGcDhsv9eN zU;Sy4n}Tb)b)vwZ8W|C@0F6h}CIT16R0k<*!$oZHp=LZj^a3i=I1>C@L8aqs-{J(v*z5*%~UUX-5wS@5>8|#I~ zoJuJtx)qp7f`Yvh_oKwmbsDPhc7*z$#bS9}<&&6ZW2E&AJn`B*+a(m=!r!+i4a#3~ zE31Z+^Q#&$R$grYuNSHlLR?&5fZcJjCKGVc_8xz&Q0BZ}gZ<)^X^+Hjl7!3 zHU&0}&RDS5*no7!Mq6;L=i}P^Z3{&GowKS{0i810d^=_BZ|C4gGeUjiF|QxI>NPE* ztD|Y=B7s=XL`x2DMHS9a!`SYT1A|EC-5~O!-B`p1q?en1)qa^ECCCxG?ThspsVHXW z;y^q!@cqkt)1O0U(Cb3n(`{;uiKs6Fss1J1X>XKhvVyeRpa_s46|CL(|5rd*16zxo z-tO)M61RDLk1Caz6I_h3H+bQMP5W6kIQMvWVILss8+%&?p6mU(TrqCRiK1u1S{7+o z_k}BDvSVuM>+#vMgP31tNH7Em$iiW_%|O#+J$pFohX*e%DWSi;={aR)j3a*?{rcn8 zxBHZ8!Em!|_$U*PAGbIk<+W?N@VBYA#Y;kaH^+a~BZ;uiOt1iB3?0g|nq~j?d`tPY z9K&1sr-Fs&JG`{NK`(!bh=?T`toEKLULyX|+ z^`;26U{eBPnD$h58)E`AB=tMih3Qybm6l+d@`dc<2XJ!Ny32?!W1ntf7jTg_jDp{J zJDs`IYF}Ek zufgCxV%Gh4%-soJpAQ8A6t1Qw|EmlD2I!5OOq$2hXd|t>&76`*Vs%u?rN7+qu=`Cf zkOB2ovZH;*8Hyt^NlI=pxS z1B1#tqJ$MOYDM#guq~5JP`&RN2?}!;CvD#7KzBdM>4y&U*=Qp>9-?4onG?=J2~+rQ zrLp;O)83)K_#~n*yJ-+jDBA?>jx<#>^NV@u26z&!bss<}pBdx+#RS%f&ZXo(Vhf&$ z5&NI%Pi>TtxL@G{r@#W@6ABC|<)5LT{U`wdY`cM8o;Wtk{5itd zxW8t(R)=wNPFyX#2hiPBX`QNb8qJg*ZQpQ@ht7D8;HgA>?+EzW#3!yVlbs-%nqn2i zQ4a`Fhtpawvv#jpXk(nmC9!7%Y)A^CY}B^Z5)O>5TBMv`%^SM`58i8>;w9rd0~fwSI`ma}g0Kl>pP`$8g$u2zJ?y{0A)`ty9EL~qQyJNVV9UtFDDnzhgy7(D*BR7^3;Z?nw z5gA9Wg51W%v#QlwH5hn^R0+#%Wr^UUa)U}jsSchC$&a3Jp|Jq}nNWb+4K(5BrOyAh z5o4>}ZS*ho&rAWEn~(KXiR`)$;YosjRNjFTN2}iN$h#nGoyM&I8nj!xUGpL?3eXPR zu|3q@9)v%#0a2MJ$)2g;z$E(EL%`$y6cHN%Ox?l|But}*^>rBr%+$5WBlBpu5DRwV z+K-0=v+d6^i)(-&5d-$XA|zSes5V8Tipnftqu>RV3_xmE*o>u*5EZM9m)lBk`2$;a z{~OjK{6swV&8H)VH@)o9_d-%0uOulh+lO$pv_bAQsuNQWGXd7aQhi7yI|O}a4Ne4? z3~ji*JS7*b1-8*4TNBN=XSffhPdVIP6_@C!HsPL=`f&F*{MzNO(jSG`m7*{o;i29K z0VIRLE@3vxQX;H@Cxc^YD*nn&;iDLqNqu$Im7gE_+}vT6(j)36UTSKpi=Q0I!pu8A zkP4m_8RQ7vff?U^Ib4S1w{{!H-bYoe=(*5Zyyb|vaMEkbL~+V!L>1>ZY4i99R`ejh zJgq^=!cuY&oV-QQt|Uiu!AW94Ye8zkH6Tw@eGIexZk|84d5AdAt0SBvFy+QTU<3pn z$NV72fq5(H@^sZ#(f(&BLR#wW)m?M4v;e2zMe)gmL5M%BkO~S|38iC-ODd8eNhW&QjDst2ipqN z%t9vsDzgd&krIBcnjJ985+gm>;fKFOXG^})@Vp8Us?x2oZCI%48!DI0{9T~^TZ>bP z{S*%jDeDhpG8dn#w$b3^p&NBSMmTT-MsG3gGdW*@rx1BWWpU?)QvVr(4&d)Gex-ot zR$WgG8+(eugNN9k24?|W+Kamu%ej3mGm6PSfuO@`-Cz(qxc>f6IM!s!I5un&7#_z| z4zOVh@4yMAt{NoGfJgFohf0EQhesK{+$6IHEF;4jSd;)m zJ5nRTXS`%=5M+eNTI8kcHT#X+sBbu0s(iMCL}uXGGs8+_V>*sOn0rTJb3|s6%9gR4 zntim2oluqkcu!_h(rY~!&U%-MB`@Y`g`~rmYdVX2MnZM>afoPt_>JaAWoLq6C|roo4;pb2_p* zV{ptybL3)o<-?pNiy45uQT2fJ)lD#k#uHlyueKR+fZZ4bP&*W}^0o0%nX`dOvcU&x zQIJ^Cf@D zxJ-bIBs7Ljsd@i`F8`_VaA_Mh!&q3#GagU+r+f05VKJ;ld{Z9n^kk#nIr{~R)Ykov zG6PP&&5F%mbsq!FqipBhK>Lf7-(6g+G3v!X9p__B%4BOH?SO}p(Fv+0Wj^SDw4iOww!!?Q$n_T3ub}GJZ47ryArx%jhtly|BN&z6YilV>M3Ez zcy6=QFi-MO#K7jBAPvG``xV!p_Kzrj!YUAFk6)%wqe@tBp`MoVG+*8tU*TaWjPTLG z`Tpwj@7M`6jE?J_LG z@(^`x%r!VrPAlPR?T>}dL;q_^(>Ke?{lkLm0Y0N9U7rv4qgjT?=%H=uNGjU zH{M=RV^QW4`3)y=&Ym-Y=in;$s3bDyM)umgm45d7-&C}-yQ(*B3Y2BH9!rE}dNXCa zW4DF^P8SB1)W&Z8-FI#3>6el9YqNU5fJ;Yn_p`RGsqNj0-1o@5#ulU(!iU-%9hI4&(QFXoW|3sxhs3TrRhA;k z@mIbs7QJ^n_$eo7weLaa7G_*V%~_iV%3z7w4e@;Cngq<6bfPm%rRiWX1euf)bSBD$`Ew; zzvH8n%BzHvw`Gb$x6(_k2~lufJFKcRB|~9TDjH_a@618jmt4Nz?biP{i zfUEn*OMr}sc4;>TmgRSULCbfrdqsFN^&P$4x=eo`T?&{PVgaTzVJ@76U@+K8FklX< z?u^md^vL_(<8gV@+4gaM83w;{#$1n&qMlhg&Rj{<_}JvX2m&XU*?-C|v>l#Z7#V)b z`=&=4O()6N;I#`-(pXw=fx4CTjbgV9Aisy5A6A?B@4p}mB^;Vb&q@Lk*dn$nQQ3Kd z$^@t;zfj!X)IYNOmF!7G7?~{BKle^q2jzNfgoA#0nY4JV+I*004m{CLQ86^e<(jRg zVU_hd0QB~BM#M%tqGDnRYvmP2%m5?iq0`w4hk3{QLwtCKkX7WrpUXtEBMx`rMR~$N zs7(c0!L?^R<+8ih5ZB|dQ_V7#CJiS{r^Pq&(5(EEk#m`rWTw7|*=A*O2lWW^-mHk8 z)MY-@Luc{u+`$^SB=GIG6T>e@Jnk+dQ3wY%NBRV={mLwKz1G`_6j5}!!PqVO&RKY1 z&0RZ^2sC~$MDV#JlZZ=zo)N*OkVtE#HrxfES0Sl*?*uY48|<|l8rekNaZWF?vRp?XN38_sfzW4+{X@7q+F zG03^Tt(IRSY$MxG(Vl2YI%tInKR*0n1T4blnUkYqh}Pvf4|3@FMAr;kxT zr!>P75AbQ&bb?aC@Ol~`=-z*yJ^);ua`oLuB#h^p&p#Gi^P?I@r!gY9*6vf~yDB}1 z0t}y0Z9q1pQT6Qr3jH58=FUB@rM{UCG@q}|FXx%UO(-ZlmFi-ef-A@A`*g*tR?{gF zD!ZNx@FdUtFc?Pro+RelnF^DwUH6vDA`u3R856ZsTIzDrS3NCzIhA3AL&EPfpnj5M z_xmgT1OAGU^kLxX51gBuyJ_15^6964?sORv--hkX6W_+3opvVXW!B}_7gRnBjuVIf z&Qy|jk%7c!U0SXVyN+A~ar4H#ghui|dzbHaxmSefTCu_No!!9Gu_De0;LRRMA5-s# zI@$CRyaD_^i7%f|fCN%{Mr;)!#MdpBSR^k+pvAKba9@gmwNeJTd!wK*qXmu(? zI`zNmaAR0wPf=t8FpitK;-pW+fowz4Z_IJufe=TJ`#S8eUwgv^;7PJBJgHyh@iy8` ztX+uf+*tbU!!fZ|t{3eojdm=%KMyy4J54PvuSeJ8lOxTnIn16q{!K=;VFKnPgBfDC zYmSbNBu!TbPrOfOy&}TiJV^*HDS7M0WYpBnai#zs=hF#lA&&`w{{-=|F7S=JuU5(3 zCR^S^<*#H16yLkLl5{RaxW!iMKVL|tsXctg3@y!2W>5YK_ ztDSdk{I3XrcclKH-+_mX5C!6b;RWx%E)hEOj!3p|Jlnebb0ul~s=Z*`;FoJZFX~tlJ2V%I-{T3mj&Fo|(AvsJnI-Ox8BzONFpAHV6gAO8!_yUpk*GO+gME z)zngsWCLW=>FbAZ3lQo*7+~O~8nAT3fH^P-dY!ott*ovlit)yl_Yfjjqv{D4W+L8! zt*9(6hjyw_CoIQBq%@Qr3{tn?vBq%tL>U|pZ~09D(az1H9Ao`-7-5m zdJuExfv~=_>P&^6uVtd8-DH-e>-|KKB zYFf8lm!j|ilDTV+Sqe@N-Z@O^913tp)<>FgAD#051dN0Oy$6zurnhx&Wjr>M)6`$# z-?5^QneGrYBmnQAN`w-oj{zZeb)CyHS@JV_53Az%6nylDBfs20`2kxlH&l&8sgFp! z)ndkB;ny>odud$}Ae;Im*~eI@HejMk!9!^c&qV_3yUOb$`7tTaJ~BxVjYv~|8m29$ z^s~PieFsLr>ovWLk7C-J0igEIs!zh4&$Q}~hn0!!>VEGnF@RIQj?Yn=tLnEDdWhIq zLiRI1&x$cNd9P1S>Wcs7-iZ7|T>DN$!WI6S0^pU755F8& zXchYZNh$)CD{%o^rB=1N=vhhF;O6-2`ohGvEJ0U?)dl*nnx+EQpz_BQ5?rTwySdh= zL91~2qSM-Py7-f$)E{NI(Sh+u62-_>*V{LL+jJgJx_$FQI01M<82TXNrUmsK*~!?FSf9(EgyuH$PywBZsz9L65x(l&!N zdB+1#fdZO7K9o8m;#_e<(^{!N|Gl#EIxfmq)znasL*(YZ;F?LXdp-_=h?{`#W^~fx zHd@i#q`W0zFx~iH)#=p~Xl(+fmY|%=`*-=%weS2#6V%Uw!IQ|a=J^0)gBl3&*-th= zBs=vu>o^GucEQX{p$v%aabe=?{;sYdW51na!ME#z0J7ooYY;$xLDzuG26)nR#&Nze zCjjWPRJlFh9KE%3dUC46%cB^m?L&rFr6chGooJz%9#S7Gk}_p?cB1Xe*{fdu44k;j z1@PcP8{K1ePJh~cvX>Bp&B8wBG$v<>roW8;6RbM`P#NnU^0%BViAwfo0%hxz#E!u6 zZnS;j!QD=O_z-yiwTo$D7GsGAT+?maGxey>GUIG8t0;0M&qKW!`hvk(cjzgf|L2HT zHx)7%uE54PB1!h4!S2q_-AzukWn~>d|$5P2MHgW^i#U(y+nn9F~H{9@Q zNE_s6)MP$#Fs6GUG&|tQ^t-CNFZV)xtKfw|g0J;;!?89B89=rfD<~MwhpHGgNC&G4 zVBa_R?JYu)Nb6{K7Oox$;U`~j8-1+@MB47HJ>)WeGC~Zj#TKH>nkbMA0gM=+^8lgNxJ$X!g zD=@TZHDTueOr%nKAMpZ5q8Y-!4(bDP6apm6=stFZ{E6*a`HlH}yMq=#$%eQWAMtB2 zj8WRREtHz4X7 zt{e(P!Hj^9PTakm#A_%`AaOa>2`Q^7z`i)$ zCAo_fKje4`5Lm`1{UIEF{s03vN{I8v-9Vm}?0FE5lLH|4LKv`vk`m*Bo@LPuK^0oS z0Tp6}gHj$9hQyXjHobX7Z&B724CcOT;|OwAcu^AtkJU{Ku-Yyi~1PdGaln#MQ2#hez$*dylD$cS8@wBDvtz72U>N@0J4B>&pYhPFfA7 z_RPzdK5jg}lR%%Zuj;{hcq-w=#VN)HFYYO=(kbU$PLhaLggkc2(1-?8W|}_D|ME6z zQ*JoSIetq;%#iT|_Tt0zFba)}hs0sIX7hos#~N*a4d-<-0`|(ghV~rgKt7CZhStL` z{COe{z-OdaU+6XwCD4S&Wy6FNdK*t38^n$TEg)ooo@|I93j!|dW?R<0*-_`Pj+jVKE@BZAM}#6Sb+`-sfX zPJh^97wU*aj?;OEYDWqy$_D4l>8eV9Ilv3sGC;}|QK>V+d5SS$FYgvv)bQ%B{uQyv z0b1gFu+Mv)+(u8nL6EcjaqGU0T|f(p4rI0A4+eWF09=%}X*s?tk0lA73+m}a-<;R% zcHbmt5jFZzD7}n_+_{)A0eZ3?IL}@js5f8&*)MB_IHE#n%a4og1 z#`_7VOb}juyHx7W~S^C>;Ln;`E#aV_7i&`ls!R$FFGz_DBSbeN5VGx zoY-)eE6|0CL7mXKVe1Gn#r)ilm2ka)fiqFodD-VB0aQyRI=8ZZ&X^pNnhd@*C4SbTG+y|T0`I%t@W!&+r#;^FL9b|%{i{&at@%9d(Jlm zY|R&b-_&$)_w>YRXlyX=A12cWz)=f50Q8bJ$ucqXJ2VQs)V=*k^TAx5U;QIodmbd0 z2mvVtu?BcT)k}{9UAoPlAZZ2nWoT688!?NzFrw<;>LY3rrc>b4RAev__hR@tka>-@ zBks=cKHP_pay>!es6{=!MImHEW-4^0t_GUAGUsF-qj0FA=;rrZ25uwJyV<5c@_)3R zCkPUDUcEhtaSl|7sLwGy4jT%>$o4@&gvg6%EY#~J_ocWdA6=)s@6J5`WS^?}%`eQ? zhmiaQr&{h4R6LyL5yaD%7Wi2UdZyRK6&oF|BH(_VK|w50^=n`ar)k=7QxEBS$4jf~ z>T0IItIA$e_g;qi_tK4CokwGY$vhP6>)VmEG9K}+TS^L_8~46Unn+mIWZoC5&ajnh z^x;`INtTT@)<=ZpCBVR3nxEg|qxt%0dPrdlbFCXVX7Vq-_1G1UbH9A0-eLDEP00iO zME}ox(Di6R=OmGUk>~}g_Uh#2Aq#~1gHPb$it?)n@YH8`XRCd%UCHvgjif(CT^!O& zW#SaxGcA6mK&no5Q})DaWWJzuhU5E3a0#e23c+{x~;1<&TjMUf9&wTc;N41`r$8lHNLff(CcUiyR&dqjB8|FfUotgK6??Dbq ze9&!N_3{jgJU<>|?V|Is>c8P9w+yiL5LdmZ`v|USrhw&k(O1B+C}EBTZ$L_oX_ujV z4J_%o`JPn#t$>v(w1G5cs8kck#VLV-;x2X=0ai~dno zs-bOzHrd^RP~yz}-iwQi+{VVW4cmQ@)49v#AS564Vbdy)+4Vs2=kU00B3XV5E`9_X=Y&Pr zyPRNfJ|o_J%3^jq2{Gc=4rF=sJH^SQh9=)(4``o+P4WnyqgQ8jg9sH;D#R13Z zpUu$Q8?4qQk6)?Ty-a?HOwxUCnCs-~Sf?F+Au8YDewXot-Sj(70`|Pmf0Kd-U3YUb zMLeISMqg~YC*#fbVSnK0H$+E(lN9w#-31Ci>#ThrUui~fpg)KdPqwA#wNN9a4iSEn zr6#9CYN`C!fywTN-^Y21+dG~DH(>c1L^U)Zu@nKOp|;?^)XN?|Hffk8%_LfPgzrO< z1A8q;p6WUxNZk6+A9(AM#HTIy7P0ph3|fCLW5P>$K(!Ab%iL@z(?Mvg9eFl9Ll??_ zp+DNsH0qAz?dm6Y(WS43e<7P2a~4POruu&<$SUB0=$r;ISC{-AQcND}1jdbF3obbB_JHsf-A9CnRM{ILv)UU|o) zRK5P8Ml4nZ2gw_KM39RON<04j@+SCnaS|w*y>RWs$7o$WPF9mm+G7bIx&BSX{<|2U zK;P#02Y1h?AYX~i9(`C}3_S&)wSn8KkvPiexVX--BjMywMmThR+6~U5I#VM?PF=@JNh_Kk5+vvvdqp`;kkt z4^MT=BW%pG{LX)wxmq4?j_*GwxxKuKS=;RsfBV54o|ISt=aJLEWrdbygU_)VKKwSK zaSNz5!!ie@IW2$XFk|39`WgAWbL2$a6h-99hN#shfU0wXI2M~yI^3zb^2_wGkl#sJZJF9RyLue-&gziLw5% z?^#=1;L(?2+1oGyULcrW0~|}MX3Y~5KB}jwzzm{Fd{72w;WDC*N7Af4AVo(k2KKH- zNbo$^POYPJm}xE}oh40+#P+`4n!6|9w=u*4MN^rc698f>H>ZY;uTQ^(6L`utU)GS5 zlegZqVUe^gYe;2B=TYZSRnm7@AlYv1xC&QjvKNI5C_EIke4*+&Yl*xLM7uKT0;dfb zmqkX6^(0CND|{Ee)kHn^mnI>j&*vGZ&+qrPYpeOc4e1N}zNS#rRO;1@WeTBjD9UK22lu{B^I^!>JFFBf&K< zl@RieW7epn0UWV_61J}Q1$d%1)_1Q`MyTq@V3U<_i@)8Inq4yrhm^3s18)Qrlql%?t^2M0+(|Wb+NZ;ro2+6TfzoR7+}C z^->S%cL&`Z42K~DF~3y`J+w)y)3w)UOQzPN12v|%dA7hW;b2$zeNqnVIA3L-y{ksr5%0GjtzqMxD9hr z;GDn(8)IKjyey)!#gIrf==OU%W6j^_uO7I#wJBMV^+;e5AUQX^znI6iwBEKf`Uoh* zg7Tg_Gb41;C0B^!$<~8BTqfVkx#r7>?YU;$$Zkw`56@@P_Ro70ESYE0sRKZ`zV(MD zq%EZtn$kiXCi+cQ5#UBd3awMF^8s9C8zjhNi_9M_+=GBshrI3fAcxOdN#ptITD~dpknZg0N+GPL3jH02KKB|wa>@i^R9aPQ}s0K zX2T?EA5z=YOx;9)c-)@COJ6_PW_Q~Su`jGf{LNQd=+!ns1eZz+JZbnF!D!03=*Ks0 zmCtf_$xowRJSZgHxr*x6zZi48oMvzG8|*bwTjWqFyTU9OCszgjC*AHvp3Z)PH$vWU zqi&AUfCtj?b3MFM%wn|2AG8F#;`3G;Kz|Za9S;#8^?@S4vbEyp-#!6Naw_i1t2`^h z47yCM)sv~ai0(K7E`a{-0_vO2`J5wcDz2hTB)uHHR}z%+bat zQaXMTaD-;PGK!k$qQ7_j#I5(Iy$NC?EAlyFJlC+aV>PV>udL~+`{~Fhhq==m*^7*5 zOhFD1V0^CU4{i2vvp*0Ey!f4yeYi5gk+$=v5)0_V(^sTEjwF$H)t&NE!Wyhe;|-lW zTwdr-JSRA$f_3nYdT`6W9+%Zxd!wwbT4n5YOB5rGYgfCVgD#}YhE0H7kbgbKqW~%A zRu6&Lwat&c-va)N-LeBbY@LFLe)YqTV3+R99hUFm>%zYrwo4bu_)%rxIZ~WkP zW)L`E>as?(2GAU=e~EKCy9x3qiCiT+5-`TAF{Ie6`6SB~m-@f}s-8$E`P>Cj+(sh3 z(UZ4}p?7ciBUs7;Zp3dU^Cv?+c(MgGxwOAZ2J-5DlU5Cvd{Mtu)|jf4bAGX&={@x4 zsYUD2?Clx9)YV=m;5VK4Qu(2mBi{oN3x}qV3Tg5te#Il)mvVsFF0Lc@mBKe^S%$n9 z&b63slEoR^uac#^~Ewy;of`*OF}%uq8mDX8-|LVs1)2Q<@c^t|zQ;H2r{Q7c^*Yh_)a$fSY-oalHQShVJZsji?R39HK2t`er@FykB^}b-FKd1UJl&-%Jq4N zo5inlw0y*!f`rS58fI5(&k?hS%YLFWo?E3VR1;`)_PWH3pozgN%eV$j_l9zFj0wvR z{Rr3cJ+-y3!pVOrg7lH*`w1e{0Zr9sbxWK@Az@e*?i*Tl2M0V%H$gX-&Nsq_m)#y~ zWz9TCGN3}7IOz-hprgGW!1degJVvqwgGA3$ z=ppH8kw$+8=c8=6R}#)oxe%~Gv13R&M8?F|9*nj-_JnQz>Dbn13q2S zH6zM`dQW4)Pcy2g#&ccnr7`{q&XSFgk#>R-TTQ$~j4%+?Fup*5=R+tt^I{yFnjp_VYGdi8wf5Ja3PaOR|SBJkr7C)Imx?z#RKuz)D%K+R~iKn!kD| z##=o{jI0vV$d=;-T6sKKZBz9=t$$fYe(cMakWmSzV`ThLjg;Z|Zjtt~Y1>Lbk}Tzv zylSqF`R{gLcUn_?FNQTW%H|y(D^xwIo{<&xQg33VxSPWGgjoqeBNF^`|4FmT^vqM( z=ttqp8f)4eq*^Zve40m$6rHX5%dRQp5&GuIXjw@I>3@C6i&S{A5|i3s`jxz+AQLF9 zq>U5?NUXSKekSt_@see+ZDbW)TDZv}61F0!Hfbexs=6{G;Yn5T9|3m-tk?g>$#mT5 z?3os3-?LT8-G=1?*|YZ3GVjeI2B6CCs9JOHY_Gqh{pL=iSN{@gruZ%>q+NiK=npOccz>1 z;mv6lgY?zG*~osHdTg8-xGE@U9*8wIx3*zjGnBm;{;=>>A9rfp(Y(0|5L^n?Yn7?9hp+z6t(=x@$@P^2; zm`1GA)6>o>tIpx+$y0r2=lN40m2Wh(+`pTr@IhEdExTYJFEvWXK>yP`T zhBnBn4fsj{VXQ79U9<&#Vi)*Xz8=RA_2bg$@#bF-8*!4$<$`L(LfB6hM)?Mxj9u}h z&@Roxtj|f%lrP?FeVg^9`^*lh-gyO7pLv;2z&n6 z`Xy$90O~Ub+v0OXKw>w2r{GJqw|;JZ^zu4a7n7|gUwyyaBrsjCD@C<>oX!eXxIDbL zpp=tlbSN{`pj&XI65%r83dad9tS+!lAg*%G$xvGSs=^36XxCDgl^7kK;$p3?=;>g~ zW^h}Lq}boCzO8dv>>zoo-@4dW!_-nXcQp%D7b)|(yX z7#E1g!g84u!MtQ!?~SO}DoVyPAypd24`{UtY7_Rjw;HqcQ5~r6VMLzZFC{~6f}igf z2na#fUkhW$bL4gLXRl981}kzmIP9C1rZ#CbHwU;(7}&I12{aJm;Nm)c%1%F*)6m%M z<1yPG@D2zV{4~B;lzrE$Yi7SrlAXCto&hd`^(|9@iNVMU$v3f2K~KZpQ%8JNh_Uvn ztbU{0MgKQ7@H~Frxha+u(-B>efIK+zi%ibwHdebUQMw2b0F#sV7t@Z(AT~7i!|K}j zYi?$vyAcoX^yrSL=*-ZcO`ATk=SH~&V$0EFWXwr{^r9Jgcu_!gj7^CP*#5Hif<)l* z29VGn6#kSwK1fdo!;5vvX%YxO%q#b1{vIvPYphso6=&h*=p)~m{}$glB8!y3n~y)! z;y2lh0dp{uMjjh(&T_9l08*X7EP#mU6W~g3k;VFOn+^%XEEZaZ$MzEnB zEf5exC+>}->-QU_G?=h`;5=uWK^WmAjn0ovOj3Ct9_&^`7#f9RK2^1ESi2S(bb&J+OqXZQa=+2m4u4e*hOuRn5!s=I+ZcTfjAQTnMAokUVK0=WCFlpv2ZLSjMzf> z7Y`=3pB{a0Z0k=wSszVM0NH4>dHjxHp8QPAAP&tg`Y13k``QfBnVvStMl#A&T^BKg zHD4+|n4L9wU6h=ssRS(>0lKmXxY}VnGKF#2K>&X(|7(!6&(0B_nVg4lP_lMeD7Kwer*|6;e0qZ%FcF4Np!_iZ4ftJe56#3BVfN(nK(^{R{B2?)suT9siwrlS|4Y z0>JO6>BDsgL7Rkt!~MN=fAS z_@w>&o8rYpD$@tWlO-*?CDq6V9~YNB+0TRMDHrs`W_7?kTsx}ux@+F)`?x(-57f!h z@^)!)anY=J(mum;cM5ALI;Oqr?7oh}_;ao95m?x}J>=|t*5yo^=t18at-4cfkmpND z(uWh?&82$wYDeGDIaQzcZGGf^iSNBPHlFmTox2GmFo(F1W>%sI^;_OfwQp=}WHd@N zqTfKBypji{w zt8;;DHyt8#u2Rebh)PVGFUo9_ZiB8r)MzkGip7E1&c_O6JbaH_1_7p!y4F1)>q;T8)>4CESUB9Q*#Roae%)yPN&FgK|FRN8< z_*CJ@`&*vr1>c8CS2mh?|J9D={<18MUNY!lY3;1<1t98nn*h29vw)Spgeaw6MRR*M zAyOEqKRVi;?vhR*m(9uRgL}YJuJBYK2Hh|16DsDux%7q`Po6%foRSi@x~wBMA-~}d zKPS(V!(SiLW{bOK=4?BaCY<#p&r9Y7QORrCITt!!M|*c32*!+2^&uhcQK@_kH-n+! z*#?ysYsBIeL9)@Yu^otQUc}(wrzus7bOwtrb8=a`-}t}b#ONGE$JW64fIQ?BTImI+ z8VNBec2b(CglMKT$`^8#I`35rFah@qL2+@s&Q7(YZ@=$Q+pd+awB4YEkRUB6zmvH1 z!DyOE^QCy}@f`{yZFICk5&_4O>@l|CUE8LHT{sP>^Cw%3_SMYpzMo(o#lcatm-ztkW99p)dq36cV)gm)P3-@XD0kV#CC`Zv{vv!)Tq!SjXnd2eD8BG z3ZxAJ_G(p+njxTG;C^SsT_A7wuTSS&H&czAe6E4TfB-$%&3nA7>#S|1>$y<%#>|ZI zXnY)K`4^35yw@^iJPccJK$Cf`ANSF0l8h+g0$Ox`RSO#jhq9xsBdjJbk4+K>mujA_ z^s37&;7B0QMQV-?Ws}i}zN)2qLE=1L@36KR&J@V`od*}^^F^h%oBekiU;FQV_V(Q0 zS*ii^_Cy-Bqj+Q$w^Fl>A|xz`QFS6vn2HI=%rmPXuJPbb=D zV3X}(356c)0p-*>bAF^(K46LIYEkFS6s^J$7E{)#%D z<3wU_MGS_Odm_|0-i{=xv#ORuIAS=Jj@fUvc6Z}$C>4)wxClu|IuCxUM`6!mX*kUu zL;%sAGOArOzt>tIon>oi6C0pM0Z(l{M{M*nJ;>)Nj`6G3w6t~M=xtamD{<?{{%d`AE)o7)QqX96R7B3hitpci1lF8!JDk*2Bys** z>%9Bb58Vu0fW(g`9o{TSY3W&MnZQTv>>NPN;ZC=ezbzPXFY@oarWua=-0!O)DvmX0 z0m4N!3S@u$tfS82Cm|t`S6q$ddr8Tvm8ZikZNU48srl@4)av*cjjQKdP=WD$2EM0}2Qz3J9olE9n3NLrXUZNaxVf42?)gcQe2M(%m_f zh%`ehNcYg)5`GWoJLkObyVmpfS?gYR?6|IL?+p>isLY)x)Lw!sFu#-ON~c@D?o|_Y zVsBGsrswJoD=bgQQepKiE%4|j;&pa*7S&YN@cPowz_Ay0W$9vPw+#?h z#y^YSSDFu|Hj-V?jhbgRUmp$B3$EL<-aQS`446C}ihiqqD-5wpqx}q5nybuZOwY9o zPHZ*>VJ~5e8drOjY`4xmHY$qiDsIn3F3B{0CA34K{r|MG7E&mL$tOk*d3mcNMEE_5 zrAnI^U-q<%d`Oe7_cO6Sw8xmXvJ96_|X6AJ&}E5dx;^2k{Tj zkC)MgZmzCkhK5wElsfmt#l>Y4W~~a+@mVy>qb&NbcX;i--f-|5R8~3OdaO_8ly$Rv zj50`PjPpiZra;ceo4vAw+k&Y)a#uFznguFhUR^APpZd1mSkLnc3ElXQ-orMsv3c4p z)w8&9!51NYn#a$J2d$}*O;1Tp4Jz6!+8~dzGk(EY1lV!;Rd~k7E_HH4y&e~asF)Jo zxCf1Lh`1l|dwX_o2;@K>!ms(z3g?}>ctwj^mKxny zOE%;gFF#K6vr)6jDoZ11fP%4LB?PxR?j#xj12X`&s== z2_e+7bv)6fZma*dJSz&uL+}*ZDuG-pwx!q&YKjIT(-S7~K4K_y9%v37WI=Cq`zk?d zYUx)?`=<@8d3$sKS0jW5W?zU@T-oP|v>hxj?{su^dD@`^*%ZuVS)}c%H9R|ba&M~H zV)SfxW(n9SV?ZVU8uaPui&LG+gM)+Lh2MNUtJJqb#`>gMK{J-zA0mTFc}-8WqE&xd z*VO6Q)>GcRFZqf1Q1;?$M)){VNs(XK6BH1D7OFEV z;&bTYejf-jcHgXaR{6~}6oy?AZJ~Fw6?AHS+{W-61zzeozcsZzIhY0}Ih0a9f9`j) zwGV8k!|KMUME@XCL7ZHXG<{y2MWfW+*g|u%+SwmVJFyx>Dm0NzmQgtI!(uzKn>@F{ zHL?-EuaU#!q)Df2P(fKa`uybNA?t>&gN}M&MoLENi=xSGlhFlZHWY-Q!QB!Bcl~Yk z`gP+2l9N*=CxN|N3diGV=ulHm>;5y~DHR10Ln}886+7X+OQv|A#?gc=z@>i+Vr?aNMB%hc+DVQ zI{=3ulmA@ooi9IVDi`uPe_9A=S+)%uOvfcjZ=$23qBf+|J53zB8q$Juz7}n4Q7jk@ zN|5e9pRy#klksSLS3y-iX&nr3&*DE3TM~5|>0tMRl+O#-C|+qwUq=1p<<+tx@7}-@C>KzMm2S69*7-V&YT+v0-LtqHIHZKsP=qyr zS9Fgni`;zgQaucFpV?4)nem3NTwt8Goa+#ZEg*e{iHh@73BRU5th z3fNeEiq=nGbkeVeM@L7mL~f%0H0DWycw5has$xz6ibU~Mn;8lbKp)4Hm+Diz<^Uyk z7n)w9Hr_PnEwtq;aXh_eqJeoIUGe_$Q)nL^al46LP@I#wo97X>OmlTLOx_4IDHQ>m z$pIMpXHYOisWE6!q6!>qJEDMGO8*rxtF4*KfeNrZydO7z>#xg?!J&(EIc*nd+4fHS z^QKXTobnm7QoZ{9AYdhpRnWte zWip2)d>rqOs3+`g#ARjCA9*<2ur|2_?n&j0l6q5gsyh5R7-Nv0aZ7jzy`HMSDH_iS z)|BwEC`9uIzZY5NR|~xGc#ABY$>mFRX7<#Px3D253KUy1D$^hP96nDP$fJ1I zBs35dEIs3{1%#U-;{jddk+AQ^mctrIK&|4tF!VU`1!l2OMze8J0+j2KYbbHA*?p|+ zw32XjWSJ?bz!=yRyJi639aKYxj+Ekhk`pQ;ao~YE;w-7nbb=9Z5jl9KAx{%WtFBa& z7x^XAJH%jVsU-SoTtM5M3ZO0j`Y#oLQDLtM?j3{r|DP?5F0zXN+Cc<$jsR2CW?M|u z|H-zfU1C$I#3TNozK0pNnPIO%c7GPl_G^5t`mikda|^w|k-#^|pDQ8YtZtZm*DSVS z*PTp33)y9Y{ArFmGO6qTtMC0`EtY!BS|~Vu>d9K zb&|KB;0$hJC?5fk#>t5LQH_Dfv(HWH`yu$>A?1;?#htS<>U?Qq7jn z6%sblI7_W&Nxod@ga- zY74N>9);(n~Et6|_*JNzq+oHkJ>STLqJ zT};Y&N)PlGZ-T#xo5)U|D`}(YNyXBjfKcr{0hILb$7m-BJm$HArfO6ec(M|^3ts*i z0Z|enva8Ek8S|)ckSW&Q+>`zjzFl|Fzk8mgEHA-o9M>u{Cadi$MMDe?59(ChcelT+ z0F;W8i*aKQ{X~00b#HcLP`Cj8TC0_Z< zL=%@)jwfn}d`j=`!j@AX}ynvcT32Xqp$lJy+}3&9yGH0jsq?;-YR zJ*BGIa!l7mK|xDFoMMwtEO1VDJ|W>sd2}dKT2xR_SMvNBcH-CVoq*l&q$F31L^vRj z`TJ9%kAgK1E8ULhzlE@8e9pMveZRTQql8{RkjtUrEC`N=Im+i}%M-boPWoYT<&#^z zZ#M%!kz(qeH?w{{z!cXJLw%6I%OLGhL*lehj>f?To}1${#W1NLM~m&C@#aUtL0kR& zEqb%pSNr83i*txFv}$W>bF?=B^!D#npd^esXO$>G7Co@=<{F+4o2!q<>=oiM?a1av zt%jLE!E`7=P{9OnuIOCvjX=S7w$n}xVz)qPWnmWCrFT-LzCAYaR_GQI1p6#n$ed_Q zcy1^?Jm${LVR9T+%vn=nM5=M6fHwF@Xxz--A?2Xy!jKLXS6=!^t1a7Md%vy3$vY1t znw64W2&=@>@iE3^9zChJv)6VeY582X zB_?_vj52@Jn{3^mu`mzS2D|e>@D=O@HbcQ#w5VFxJqA=55G9=%b&>-LhY+wn2ega) zl3wUJRg96Vc0CN*P_{s{36TbhxSr0-HH!H;~*1;Kx?+5D5AyHDjp}rbiWM9^cgW*JYbZ~BM$k6loA&F5y zZ73XHuUOFuXG#JbF$s~jde2W0_ zF5k)XP+y8*@}A{1v4K;Kpj>q|(6rYqCRXfgXbflHPsZDPGwE0UX*UeA{nI7Fa zn|Wv0Fn9Y?Ll6dUy2(kP2_&8523t*bhR8rQe?x@&8n0h*hkle|^EyiZk+KRYy}ni7 zR{+`VG(qOYijR%g76$Jp|>YaLok&HIVoJ%r1nxTPBLHSmCp!M1<#pDK+cEx9*%`I6Si_fTK zkBCGY-U`sJ%$kLRan>scE8m48?&O`*lI1Y#m!M>ZbwboD6#O?GMIYs}@=+YOy5